table of contents
GETSERVENT(3) | Podręcznik programisty Linuksa | GETSERVENT(3) |
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ępną linię z pliku /etc/services i zwraca strukturę servent zawierającą pola powstałe z rozłożenia linii pliku. Plik /etc/services jest otwierany, jeśli jest to potrzebne.
Funkcja getservbyname() zwraca strukturę servent zawierającą wartości z tej linii pliku /etc/services, która odpowiada usłudze name korzystającej z protokołu proto. Jeśli proto jest równe NULL, to pasował będzie dowolny protokół.
Funkcja getservbyport() zwraca strukturę servent zawierającą wartości z tej linii pliku, która 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ół.
Funkcja setservent() otwiera plik fI/etc/services i ustawia wskaźnik pliku na jego początku. Jeśli stayopen jest prawdziwe (1), to plik nie będzie zamykany pomiędzy wywołaniami getservbyname() i getservbyport().
Funkcja endservent() zamyka /etc/services.
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ą:
WARTOŚĆ ZWRACANA¶
Funkcje getservent(), getservbyname() i getservbyport() zwracają strukturę 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¶
BSD 4.3
ZOBACZ TAKŻE¶
2001-07-25 | BSD |