Write a misaligned 16-bit value safely
#include <gulliver.h> void UNALIGNED_PUT16( uint16_t *loc, uint16_t num );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The UNALIGNED_PUT16() macro lets you write the value num at the misaligned address loc without faulting.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
UNALIGNED_PUT16() is implemented as a macro.
ENDIAN_BE16(), ENDIAN_BE32(), ENDIAN_BE64(), ENDIAN_LE16(), ENDIAN_LE32(), ENDIAN_LE64(), ENDIAN_RET32(), ENDIAN_RET64(), ENDIAN_SWAP16(), ENDIAN_SWAP32(), ENDIAN_SWAP64(), htonl(), htons(), ntohl(), ntohs(), UNALIGNED_PUT32(), UNALIGNED_PUT64(), UNALIGNED_RET16(), UNALIGNED_RET32(), UNALIGNED_RET64()