#include <sys.socket.h>
#include <netinet.in.h>
#include <arpa.inet.h>
Kernighan-Ritchie-C:
unsigned long inet_addr(cp);
char *cp;
int inet_lnaof(in);
struct in_addr in;
struct in_addr inet_makeaddr(net, lna);
int net;
int lna;
int inet_netof(in);
struct in_addr in;
unsigned long inet_network(cp);
char *cp;
char *inet_ntoa(in);
struct in_addr in;
ANSI-C:
unsigned long inet_addr(char* cp);
int inet_lnaof(struct in_addr in);
struct in_addr inet_makeaddr(int net, int lna);
int inet_netof(struct in_addr in);
unsigned long inet_network(char* cp);
char* inet_ntoa(struct in_addr in);
Beschreibung
Die Verwendung der Funktionen inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof() inet_network() und inet_ntoa() ist nur in der Adressfamilie AF_INET sinnvoll.
Die Funktion inet_addr() konvertiert die Zeichenkette, auf die der Parameter cp zeigt, von der im Internet üblichen Punktschreibweise in einen ganzzahligen Wert. Dieser Wert kann dann als Internet-Adresse verwendet werden.
Die Funktion inet_lnaof() extrahiert aus der im Parameter in übergebenen Internet-Rechneradresse die lokale Netzadresse in der Byte-Reihenfolge des Rechners.
Die Funktion inet_makeaddr() erstellt eine Internet-Adresse aus
dem im Parameter net angegebenen Subnetz-Anteil der Internet-Adresse und
dem im Parameter lna angegebenen subnetz-lokalen Adressteil.
Subnetz-Anteil der Internet-Adresse und subnetz-lokaler Adressteil werden jeweils in Byte-Reihenfolge des Rechners übergeben.
Die Funktion inet_netof() extrahiert aus der im Parameter in übergebenen Internet-Rechneradresse die Netznummer in der Byte-Reihenfolge des Rechners.
Die Funktion inet_network() konvertiert die Zeichenkette, auf die der Parameter cp zeigt, von der im Internet üblichen Punktschreibweise in einen ganzzahligen Wert. Dieser Wert kann dann als Subnetz-Anteil der Internet-Adresse verwendet werden.
Die Funktion inet_ntoa() konvertiert die im Parameter in übergebene Internet-Rechneradresse in eine Zeichenkette gemäß der üblichen Internet-Punktschreibweise.
Alle Internet-Adressen werden in der Netz-Byte-Reihenfolge zurückgeliefert. In der Netz-Byte-Reihenfolge sind die Bytes von links nach rechts angeordnet.
In Punktschreibweise angegebene Werte können in den folgenden Formaten vorliegen:
a.b.c.d
Bei Angabe einer vierteiligen Adresse wird jeder Teil als ein Daten-Byte interpretiert und von links nach rechts den vier Bytes einer Internet-Adresse zugeordnet.a.b.c
Bei Angabe einer dreiteiligen Adresse wird der letzte Teil als 16-bit-Sequenz interpretiert und in den beiden rechten Bytes der Internet-Adresse abgelegt. Auf diese Weise können dreiteilige Adressformate problemlos zur Angabe von Class-B-Adressen verwendet werden (z.B. net.host).a.b
Bei Angabe einer zweiteiligen Adresse wird der letzte Teil als 24-bit-Sequenz interpretiert und in den drei rechten Bytes der Internet-Adresse abgelegt. Auf diese Weise können zweiteilige Adressformate problemlos zur Angabe von Class-A-Adressen verwendet werden (z.B. net.host).a
Bei Angabe einer einteiligen Adresse wird der Wert ohne Änderung der Byte-Reihenfolge direkt in der Netzadresse abgelegt.
Bei den Zahlen, die als Adressteile in Punktschreibweise angegeben sind, kann es sich um Dezimal-, Oktal- oder Sedezimalzahlen handeln:
Zahlen, denen weder 0 noch 0x bzw. 0X vorangestellt ist, werden als Dezimalzahlen interpretiert.
Zahlen, denen 0 vorangestellt ist, werden als Oktalzahlen interpretiert.
Zahlen, denen 0x oder 0X vorangestellt ist, werden als Sedezimalzahlen interpretiert.
Returnwert
Bei erfolgreicher Ausführung liefert inet_addr() die Internet-Adresse zurück. Andernfalls wird -1 zurückgeliefert.
Bei erfolgreicher Ausführung liefert inet_network() den Subnetz-Anteil der Internet-Adresse zurück. Andernfalls wird -1 zurückgeliefert.
Die Funktion inet_makeaddr() liefert die erstellte Internet-Adresse zurück.
Die Funktion inet_lnaof() liefert die lokale Netzadresse zurück.
Die Funktion inet_netof() liefert die Netznummer zurück.
Die Funktion inet_ntoa() liefert einen Zeiger auf die Netzadresse in der für Internet üblichen Punktschreibweise zurück.
Fehleranzeige durch errno
Es sind keine Fehler definiert.
Hinweis
Der Return-Wert von inet_ntoa() zeigt auf statische Daten, die durch nachfolgende Aufrufe von inet_ntoa() überschrieben werden können. Die Informationen müssen kopiert werden, wenn sie gesichert werden sollen.