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>
 
Kernighan-Ritchie-C:
char *inet_ntop(af, addr, dst, size);

int af;
char *addr;
char *dst; int size;

 
int inet_pton(af, addr, dst);

int af;
char *addr;
char *dst;

ANSI-C:
char* inet_ntop(int af, char* addr, char* dst, int size);
int inet_pton(int af, char* addr, char* dst);


Beschreibung

Die Verwendung der Funktionen inet_ntop() und inet_pton() ist nur in den Adressfamilien AF_INET und AF_INET6 sinnvoll.

Die Funktion inet_ntop() konvertiert die binäre IP-Adresse, auf die der Parameter addr verweist, in eine abdruckbare Notation. Dabei spezifiziert der im Parameter af übergebene Wert, ob es sich um eine IPv4-Adresse oder um eine IPv6-Adresse handelt:

  • Falls in af der Wert AF_INET übergeben wird, wird eine binäre IPv4-Adresse in eine abdruckbare dezimale Punkt-Notation konvertiert.

  • Falls in af der Wert AF_INET6 übergeben wird, wird eine binäre IPv6-Adresse eine abdruckbare sedezimale Doppelpunkt-Notation konvertiert.

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 Sie beim Aufruf von inet_ntop() die Integer-Konstanten INET_ADDRSTRLEN (für IPv4-Adressen) bzw. INET6_ADDRSTRLEN (für IPv6-Adressen) als aktuelle Werte für size verwenden. 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 spezifiziert der im Parameter af übergebene Wert, ob es sich um eine IPv4-Adresse oder um eine IPv6-Adresse handelt:

  • Falls in af der Wert AF_INET übergeben wird, wird eine IPv4-Adresse konvertiert.

  • Falls in af der Wert AF_INET6 übergeben wird, wird eine IPv6-Adresse konvertiert.

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 dient, achten Sie darauf, dass die Anfangsadresse des Zielbereichs 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:

1:

bei erfolgreicher Konvertierung.

0:

wenn der Input kein gültiger Adress-String ist.

-1:

wenn ein Parameter ungültig ist.

Fehleranzeige durch errno

EAFNOSUPPORT

ungültiger Operand

ENOSPC

Ergebnispuffer zu klein