byteorder, htonl, htonll, htons, ntohl, ntohll, ntohs - convert values between host and network byte order
#include <sys/types.h> #include <netinet/in.h> #include <inttypes.h> uint32_t htonl(uint32_t hostlong);
uint64_t htonll(uint64_t hostlonglong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint64_t ntohll(uint64_t hostlonglong);
uint16_t ntohs(uint16_t netshort);
These functions convert 16-bit, 32-bit, and 64-bit quantities between network byte order and host byte order. On some architectures these routines are defined as null macros in the include file <netinet/in.h>. On other architectures, the routines are functional when the host byte order is different from network byte order.
The functions to convert from network to host byte order are most often used in conjunction with Internet addresses and ports as returned by getaddrinfo(3C), gethostbyname(3C), and getservbyname(3C).
See attributes(7) for descriptions of the following attributes:
|
getaddrinfo(3C), gethostbyname(3C), getservbyname(3C), inet.h(3HEAD), attributes(7)
The htonll() and ntohll() functions were added to Oracle Solaris in the Solaris 11.0 release.
The htonl(), htons(), ntohl(), and ntohs() functions have been present since the initial release of Solaris.