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ą:

s_name
    Oficjalna nazwa usługi.

s_aliases
    Zakończona zarem 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ą 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
getprotoent(3), getnetent(3), services(5)