getnetbyaddr()

Получить сетевую запись по адресу (Unix)

Прототип:

#include <netdb.h>
struct netent * getnetbyaddr( uint32_t net,
int type );

Аргументы:

net
Сетевой адрес, сетевую запись которого требуется найти.
type
Тип адреса. В настоящее время должен быть AF_INET.

Библиотека:

libsocket

Описание:

Функция getnetbyaddr() получает запись для данного адреса net из сетевой базы данных /etc/networks.

Данная функция возвращает указатель на структуру типа netent, которая содержит определенные поля строки в сетевой базе данных.

Функция setnetent() открывает и перематывает файл. При передаче ненулевого аргумента stayopen функции setnetent(), сетевая база данных не закрывается после каждого вызова getnetbyname() или getnetbyaddr().

Функции getnetbyname() и getnetbyaddr() последовательно выполняют поиск от начала файла до тех пор, пока не будет найдено соответствующее сетевое имя или сетевой адрес и тип, или пока не будет обнаружен EOF. Сетевые номера предоставляются в порядке хоста.

Возвращаемое значение:

Указатель не корректную структуру netent или NULL в случае ошибки.

Файлы:

/etc/networks
Файл базы данных сетевых имен.
/etc/nsswitch.conf
Конфигурационный файл переключения служб имён.

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Предостережения:

Данная функция использует статические данные; если вам нужны эти данные для использования в будущем, скопируйте их, прежде чем любые последующие вызовы перезапишут их.

В настоящее время распознаются только номера сети Интернет.

Тематические ссылки:

endnetent(), getnetbyname(), getnetent(), netent, setnetent()

/etc/networks, /etc/nsswitch.conf в Справочнике по Утилитам




Предыдущий раздел: Описание API сетевой библиотеки