JMÉNO

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

KNIHOVNA

Standardní knihovna C ( libc, -lc)

POUŽITÍ

#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 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.

NÁVRATOVÉ HODNOTY

Funkce getservent(), getservbyname() a getservbyport() vrací strukturu servent, nebo NULL, nastala-li chyba nebo konec souboru.

SOUBORY

/etc/services
databáze služeb

ATRIBUTY

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.

STANDARDY

POSIX.1-2001, POSIX.1-2008, 4.3BSD.

DALŠÍ INFORMACE

getnetent(3), getprotoent(3), getservent_r(3), services(5)

PŘEKLAD

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]

Recommended readings

Pages related to getservbyname you should read also: