GETNETENT(3)

НАЗВАНИЕ
getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - получают сетевую запись

СИНТАКСИС
#include <netdb.h>

struct netent *getnetent(void);

struct netent *getnetbyname(const char *name);

struct netent *getnetbyaddr(long net, int type);

void setnetent(int stayopen);

void endnetent(void);

ОПИСАНИЕ
Функция getnetent() читает следующую строку из файла /etc/networks и возвращает структуру netent, содержащую поля этой строки. При необходимости открывается файл /etc/networks.

Функция getnetbyname() возвращает структуру netent для строки из /etc/networks, совпадающей с именем сети name.

Функция getnetbyaddr() возвращает структуру netent для строки, совпадающей с номером сети net типа type.

Функция setnetent() открывает файл /etc/networks и переходит в его начало. Если stayopen является true (1) (истинным), то этот файл не будет закрываться между вызовами getnetbyname() и getnetbyaddr().

Функция endservent() закрывает /etc/networks.

Структура netent определена в <netdb.h> следующим образом:

    struct netent {
    	char	*n_name;		/* официальное имя сети */
    	char	**n_aliases;		/* список псевдонимов */
    	int	n_addrtype;		/* тип сетевого адреса */
    	unsigned long int n_net;	/* номер сети */
    }

Полями структуры netent являются:

n_name
    (официальное имя сети);

n_aliases
    (оканчивающийся нулем список альтернативных имен сети);

n_addrtype
    (тип сетевого адреса; всегда AF_INET);

n_net
    (номер сети в сетевом порядке байтов).

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функции getnetent(), getnetbyname() и getnetbyaddr() возвращают структуру netent или NULL, если возникла ошибка или достигнут конец файла.

ФАЙЛЫ

/etc/networks
    файл базы данных сетей

СООТВЕТСТВИЕ СТАНДАРТАМ
BSD 4.3

СМ. ТАКЖЕ
getprotoent(3), getservent(3), networks(5)
RFC 1101