Функция
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, если возникла ошибка или достигнут конец файла.