Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getservent(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getprotoent(3N)

services(4)

getservent(3N)                                               getservent(3N)

NAME
     getservent, getservbyport, getservbyname, setservent, endservent -
     Eintrag in Dienste-Datei ermitteln

SYNTAX
     #include <netdb.h>

     struct servent *getservent(void);

     struct servent *getservbyname(const char *name, const char *proto);

     struct servent *getservbyport(int port, const char *proto);

     int setservent(int stayopen);

     int endservent(void);

BESCHREIBUNG
     getservent(), getservbyname() und getservbyport() liefern alle einen
     Zeiger auf ein Objekt der unten beschriebenen Struktur zurück. Die
     Struktur enthält Felder einer Zeile in der Netzdienste-Datei
     /etc/inet/services.

     struct    servent {
          char    *sname;        /* offizieller Name des Dienstes */
          char    **saliases;    /* Alias-Liste */
          int     sport;         /* Portnummer, an der der Dienst */
                                  /* verfügbar ist */
          char    *sproto;       /* zu verwendendes Protokoll */
     };

     Die Felder der Struktur sind:

     sname        Der offizielle Name des Dienstes.

     saliases     Eine mit Null endende Liste alternativer Namen für den
                   Dienst.

     sport        Die Portnummer, an dem der Dienst verfügbar ist. Port-
                   nummern werden in Netz-Byte-Anordnung zurückgeliefert.

     sproto       Der Name des Protokolls, das zu verwenden ist, wenn der
                   Dienst in Anspruch genommen wird.

     getservent() liest den nächsten Eintrag der Datei und öffnet diese bei
     Bedarf zuvor.

     setservent() öffnet die Datei und setzt den Lesezeiger auf den Anfang.
     Falls die Option stayopen nicht Null ist, wird die Datei nicht nach
     jedem Aufruf von getservent() wieder geschlossen (weder direkt noch
     indirekt durch weitere "getserv"-Aufrufe).




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

getservent(3N)                                               getservent(3N)

     endservent() schließt die Datei.

     getservbyname() und getservbyport() durchsuchen die Datei von Anfang
     an, bis ein passender Protokollname oder eine passende Portnummer
     gefunden wurde, oder bis EOF erreicht wurde. Falls auch ein Protokoll-
     name angegeben wurde (nicht NULL), muß bei der Suche auch der Proto-
     kollname übereinstimmen.

DIAGNOSE
     Bei einem Fehler oder bei Erreichen von EOF wird NULL zurückgeliefert.

     Alle Information befindet sich in statischen Bereichen und muß somit
     kopiert werden, wenn sie gesichert werden soll. Man sollte nicht vor-
     aussetzen, daß die Portnummern in einen 32-Bit-Wert passen.

DATEIEN
     /etc/inet/services

SIEHE AUCH
     getprotoent(3N), services(4).


































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026