Provided by: manpages-pl-dev_4.13-4_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

       The getservent(), getservbyname(), and getservbyport()  functions return a  pointer  to  a
       statically  allocated servent structure, or NULL if an error occurs or the end of the file
       is reached.

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(), getservent() lub endservent() 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  5.10  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 są: 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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.