getservent, getservbyname, getservbyport, setservent, endservent - funkce pro
práci s databází služeb
Standardní knihovna C (
libc,
-lc)
#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);
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.
Funkce
getservent(),
getservbyname() a
getservbyport()
vrací strukturu
servent, nebo NULL, nastala-li chyba nebo konec
souboru.
- /etc/services
- databáze služeb
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(), endservent() |
Thread safety |
MT-Unsafe race:servent locale |
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.
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
getnetent(3),
getprotoent(3),
getservent_r(3),
services(5)
Překlad této příručky do
španělštiny vytvořili Pavel Heimlich
<
[email protected]>
Tento překlad je bezplatná dokumentace;
Přečtěte si
GNU
General Public License Version 3 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
[email protected]