Provided by: manpages-cs-dev_4.24.0-2_all
JMÉNO
getservent, getservbyname, getservbyport, setservent, endservent - funkce pro práci s databází služeb
KNIHOVNA
Standardní knihovna C (libc, -lc)
POUŽITÍ
#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);
POPIS
Funkce getservent() čte další řádek z databáze (vis services(5)) a vrací strukturu servent obsahující pole tohoto záznamu. Spojení s databází je otevřeno, je-li třeba. Funkce getservbyname() vrací strukturu serventz databáze, která vyhovuje službě name používající protokol proto. Pokud je proto NULL, lze přířadit libovolný protokol. Spojení s databází je otevřeno, je-li třeba. Funkce getservbyport() vrací ukazatel na strukturu servent pro záznam, který vyhovuje portu port zadanému v síťovém pořadí bajtů a protokolu proto. Pokud je proto NULL, lze přířadit libovolný protokol. Spojení s databází je otevřeno, je-li třeba. Funkce setservent() otevře databázi a nastaví ukazovátko na jeho začátek. Je-li stayopen nenulové (1), potom soubor nebude mezi voláními getservbyname() a getservbyport() uzavřen. Funkce endservent() uzavře databázi. Struktura servent je definována v <netdb.h> následovně: struct servent { char *s_name; /* official service name */ char **s_aliases; /* alias list */ int s_port; /* port number */ char *s_proto; /* protocol to use */ } Prvky struktury servent jsou: s_name Oficiální jméno služby. s_aliases Nulou ukončený seznam aliasů pro službu. s_port Číslo portu pro tuto službu. Je reprezentováno v síťovém pořadí bajtů. s_proto Jméno protokolu spojeného s touto službou.
NÁVRATOVÉ HODNOTY
Funkce getservent(), getservbyname() a getservbyport() vrací strukturu servent, nebo NULL, nastala-li chyba nebo konec souboru.
SOUBORY
/etc/services databáze služeb
ATRIBUTY
Vysvětlení pojmů použitých v této části viz attributes(7). ┌────────────────┬───────────────┬────────────────────────────────────────────────────────┐ │Rozhraní │ Atribut │ Hodnota │ ├────────────────┼───────────────┼────────────────────────────────────────────────────────┤ │getservent() │ Thread safety │ MT-Unsafe race:servent race:serventbuf locale │ ├────────────────┼───────────────┼────────────────────────────────────────────────────────┤ │getservbyname() │ Thread safety │ MT-Unsafe race:servbyname locale │ ├────────────────┼───────────────┼────────────────────────────────────────────────────────┤ │getservbyport() │ Thread safety │ MT-Unsafe race:servbyport locale │ ├────────────────┼───────────────┼────────────────────────────────────────────────────────┤ │setservent(), │ Thread safety │ MT-Unsafe race:servent locale │ │endservent() │ │ │ └────────────────┴───────────────┴────────────────────────────────────────────────────────┘ In the above table, servent in race:servent signifies that if any of the functions setservent(), getservent(), or endservent() are used in parallel in different threads of a program, then data races could occur.
STANDARDY
POSIX.1-2008.
HISTORIE
POSIX.1-2001, 4.3BSD.
DALŠÍ INFORMACE
getnetent(3), getprotoent(3), getservent_r(3), services(5)
PŘEKLAD
Překlad této příručky do češtiny vytvořili Pavel Heimlich <tropikhajma@gmail.com> Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST. Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu ⟨translation-team-cs@lists.sourceforge.net⟩.