BYTEORDER(3)

NAME
htonl, htons, ntohl, ntohs - convert values between host and network byte order

LIBRARY
libc

SYNOPSIS
#include <arpa/inet.h>
uint32_t
htonl(uint32_t host32);
uint16_t
htons(uint16_t host16);
uint32_t
ntohl(uint32_t net32);
uint16_t
ntohs(uint16_t net16);

DESCRIPTION
These routines convert 16 and 32 bit quantities between network byte order and host byte order.

On machines which have a byte order which is the same as the network order, these routines are defined as macros that expand to the value of their argument.

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 htonl(), htons(), ntohl(), and ntohs() functions conform to p1003.1-2001. Their use of the fixed-width integer types uint16_t and uint32_t first appeared in xns5.

HISTORY
The byteorder functions appeared in 4.2BSD.

BUGS
The `l' and `s' suffixes in the names are not meaningful in machines where long integers are not 32 bits.