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