| BYTEORDER(3) | Library Functions Manual | BYTEORDER(3) | 
htonl, htons,
    htonll, ntohl,
    ntohs, ntohll —
    convert values between host and network byte
  order
Standard C Library (libc, -lc)
#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);
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).
The byteorder functions except
    htonll and ntohll are
    expected to conform with IEEE Std POSIX.1-200x (“POSIX.1”)
The functions htonl,
    htons, ntohl,
    ntohs appeared in
  4.2BSD.
The functions htonll and
    ntohll first appeared in OS X 10.10 (Yosemite).
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.
| June 4, 1993 | macOS 15.6 |