GETSERVENT(3)

JMÉNO
getservent, getservbyname, getservbyport, setservent, endservent - funkce pro práci s databází služeb

SYNTAXE
#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 ze souboru /etc/services a vrací strukturu servent obsahující pole tohoto záznamu. Soubor /etc/services je otevřen, je-li potřeba.

Funkce getservbyname() vrací strukturu servent ze souboru /etc/services, která vyhovuje službě name používající protokol proto.

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.

Funkce setservent() otevře soubor /etc/services 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 soubor /etc/services.

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Á HODNOTA
Funkce getservent(), getservbyname() a getservbyport() vrací strukturu servent, nebo NULL, nastala-li chyba nebo konec souboru.

SOUBORY

/etc/services
    databáze služeb

SPLŇUJE STANDARDY
BSD 4.3

DALŠÍ INFORMACE
getprotoent(3), getnetent(3), services(5)