Provided by: manpages-pl-dev_0.7-2_all bug

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ę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).

       ┌────────────────┬────────────────────────┬───────────────────────────┐
       │InterfejsAtrybutWartość                   │
       ├────────────────┼────────────────────────┼───────────────────────────┤
       │getservent()    │ Bezpieczeństwo wątkowe │ MT-Unsafe race:servent    │
       │                │                        │ race:serventbuf locale    │
       ├────────────────┼────────────────────────┼───────────────────────────┤
       │getservbyname() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:servbyname │
       │                │                        │ locale                    │
       ├────────────────┼────────────────────────┼───────────────────────────┤
       │getservbyport() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:servbyport │
       │                │                        │ locale                    │
       ├────────────────┼────────────────────────┼───────────────────────────┤
       │setservent(),   │ Bezpieczeństwo wątkowe │ MT-Unsafe race:servent    │
       │endservent()    │                        │ locale                    │
       └────────────────┴────────────────────────┴───────────────────────────┘
       W   powyższej  tabeli,  servent  w  race:servent  oznacza,  że  jeśli  któraś  z  funkcji  setservent(3),
       getservent(3) lub endservent(3) jest  używana  równolegle  w  różnych  wątkach  programu,  może  nastąpić
       sytuacja wyścigu danych.

ZGODNE Z

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

ZOBACZ TAKŻE

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

O STRONIE

       Angielska  wersja  tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje
       dotyczące   zgłaszania   błędów   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod   adresem
       https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony  podręcznika  man  są:  Andrzej Krzysztofowicz (PTM)
       <ankry@mif.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie  błędów  na  stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  4.07 oryginału.