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
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.