BYTEORDER(3)

BYTEORDER(3) | Library Functions Manual | BYTEORDER(3)

# NAME

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

# LIBRARY

Standard C Library (libc, -lc)

# 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

bswap(3), gethostbyname(3), getservent(3)

# STANDARDS

The described functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

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

May 3, 2011 | NetBSD 8.3