getservent(3) Library Functions Manual getservent(3)

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

Standardní knihovna C (libc, -lc)

#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);

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:

Oficiální jméno služby.
Nulou ukončený seznam aliasů pro službu.
Číslo portu pro tuto službu. Je reprezentováno v síťovém pořadí bajtů.
Jméno protokolu spojeného s touto službou.

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

/etc/services
databáze služeb

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.

POSIX.1-2008.

POSIX.1-2001, 4.3BSD.

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

Překlad této příručky do španělštiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>

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 translation-team-cs@lists.sourceforge.net.

31. října 2023 Linux man-pages 6.06