|
Beschreibung
Die Funktionen getprotobyname(), getprotobynumber() und getprotoent() liefern Informationen über die verfügbaren Services. Diese Funktionen greifen auf die Datei /etc/inet/protocols zu. Die Schnittstelle wird aus Kompatibilitätsgründen angeboten. Der Inhalt der Datei ist in EBCDIC kodiert.
Die Funktionen getprotobyname(), getprotobynumber() und getprotoent() liefern einen Zeiger auf ein Objekt der nachfolgend beschriebenen Struktur protoent zurück.
Die Struktur protoent entspricht den Feldern einer Zeile der Protokoll-Datenbasis /etc/inet/protocols und ist wie folgt deklariert:
struct protoent { char *p_name; /* offizieller Name des Protokolls*/ char **p_aliases; /* Alias-Liste */ int p_proto; /* Protokollnummer */ };
Komponenten der Struktur protoent:
p_name | Name des Protokolls. |
p_aliases | Eine durch null abgeschlossene Liste mit alternativen Namen für das Protokoll. |
p_proto | Nummer des Protokolls. |
getprotoent() liest die nächste Zeile der Datei. Wenn nötig, öffnet getprotoent() vorher die Datei.
setprotoent() ö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 getprotoent() geschlossen (weder direkt noch indirekt durch einen der anderen getproto...()-Aufrufe).
endprotoent() schließt die Datei.
getprotobyname() und getprotobynumber() durchsuchen die Datei sequenziell von Anfang an, bis
ein passender Protokollname gefunden ist oder
die passende Protokollnummer 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.
Datei
/etc/inet/protocols