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

&pagelevel(4)&pagelevel

#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.