GETPROTOENT(3) Podręcznik programisty Linuksa GETPROTOENT(3)

getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - odczytanie wpisu dotyczącego protokołu

#include <netdb.h>
struct protoent *getprotoent(void);
struct protoent *getprotobyname(const char *name);
struct protoent *getprotobynumber(int proto);
void setprotoent(int stayopen);
void endprotoent(void);

Funkcja getprotoent() odczytuje następny wpis z bazy danych protokołów (patrz protocols(5)) i zwraca strukturę protoent 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 getprotobyname() zwraca strukturę protoent zawierającą ten wpis z bazy danych, który odpowiada protokołowi name. Połączenie do bazy danych jest otwierane, jeśli jest to potrzebne.

Funkcja getprotobynumber() zwraca strukturę protoent zawierającą ten wpis z bazy danych, który odpowiada protokołowi number. Połączenie do bazy danych jest otwierane, jeśli jest to potrzebne.

Funkcja setprotoent() otwiera połączenie do bazy danych i ustawia wskaźnik kolejnego wpisu na pierwszy wpis. Jeśli stayopen jest niezerowy, to połączenie do bazy danych nie będzie zamykane pomiędzy wywołaniami funkcji getproto*().

Funkcja endprotoent() zamyka połączenie do bazy danych.

Struktura protoent jest zdefiniowana w <netdb.h> następująco:


struct protoent {
    char  *p_name;       /* oficjalna nazwa protokołu */
    char **p_aliases;    /* lista aliasów */
    int    p_proto;      /* numer protokołu */
}

Polami struktury protoent są:

p_name
Oficjalna nazwa protokołu.
p_aliases
Zakończona NULL-em lista alternatywnych nazw tego protokołu.
p_proto
Numer protokołu.

The getprotoent(), getprotobyname(), and getprotobynumber() functions return a pointer to a statically allocated protoent structure, or a null pointer if an error occurs or the end of the file is reached.

/etc/protocols
plik bazy danych dla protokołów

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs Atrybut Wartość
getprotoent() Bezpieczeństwo wątkowe MT-Unsafe race:protoent race:protoentbuf locale
getprotobyname() Bezpieczeństwo wątkowe MT-Unsafe race:protobyname locale
getprotobynumber() Bezpieczeństwo wątkowe MT-Unsafe race:protobynumber locale
setprotoent(), endprotoent() Bezpieczeństwo wątkowe MT-Unsafe race:protoent locale

W powyższej tabeli, protoent w race:protoent oznacza, że jeśli któraś z funkcji setprotoent(), getprotoent() lub endprotoent() jest używana równolegle w różnych wątkach programu, może nastąpić sytuacja wyścigu danych.

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

getnetent(3), getprotoent_r(3), getservent(3), protocols(5)

Angielska wersja tej strony pochodzi z wydania 5.11 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/.

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 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres manpages-pl-list@lists.sourceforge.net.

22 marca 2021 r. GNU