getnetent(3)

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

HISTORIA
POSIX.1-2001, 4.3BSD.

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.