|
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