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>.
2017-09-15 | GNU |