byteorder

Deklaration

#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);

Beschreibung

Diese Funktionen wandeln mehrbytige Zahlenwerte von Host Byte Order in Network Byte Order und umgekehrt um. Die Benennung der Typen mit long und short stammt aus der Zeit, in der ein long int 32 Bit und ein short int 16 Bit lang war. Durch die Verwendung der Ganzzahltypen mit fester Bitbreite ist sichergestellt, dass die Funktionen auch auf 64-Bit-Systemen korrekt arbeiten.
Auf Systemen, bei denen die Host Byte Order der Network Byte Order entspricht, existieren diese Funktionen, geben ihren Parameter jedoch unverändert zurück.

Details zum Thema Byte Order sind auf der Seite Hintergrundwissen zu finden.

Parameter

hostlong 32-Bit Wert in Host Byte Order
hostshort 16-Bit Wert in Host Byte Order
netlong 32-Bit Wert in Network Byte Order
netshort 16-Bit Wert in Network Byte Order

Rückgabewert

Konvertierte Zahlenwerte.

Typische Fehler


Zurück