Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

inet_ntop(), inet_pton() - Internet-Adressen manipulieren

&pagelevel(4)&pagelevel

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

char *inet_ntop(int af,void *addr,char *dst,size_t size);
int inet_pton(int af,char *addr,void *dst);

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.