table of contents
- buster 2.12-1
- buster-backports 4.10.0-1~bpo10+1
- testing 4.10.0-1
- unstable 4.10.0-1
GETSERVENT(3) | Linux-Programmierhandbuch | GETSERVENT(3) |
BEZEICHNUNG¶
getservent, getservbyname, getservbyport, setservent, endservent - bestimmt dienstspezifischen DatenbankeintragÜBERSICHT¶
#include <netdb.h>
struct servent *getservent(void);
struct servent *getservbyname(const char *name, const char *proto);
struct servent *getservbyport(int port, const char *proto);
void setservent(int stayopen);
void endservent(void);
BESCHREIBUNG¶
Die Funktion getservent() liest den nächsten Eintrag aus der Dienste-Datenbank (Services Database, siehe services(5)) und gibt eine Struktur servent zurück, welche die Felder des Eintrags enthält. Wenn notwendig, wird eine Verbindung zur Datenbank hergestellt.Die Funktion getservbyname() gibt eine Struktur servent mit dem Datenbank-Eintrag für den Dienst name zurück, der das Protokoll proto benutzt. Wenn notwendig, wird eine Verbindung zur Datenbank hergestellt.
Die Funktion getservbyport() gibt eine Struktur servent mit dem Datenbank-Eintrag für das Protokoll proto auf dem port zurück. (Der Port ist in Netzwerk-Byte-Ordnung angegeben). Wenn notwendig, wird eine Verbindung zur Datenbank hergestellt.
Die Funktion setservent() baut eine Datenbankverbindung auf und zeigt auf deren ersten Eintrag. Wenn stayopen ungleich Null ist, wird die Verbindung zwischen Aufrufen der getserv*()-Funktionen nicht geschlossen.
Die Funktion endservent() beendet die Datenbankverbindung.
Die Struktur servent ist in <netdb.h> 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 NULL abgeschlossene Liste von alternativen Namen für den Dienst
- s_port
- die Portnummer des Dienstes (in Netzwerk-Byte-Ordnung)
- s_proto
- Das Protokoll, das mit diesem Dienst anzuwenden ist.
RÜCKGABEWERT¶
Die Funktionen getservent(), getservbyname() und getservbyport() geben einen Zeiger auf eine statisch zugewiesene Struktur servent zurück. Tritt ein Fehler auf oder ist das Dateiende erreicht, wird ein NULL-Zeiger zurückgegeben.DATEIEN¶
- /etc/services
- Dienste-Datenbankdatei
ATTRIBUTE¶
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.Schnittstelle | Attribut | Wert |
getservent() | Multithread-Fähigkeit | MT-Unsafe race:servent race:serventbuf locale |
getservbyname() | Multithread-Fähigkeit | MT-Unsafe race:servbyname locale |
getservbyport() | Multithread-Fähigkeit | MT-Unsafe race:servbyport locale |
setservent(), endservent() | Multithread-Fähigkeit | MT-Unsafe race:servent 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 könnten.
KONFORM ZU¶
POSIX.1-2001, POSIX.1-2008, 4.3BSD.SIEHE AUCH¶
getnetent(3), getprotoent(3), getservent_r(3), services(5)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 5.04 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
15. September 2017 | GNU |