Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Byteorder-Makros - Byte-Reihenfolgen umsetzen

&pagelevel(4)&pagelevel

#include <arpa/inet.h>

in_addr_t htonl(in_addr_t hostlong);
in_port_t htons(in_port_t hostshort);
in_addr_t ntohl(in_addr_t netlong);
in_port_t ntohs(in_port_t netshort);

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()