Provided by: manpages-pl-dev_4.21.0-2_all
NAZWA
getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - odczytanie wpisu dotyczącego sieci
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
SKŁADNIA
#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);
OPIS
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.
WARTOŚĆ ZWRACANA
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.
PLIKI
/etc/networks plik bazy danych z sieciami
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7). ┌─────────────────────────┬────────────────────────┬──────────────────────────────────────┐ │Interfejs │ Atrybut │ Wartość │ ├─────────────────────────┼────────────────────────┼──────────────────────────────────────┤ │getnetent() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:netent race:netentbuf │ │ │ │ env locale │ ├─────────────────────────┼────────────────────────┼──────────────────────────────────────┤ │getnetbyname() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:netbyname env locale │ ├─────────────────────────┼────────────────────────┼──────────────────────────────────────┤ │getnetbyaddr() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:netbyaddr locale │ ├─────────────────────────┼────────────────────────┼──────────────────────────────────────┤ │setnetent(), endnetent() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:netent env locale │ └─────────────────────────┴────────────────────────┴──────────────────────────────────────┘ 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.
STANDARDY
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
UWAGI
Before glibc 2.2, the net argument of getnetbyaddr() was of type long.
ZOBACZ TAKŻE
getnetent_r(3), getprotoent(3), getservent(3) RFC 1101
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⟩.