Scroll to navigation

getnetent(3) Library Functions Manual getnetent(3)

ИМЯ

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

БИБЛИОТЕКА

Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС

#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:

Официальное название сети.
Список альтернативных имён сети, завершающийся NULL.
Тип номера сети, всегда равно AF_INET.
Номер сети в порядке байтов, использующемся на машине.

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

The getnetent(), getnetbyname(), and getnetbyaddr() functions return a pointer to a statically allocated netent structure, or a null pointer if an error occurs or the end of the file is reached.

ФАЙЛЫ

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

ПРИМЕЧАНИЯ

Before glibc 2.2, the net argument of getnetbyaddr() was of type long.

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

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

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

15 декабря 2022 г. Справочные страницы Linux 6.03