getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - odczytanie wpisu dotyczącego sieci
Standardowa biblioteka C (libc, -lc)
#include <netdb.h>
struct netent *getnetent(void);
struct netent *getnetbyname(const char *name);
struct netent *getnetbyaddr(uint32_t net, int type);
void setnetent(int stayopen);
void endnetent(void);
Funkcja getnetent() odczytuje następny wpis z bazy danych sieci i zwraca strukturę netent 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 getnetbyname() zwraca strukturę netent zawierającą ten wpis z bazy danych, który odpowiada sieci name.
Funkcja getnetbyaddr() zwraca strukturę netent zawierającą ten wpis z bazy danych, który odpowiada sieci o numerze net rodzaju type. Argument net musi być w porządku bajtów lokalnego komputera (host byte order).
Funkcja setnetent() 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 getnet*().
Funkcja endnetent() zamyka połączenie do bazy danych.
Struktura netent jest zdefiniowana w <netdb.h> następująco:
struct netent {
char *n_name; /* oficjalna nazwa sieci */
char **n_aliases; /* lista aliasów */
int n_addrtype; /* rodzaj adresu sieci */
uint32_t n_net; /* numer sieci */
}
Polami struktury netent są:
n_name |
Oficjalna nazwa sieci. |
n_aliases
Zakończona NULL-em lista alternatywnych nazw tej sieci.
n_addrtype
Rodzaj numeru sieci; zawsze AF_INET.
n_net |
Numer sieci w porządku bajtów hosta. |
Funkcje getnetent(), getnetbyname() i getnetbyaddr() zwracają wskaźnik do statycznej struktury netent lub wskaźnik null, gdy wystąpi błąd lub napotkany zostanie koniec pliku.
/etc/networks
plik bazy danych z sieciami
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
W powyższej tabeli, netent w race:netent oznacza, że jeśli któraś z funkcji setnetent(), getnetent() lub endnetent() 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.
Before glibc 2.2, the net argument of getnetbyaddr() was of type long.
getnetent_r(3), getprotoent(3), getservent(3)
RFC 1101
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry AT green DOT mf DOT pg DOT gda DOT pl>, Robert Luberda <robert AT debian DOT org> i Michał Kułach <michal DOT kulach AT gmail DOT 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 listy dyskusyjnej manpages-pl-list.