NAZWA¶
getservent, getservbyname, getservbyport, setservent, endservent - odczytanie
wpisu dotyczącego usługi
SKŁADNIA¶
#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);
OPIS¶
Funkcja
getservent() odczytuje następny wpis z bazy danych
usług (patrz
services(5)) i zwraca strukturę
servent zawierającą pola powstałe z
rozłożenia pól wpisu. Połączenie do bazy
danych jest otwierane, jeśli jest to potrzebne.
Funkcja
getservbyname() zwraca strukturę
servent
zawierającą ten wpis z bazy danych, który odpowiada
usłudze
name korzystającej z protokołu
proto. Jeśli
proto jest równe NULL, to
pasował będzie dowolny protokół.
Połączenie do bazy danych jest otwierane, jeśli jest to
potrzebne.
Funkcja
getservbyport() zwraca strukturę
servent
zawierającą wartości tego wpisu z bazy danych,
który odpowiada portowi
port (podanemu w sieciowej
kolejności bajtów) dla protokołu
proto.
Jeśli
proto jest równe NULL, to pasował
będzie dowolny protokół. Połączenie do bazy
danych jest otwierane, jeśli jest to potrzebne.
Funkcja
setservent() otwiera połączenie do bazy danych i
ustawia wskaźnik następnego wpisu na pierwszy wpis. Jeśli
stayopen jest niezerowe, to połączenie do bazy danych nie
będzie zamykane pomiędzy wywołaniami funkcji
getserv*().
Funkcja
endservent() zamyka połączenie do bazy danych.
Struktura
servent jest zdefiniowana w
<netdb.h>
następująco:
struct servent {
char *s_name; /* oficjalna nazwa usługi */
char **s_aliases; /* lista aliasów */
int s_port; /* numer portu */
char *s_proto; /* używany protokół */
}
Polami struktury
servent są:
- s_name
- Oficjalna nazwa usługi.
- s_aliases
- Zakończona NULL-em lista alternatywnych nazw tej
usługi.
- s_port
- Numer portu tej usługi podany w sieciowej kolejności
bajtów.
- s_proto
- Nazwa protokołu z którego korzysta dana usługa.
WARTOŚĆ ZWRACANA¶
Funkcje
getservent(),
getservbyname() i
getservbyport()
zwracają wskaźnik do statycznej struktury
servent lub
wskaźnik NULL, gdy wystąpi błąd lub napotkany
zostanie koniec pliku.
PLIKI¶
- /etc/services
- plik bazy danych o usługach
ZGODNE Z¶
4.3BSD, POSIX.1-2001.
ZOBACZ TAKŻE¶
getnetent(3),
getprotoent(3),
getservent_r(3),
services(5)
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux
man-pages. Opis projektu, informacje dotyczące zgłaszania
błędów, oraz najnowszą wersję
oryginału można znaleźć pod adresem
http://www.kernel.org/doc/man-pages/.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl> i Robert
Luberda <robert@debian.org>.
Polskie tłumaczenie jest częścią projektu
manpages-pl; uwagi, pomoc, zgłaszanie błędów na
stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z
wersją
3.71 oryginału.