Provided by: manpages-pl-dev_4.27.0-1_all 

NAZWA
getservent, getservbyname, getservbyport, setservent, endservent - odczytuje wpis dotyczący usługi
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
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ępny wpis z bazy danych usług (patrz services(5)) i zwraca strukturę
servent zawierającą pola powstałe z rozłożenia pól wpisu. Połączenie do bazy danych jest otwierane, jeśli
jest to potrzebne.
Funkcja getservbyname() zwraca strukturę servent zawierającą ten wpis z bazy danych, który odpowiada
usłudze name korzystającej z protokołu proto. Jeśli proto jest równe NULL, to pasował będzie dowolny
protokół. Połączenie do bazy danych jest otwierane, jeśli jest to potrzebne.
Funkcja getservbyport() zwraca strukturę servent zawierającą wartości tego wpisu z bazy danych, który
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ół. Połączenie do bazy danych jest otwierane, jeśli jest to
potrzebne.
Funkcja setservent() otwiera połączenie do bazy danych i ustawia wskaźnik następnego wpisu na pierwszy
wpis. Jeśli stayopen jest niezerowe, to połączenie do bazy danych nie będzie zamykane pomiędzy
wywołaniami funkcji getserv*().
Funkcja endservent() zamyka połączenie do bazy danych.
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 NULL-em 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ą wskaźnik do statycznej struktury servent
lub wskaźnik NULL, gdy wystąpi błąd lub napotkany zostanie koniec pliku.
PLIKI
/etc/services
plik bazy danych o usługach
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
┌────────────────────────────┬────────────────────────┬─────────────────────────────────────────────────┐
│ Interfejs │ Atrybut │ Wartość │
├────────────────────────────┼────────────────────────┼─────────────────────────────────────────────────┤
│ getservent() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:servent race:serventbuf │
│ │ │ locale │
├────────────────────────────┼────────────────────────┼─────────────────────────────────────────────────┤
│ getservbyname() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:servbyname locale │
├────────────────────────────┼────────────────────────┼─────────────────────────────────────────────────┤
│ getservbyport() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:servbyport locale │
├────────────────────────────┼────────────────────────┼─────────────────────────────────────────────────┤
│ setservent(), endservent() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:servent locale │
└────────────────────────────┴────────────────────────┴─────────────────────────────────────────────────┘
W powyższej tabeli, servent w race:servent oznacza, że jeśli któraś z funkcji setservent(), getservent()
lub endservent() jest używana równolegle w różnych wątkach programu, może nastąpić sytuacja wyścigu
danych.
STANDARDY
POSIX.1-2008.
HISTORIA
POSIX.1-2001, 4.3BSD.
ZOBACZ TAKŻE
getnetent(3), getprotoent(3), getservent_r(3), services(5)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert
Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Linux man-pages 6.9.1 2 maja 2024 r. getservent(3)