getservent(3) Library Functions Manual getservent(3) BEZEICHNUNG getservent, getservbyname, getservbyport, setservent, endservent - bestimmt dienstspezifischen Datenbankeintrag BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include struct servent *getservent(void); struct servent *getservbyname(const char *name, const char *proto); struct servent *getservbyport(int port, const char *proto); void setservent(int offenhalten); void endservent(void); BESCHREIBUNG Die Funktion getservent() liest den nachsten Eintrag aus der Dienste-Datenbank (Services Database, siehe services(5)) und gibt eine Struktur servent zuruck, welche die Felder des Eintrags enthalt. Wenn notwendig, wird eine Verbindung zur Datenbank hergestellt. Die Funktion getservbyname() gibt eine Struktur servent mit dem Datenbank-Eintrag fur den Dienst name zuruck, der das Protokoll proto benutzt. Falls proto NULL ist, passt es auf jedes Protokoll. Wenn notwendig, wird eine Verbindung zur Datenbank hergestellt. Die Funktion getservbyport() gibt eine Struktur servent mit dem Datenbank-Eintrag fur das Protokoll proto auf dem port zuruck. (Der Port ist in Netzwerk-Byte-Ordnung angegeben). Falls proto NULL ist, passt es auf jedes Protokoll. Wenn notwendig, wird eine Verbindung zur Datenbank hergestellt. Die Funktion setservent() baut eine Datenbankverbindung auf und zeigt auf deren ersten Eintrag. Wenn offenhalten ungleich Null ist, wird die Verbindung zwischen Aufrufen der getserv*()-Funktionen nicht geschlossen. Die Funktion endservent() beendet die Datenbankverbindung. Die Struktur servent ist in wie folgt definiert: struct servent { char *s_name; /* offizieller Dienstname */ char **s_aliases; /* Aliasliste */ int s_port; /* Portnummer */ char *s_proto; /* zu benutzendes Protokoll */ } Die Struktur servent besteht aus den folgenden Elementen: s_name der offizielle Name der Dienstes s_aliases eine mit Nullzeiger abgeschlossene Liste von alternativen Namen fur den Dienst s_port die Portnummer des Dienstes (in Netzwerk-Byte-Ordnung) s_proto Das Protokoll, das mit diesem Dienst anzuwenden ist. RUCKGABEWERT Die Funktionen getservent(), getservbyname() und getservbyport() geben einen Zeiger auf eine statisch zugewiesene Struktur servent zuruck. Tritt ein Fehler auf oder ist das Dateiende erreicht, wird NULL zuruckgegeben. DATEIEN /etc/services Dienste-Datenbankdatei ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +----------------+-------------------------+---------------------------+ |Schnittstelle | Attribut | Wert | +----------------+-------------------------+---------------------------+ |getservent() | Multithread-Fahigkeit | MT-Unsicher race:servent | | | | race:serventbuf locale | +----------------+-------------------------+---------------------------+ |getservbyname() | Multithread-Fahigkeit | MT-Unsicher | | | | race:servbyname locale | +----------------+-------------------------+---------------------------+ |getservbyport() | Multithread-Fahigkeit | MT-Unsicher | | | | race:servbyport locale | +----------------+-------------------------+---------------------------+ |setservent(), | Multithread-Fahigkeit | MT-Unsicher race:servent | |endservent() | | locale | +----------------+-------------------------+---------------------------+ In der obigen Tabelle bedeutet servent in race:servent, dass, falls eine der Funktionen setservent(), getservent() oder endservent() in verschiedenen Threads eines Programms parallel verwandt werden, konkurrierende Zugriffe auf Daten (>>data races<<) auftreten konnten. STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001, 4.3BSD. SIEHE AUCH getnetent(3), getprotoent(3), getservent_r(3), services(5) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother , Martin Eberhard Schauer und Dr. Tobias Quathamer erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 getservent(3)