BYTEORDER(3) Руководство программиста Linux BYTEORDER(3)

ИМЯ

htonl, htons, ntohl, ntohs - переводят данные из узлового порядка расположения байтов в сетевой и наоборот

ОБЗОР

#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);

ОПИСАНИЕ

Функция htonl() преобразует значение беззнакового целого hostlong из узлового порядка расположения байтов в сетевой порядок расположения байтов.

Функция htons() преобразует значение короткого беззнакового целого hostshort из узлового порядка расположения байтов в сетевой порядок расположения байтов.

Функция ntohl() преобразует значение беззнакового целого netlong из сетевого порядка расположения байтов в узловой порядок расположения байтов.

Функция ntohs() преобразует значение короткого беззнакового целого netshort из сетевого порядка расположения байтов в узловой порядок расположения байтов.

В архитектуре i386 используется узловой порядок расположения байтов — последний значимый байт стоит в начале числа (Least Significant Byte), в то время как сетевым порядком байт, используемым в интернет, считается Most Significant Byte (в начале числа стоит последний значимый байт).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
htonl(), htons(), ntohl(), ntohs() Безвредность в нитях MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008.

В некоторых ОС требуется включать <netinet/in.h> вместо <arpa/inet.h>.

СМОТРИТЕ ТАКЖЕ

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

2017-09-15 GNU