BYTEORDER(3) Library Functions Manual BYTEORDER(3)
NAME
htonl, htons, htonll, ntohl, ntohs, ntohll – convert values between host
and network byte order
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <arpa/inet.h>
uint64_t
htonll(uint64_t hostlonglong);
uint32_t
htonl(uint32_t hostlong);
uint16_t
htons(uint16_t hostshort);
uint64_t
ntohll(uint64_t netlonglong);
uint32_t
ntohl(uint32_t netlong);
uint16_t
ntohs(uint16_t netshort);
DESCRIPTION
These routines convert 16 bit, 32 bit, and 64 bit quantities between
network byte order and host byte order. (Network byte order is big
endian, or most significant byte first.) On machines which have a byte
order which is the same as the network order, routines are defined as
null macros.
These routines are most often used in conjunction with Internet addresses
and ports as returned by gethostbyname(3) and getservent(3).
SEE ALSO
gethostbyname(3), getservent(3)
STANDARDS
The byteorder functions except htonll and ntohll are expected to conform
with IEEE Std POSIX.1-200x (“POSIX.1”)
HISTORY
The functions htonl, htons, ntohl, ntohs appeared in 4.2BSD.
The functions htonll and ntohll first appeared in OS X 10.10 (Yosemite).
BUGS
On the VAX bytes are handled backwards from most everyone else in the
world. This is not expected to be fixed in the near future.
macOS 15.2 June 4, 1993 macOS 15.2