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_addr(), inet_network(), inet_makeaddr(), inet_lnaof(), inet_netof(), inet_ntoa() - IPv4-Internet-Adresse manipulieren

&pagelevel(4)&pagelevel

#include <arpa/inet.h>

in_addr_t inet_addr(const char *cp);
in_addr_t inet_lnaof(struct in_addr in);
struct in_addr inet_makeaddr(in_addr_t net, in_addr_t lna);
in_addr_t inet_netof(struct in_addr in);
in_addr_t inet_network(const 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 für IPv4-Adressen üblichen Punktschreibweise in einen ganzzahligen Wert. Dieser ganzzahlige 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-Adresse die Netznummer in der Byte-Reihenfolge des Rechners.

Die Funktion inet_network() konvertiert die Zeichenkette, auf die der Zeiger cp zeigt von der für IPv4-Adressen üblichen Punktschreibweise in einen ganzzahligen Wert. Dieser ganzzahlige Wert kann dann als Subnetz-Anteil der Internet-Adresse verwendet werden.

Die Funktion inet_ntoa() konvertiert die im Parameter in übergebene Internet-Adresse in eine Zeichenkette gemäß der für IPv4-Adressen üblichen 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. 128.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 (in_addr_t) -1 zurückgeliefert.

Bei erfolgreicher Ausführung liefert inet_network() die umgesetzte Internet-Nummer zurück. Andernfalls wird (in_addr_t) -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.

Fehler

Es sind keine Fehler definiert.

Hinweis

Der Return-Wert von inet_ntoa() zeigt möglicherweise auf statische Daten, die durch nachfolgende Aufrufe von inet_ntoa() überschrieben werden können.

Siehe auch

gethostent(), getnetent()