|
Beschreibung
Die Funktion inet_ntop() konvertiert die binäre IP-Adresse, auf die der Parameter addr verweist, in eine abdruckbare Notation. Dabei legt der Wert des Parametes af fest, ob es sich um eine IPv4-Adresse oder um eine IPv6-Adresse handelt:
AF_INET: Es wird eine IPv4-Adresse konvertiert.
AF_INET6: Es wird eine IPv6-Adresse konvertiert.
Die Funktion inet_ntop() liefert die abdruckbare Adresse in dem Puffer der Länge size zurück, auf den der Zeiger dst verweist. Eine ausreichende Dimensionierung des Puffers ist gewährleistet, wenn die Größe den Integer-Konstanten INET_ADDRSTRLEN (für IPv4-Adressen) bzw. INET6_ADDRSTRLEN (für IPv6-Adressen) entspricht. Beide Konstanten sind in <netinet/in.h> definiert.
Die Funktion inet_pton() konvertiert eine IPv4-Adresse in dezimaler Punkt-Notation oder eine IPv6-Adresse in sedezimaler Doppelpunkt-Notation in eine binäre Adresse. Dabei legt der Wert des Parametes af fest, ob es sich um eine IPv4-Adresse oder um eine IPv6-Adresse handelt:
AF_INET: Es wird eine IPv4-Adresse konvertiert.
AF_INET6: Es wird eine IPv6-Adresse konvertiert.
Die Funktion inet_pton() liefert die binäre Adresse in dem Puffer zurück, auf den der Zeiger dst verweist. Der Puffer muss ausreichend dimensioniert sein: 4 byte bei AF_INET und 16 byte bei AF_INET6.
Hinweis
Wenn der Output von inet_pton() als Input für eine neue Funktion dienen soll, achten Sie darauf, dass die Anfangsadresse des Zielbereiches dst eine Doppelwort-Ausrichtung hat.
Returnwert
inet_ntop() liefert bei erfolgreicher Ausführung einen Zeiger auf den Puffer zurück, in dem der Textstring abgelegt ist. Im Fehlerfall wird ein Null-Zeiger zurückgeliefert.
inet_pton() liefert folgende Werte zurück:
0:
Bei erfolgreicher Konvertierung.
1:
Wenn der Input kein gültiger Adress-String ist.
-1:
Wenn ein Parameter ungültig ist.
Fehleranzeige durch errno
EAFNOSUPPORT
Ungültiger Parameter af angegeben, oder die Funktion wird an diesem System nicht unterstützt. Siehe dazu auch "Abhängigkeiten vom BS2000- Transportsystem BCAM".
ENOSPC
Der Ergebnispuffer ist zu klein.