Linux repositories inspector
GNU
2017-09-15
Aliases: endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), endnetent(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyaddr(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), getnetbyname(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3), setnetent(3)

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - получить запись сети

ОБЗОР

#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);

ОПИСАНИЕ

Функция getnetent() считывает следующую запись из файла, содержащего базу сетей, и возвращает структуру netent, содержащую поля из этой записи. При необходимости будет открыто подключение к базе.
Функция getnetbyname() возвращает структуру netent для записи из базы, соответствующей сети name.
Функция getnetbyaddr() возвращает структуру netent для записи из базы, которая соответствует номеру сети net типа type. Аргумент net должен использовать порядок байтов, использующийся на машине.
Функция setnetent() открывает соединение к базе и устанавливает следующую запись к первой записи. Если stayopen не равен нулю, то подключение к базе между вызовами нескольких функций getnet*() не будет закрыто.
Функция endnetent() закрывает подключение к базе.
Структура netent определена в <netdb.h> таким образом:
struct netent {
char *n_name; /* официальное имя сети */
char **n_aliases; /* список псевдонимов */
int n_addrtype; /* тип сетевого адреса */
uint32_t n_net; /* номер сети */ }
Члены структуры netent:
n_name Официальное название сети.
n_aliases
Список альтернативных имён сети, завершающийся NULL.
n_addrtype
Тип номера сети, всегда равно AF_INET.
n_net Номер сети в порядке байтов, использующемся на машине.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функции getnetent(), getnetbyname() и getnetbyaddr() возвращают указатель на статически выделенную структуру netent или указатель null при ошибке или достижении конца файла.

ФАЙЛЫ

/etc/networks
файл, содержащий базу сетей

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
Интерфейс Атрибут Значение
getnetent() Безвредность в нитях MT-Unsafe race:netent
race:netentbuf env locale
getnetbyname() Безвредность в нитях MT-Unsafe race:netbyname
env locale
getnetbyaddr() Безвредность в нитях MT-Unsafe race:netbyaddr
locale
setnetent(),
endnetent()
Безвредность в нитях MT-Unsafe race:netent env
locale
В приведённой выше таблице netent в race:netent означает, что если в нескольких нитях программы одновременно используются функции setnetent(), getnetent() или endnetent(), то может возникнуть состязательность по данным.

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

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

ЗАМЕЧАНИЯ

В версия glibc ниже 2.2 аргумент net из getnetbyaddr() имел тип long.

СМОТРИТЕ ТАКЖЕ

⇧ Top