getifaddrs()

Получить адрес сетевого интерфейса

Прототип:

#include <sys/types.h>
#include <sys/socket.h>
#include <ifaddrs.h>
int getifaddrs( struct ifaddrs **ifap );

Аргументы:

ifap
Адрес места, где функция может хранить указатель на связанный список из struct ifaddrs, который содержит данные, относящиеся к сетевым интерфейсам на локальном компьютере.

Библиотека:

libsocket

Описание:

Функция getifaddrs() сохраняет ссылку на связанный список сетевых интерфейсов на локальном компьютере в памяти, на которую ссылается ifap.

Данные, возвращаемые getifaddrs(), выделяются динамически; необходимо освободить их, вызвав freeifaddrs(), когда они более не потребуются.

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

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

Функция getifaddrs() может завершиться с ошибкой и установить errno для любых ошибок, описанных в ioctl(), malloc(), socket() и sysctl().

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

Unix

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

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

errno, freeifaddrs(), struct ifaddrs, ioctl(), malloc(), socket(), sysctl()




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