byteorder.h¶
Functions to work with different byte orders.
-
_byteorder_swap
( V, T)¶ Swaps the byteorder according to the endianess.
1
(byteorder_swap##T((V)))
-
be_uint16_t
network_uint16_t
¶ A 16 bit integer in network byte order.
-
be_uint32_t
network_uint32_t
¶ A 32 bit integer in network byte order.
-
be_uint64_t
network_uint64_t
¶ A 64 bit integer in network byte order.
-
be_uint16_t
byteorder_ltobs
(le_uint16_t v)¶ Convert from little endian to big endian, 16 bit.
Parameters
v: The integer in little endian. Return values
v
converted to big endian.
-
be_uint32_t
byteorder_ltobl
(le_uint32_t v)¶ Convert from little endian to big endian, 32 bit.
Parameters
v: The integer in little endian. Return values
v
converted to big endian.
-
be_uint64_t
byteorder_ltobll
(le_uint64_t v)¶ Convert from little endian to big endian, 64 bit.
Parameters
v: The integer in little endian. Return values
v
converted to big endian.
-
le_uint16_t
byteorder_btols
(be_uint16_t v)¶ Convert from big endian to little endian, 16 bit.
Parameters
v: The integer in big endian. Return values
v
converted to little endian.
-
le_uint32_t
byteorder_btoll
(be_uint32_t v)¶ Convert from big endian to little endian, 32 bit.
Parameters
v: The integer in big endian. Return values
v
converted to little endian.
-
le_uint64_t
byteorder_btolll
(be_uint64_t v)¶ Convert from big endian to little endian, 64 bit.
Parameters
v: The integer in big endian. Return values
v
converted to little endian.
-
byteorder.h::network_uint16_t
byteorder_htons
(uint16_t v)¶ Convert from host byte order to network byte order, 16 bit.
Parameters
v: The integer in host byte order. Return values
v
converted to network byte order.
-
byteorder.h::network_uint32_t
byteorder_htonl
(uint32_t v)¶ Convert from host byte order to network byte order, 32 bit.
Parameters
v: The integer in host byte order. Return values
v
converted to network byte order.
-
byteorder.h::network_uint64_t
byteorder_htonll
(uint64_t v)¶ Convert from host byte order to network byte order, 64 bit.
Parameters
v: The integer in host byte order. Return values
v
converted to network byte order.
-
uint16_t
byteorder_ntohs
(byteorder.h::network_uint16_t
v)¶ Convert from network byte order to host byte order, 16 bit.
Parameters
v: The integer in network byte order. Return values
v
converted to host byte order.
-
uint32_t
byteorder_ntohl
(byteorder.h::network_uint32_t
v)¶ Convert from network byte order to host byte order, 32 bit.
Parameters
v: The integer in network byte order. Return values
v
converted to host byte order.
-
uint64_t
byteorder_ntohll
(byteorder.h::network_uint64_t
v)¶ Convert from network byte order to host byte order, 64 bit.
Parameters
v: The integer in network byte order. Return values
v
converted to host byte order.
-
uint16_t
byteorder_swaps
(uint16_t v)¶ Swap byte order, 16 bit.
Parameters
v: The integer to swap. Return values
- The swapped integer.
-
uint32_t
byteorder_swapl
(uint32_t v)¶ Swap byte order, 32 bit.
Parameters
v: The integer to swap. Return values
- The swapped integer.
-
uint64_t
byteorder_swapll
(uint64_t v)¶ Swap byte order, 64 bit.
Parameters
v: The integer to swap. Return values
- The swapped integer.
-
uint16_t
byteorder_bebuftohs
(const uint8_t * buf)¶ Read a big endian encoded unsigned integer from a buffer into host byte order encoded variable, 16-bit.
Note
This function is agnostic to the alignment of the target value in the given buffer
Parameters
buf: position in a buffer holding the target value Return values
- 16-bit unsigned integer in host byte order
-
void
byteorder_htobebufs
(uint8_t * buf, uint16_t val)¶ Write a host byte order encoded unsigned integer as big endian encoded value into a buffer, 16-bit.
Note
This function is alignment agnostic and works with any given memory location of the buffer
Parameters
buf: target buffer, must be able to accept 2 bytes val: value written to the buffer, in host byte order
-
uint16_t
htons
(uint16_t v)¶ Convert from host byte order to network byte order, 16 bit.
See also
Parameters
v: The integer to convert. Return values
- Converted integer.
-
uint32_t
htonl
(uint32_t v)¶ Convert from host byte order to network byte order, 32 bit.
See also
Parameters
v: The integer to convert. Return values
- Converted integer.
-
uint64_t
htonll
(uint64_t v)¶ Convert from host byte order to network byte order, 64 bit.
See also
Parameters
v: The integer to convert. Return values
- Converted integer.
-
uint16_t
ntohs
(uint16_t v)¶ Convert from network byte order to host byte order, 16 bit.
See also
Parameters
v: The integer to convert. Return values
- Converted integer.
-
uint32_t
ntohl
(uint32_t v)¶ Convert from network byte order to host byte order, 32 bit.
See also
Parameters
v: The integer to convert. Return values
- Converted integer.
-
uint64_t
ntohll
(uint64_t v)¶ Convert from network byte order to host byte order, 64 bit.
See also
Parameters
v: The integer to convert. Return values
- Converted integer.
-
union
le_uint16_t
¶ A 16 bit integer in little endian.
This is a wrapper around an uint16_t to catch missing conversions between different byte orders at compile time.
-
union
le_uint32_t
¶ A 32 bit integer in little endian.
This is a wrapper around an uint32_t to catch missing conversions between different byte orders at compile time.
-
union
le_uint64_t
¶ A 64 bit integer in little endian.
This is a wrapper around an uint64_t to catch missing conversions between different byte orders at compile time.
-
union
be_uint16_t
¶ A 16 bit integer in big endian aka network byte order.
This is a wrapper around an uint16_t to catch missing conversions between different byte orders at compile time.
-
union
be_uint32_t
¶ A 32 bit integer in big endian aka network byte order.
This is a wrapper around an uint32_t to catch missing conversions between different byte orders at compile time.
-
union
be_uint64_t
¶ A 64 bit integer in big endian aka network byte order.
This is a wrapper around an uint64_t to catch missing conversions between different byte orders at compile time.