sourCEntral - mobile manpages

pdf

GETNETENT

NAZWA

getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent − odczytanie wpisu dotyczącego sieci

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).

img

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

ZGODNE Z

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

UWAGI

W glibc aż do wersji 2.2 argument net funkcji getnetbyaddr() był typu long.

ZOBACZ TAKŻE

getnetent_r(3), getprotoent(3), getservent(3)
RFC 1101

O STRONIE

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

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) <ankry AT mif DOT pg DOT gda DOT pl>, Robert Luberda <robert AT debian DOT org> i Michał Kułach <michal DOT kulach AT gmail DOT com>.

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ą 4.07 oryginału.

pdf