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 9.2