getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent -
odczytanie wpisu dotyczącego protokołu
Standardowa biblioteka C (
libc,
-lc)
#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.
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.
- /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)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Andrzej Krzysztofowicz <
[email protected]>, Robert
Luberda <
[email protected]> i Michał Kułach
<
[email protected]>
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
[email protected]