SKŁADNIA
#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);
OPIS
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.
WARTOŚĆ ZWRACANA
Funkcje getprotoent(), getprotobyname() i getprotobynumber() zwracają wskaźnik do statycznej struktury servent lub wskaźnik NULL, gdy wystąpi błąd lub napotkany zostanie koniec pliku.PLIKI
- /etc/protocols
- plik bazy danych dla protokołów
ZGODNE Z
4.3BSD, POSIX.1-2001.O STRONIE
Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą wersję oryginału można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) <[email protected]> i Robert Luberda <[email protected]>.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ą 3.71 oryginału.