Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ntohs(3C)

Name

byteorder, htonl, htonll, htons, ntohl, ntohll, ntohs - convert values between host and network byte order

Synopsis

#include <sys/types.h>
#include <netinet/in.h>
#include <inttypes.h>

uint32_t htonl(uint32_t hostlong);
uint64_t htonll(uint64_t hostlonglong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint64_t ntohll(uint64_t hostlonglong);
uint16_t ntohs(uint16_t netshort);

Description

These functions convert 16-bit, 32-bit, and 64-bit quantities between network byte order and host byte order. On some architectures these routines are defined as null macros in the include file <netinet/in.h>. On other architectures, the routines are functional when the host byte order is different from network byte order.

The functions to convert from network to host byte order are most often used in conjunction with Internet addresses and ports as returned by getaddrinfo(3C), gethostbyname(3C), and getservbyname(3C).

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe

See Also

getaddrinfo(3C), gethostbyname(3C), getservbyname(3C), inet.h(3HEAD), attributes(7)

History

The htonll() and ntohll() functions were added to Oracle Solaris in the Solaris 11.0 release.

The htonl(), htons(), ntohl(), and ntohs() functions have been present since the initial release of Solaris.