Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

getnetent(), getnetbyname(), getnetbyaddr(), setnetent(), endnetent() - Informationen über Netznamen abfragen

&pagelevel(4)&pagelevel

#include <netdb.h>

struct netent *getnetent(void);
struct netent *getnetbyname(const char *name);
struct netent *getnetbyaddr(in_addr_t net, int type);
void setnetent(int stayopen);
void endnetent(void);

Beschreibung

Die Funktionen getnetbyname(), getnetbyaddr() und getnetent() liefern Informationen über Namen und Adressen der erreichbaren Netze. Die Informationen über lokale Netznamen sind in BCAM nicht vorhanden. Die Zuordnung erfolgt mittels der Datei /etc/inet/networks, wie in UNIX-Systemen üblich. Der Inhalt der Datei ist in EBCDIC codiert.

Die Funktionen getnetbyname(), getnetbyaddr() und getnetent() liefern einen Zeiger auf ein Objekt der nachfolgend beschriebenen Struktur netent.

Die Struktur netent entspricht den Feldern einer Zeile der Netz-Datenbasis und ist wie folgt deklariert:

struct netent {
   char *n_name;           /* offizieller Name des Netzes*/
   char **n_aliases;       /* Alias-Liste */
   int n_addrtype;         /* Adress-Typ */
   in_addr_t n_net;        /* Netzadresse */
};
Komponenten der Struktur netent:

n_name

Offizieller Name des Netzes.

n_aliases

Eine durch null abgeschlossene Liste mit alternativen Namen für das Netz.

n_addrtype

Typ der Adresse, die geliefert wird (immer AF_INET).

n_net

Adresse des Netzes. Netzadressen werden in Rechner-Byte-Reihenfolge zurückgeliefert.

getnetent() liest die nächste Zeile der Datei. Wenn nötig, öffnet getnetent() vorher die Datei.

setnetent() öffnet die Datei und setzt sie auf den Anfang zurück. Wenn das Flag stayopen ungleich null ist, wird die Datenbasis nach keinem Aufruf von getnetent() geschlossen (weder direkt noch indirekt durch einen der anderen getnet...()-Aufrufe).

endnetent() schließt die Datei.

getnetbyname() und getnetbyaddr() durchsuchen die Datei sequenziell von Anfang an, bis

  • ein passender Netzname gefunden ist oder

  • die passende Netzadresse gefunden ist oder

  • das Ende der Datei erreicht ist.

Returnwert

Erreicht die Suche das Ende der Datei, so wird der Null-Zeiger zurückgeliefert.

Hinweis

Alle Informationen befinden sich in einem statischen Bereich. Die Informationen müssen somit kopiert werden, wenn sie gesichert werden sollen.

Es wird nur IPv4 unterstützt.

Datei

/etc/inet/networks