|
Beschreibung
Die Makros htonl(), htons(), ntohl() und ntohs() setzen Shorts und Integers von Rechner-Byte-Reihenfolge in Netz-Byte-Reihenfolge um bzw. umgekehrt.
Die Definitionen der Datentypen in_addr_t und in_port_t in <arpa/inet.h> entsprechen den Definitionen in <netinet/in.h>.
Diese Makros werden meistens im Zusammenhang mit IPv4-Adressen und Portnummern verwendet, wie sie z.B. die Funktionen gethostbyname() und getservent() liefern. Die Makros werden nur an Systemen benötigt, an denen Rechner- und Netz-Byte-Reihenfolge unterschiedlich ist. Die Makros werden für POSIX/BS2000 in der Include-Datei <arpa/inet.h> als Null-Makros (Makros ohne Funktion) bereitgestellt:
htonl() setzt 32-bit-Werte von Rechner- in Netz-Byte-Reihenfolge um.
htons() setzt 16-bit-Werte von Rechner- in Netz-Byte-Reihenfolge um.
ntohl() setzt 32-bit-Werte von Netz- in Rechner-Byte-Reihenfolge um.
ntohs() setzt 16-bit-Werte von Netz- in Rechner-Byte-Reihenfolge um.
Returnwert
htonl() und htons() liefern den in die Netz-Byte-Reihenfolge konvertierten Wert des Eingabeparameters zurück.
ntohl() und ntohs() liefern den in die Rechner-Byte-Reihenfolge konvertierten Wert des Eingabeparameters zurück.
Siehe auch
gethostbyaddr(), gethostbyname(), gethostent(), getservent()