Получить служебную запись по имени
#include <netdb.h>struct servent * getservbyname( const char *name,const char *proto );
NULL
, или протокол службы.libsocket
Функция getservbyname() получает запись для заданного name и протокола из базы данных сетевых служб, /etc/services. Данная функция возвращает указатель на struct servent, содержащую определенные поля строки в базе данных сетевых служб.
Функция setservent() открывает и перематывает файл. При передаче ненулевого аргумента stayopen в setservent(), база данных служб не закрывается после каждого вызова getservbyname() или getservbyport().
Функции getservbyname() и getservbyport() последовательно производят поиск от начала файла до тех пор, пока не будет найдено подходящее имя протокола или номер порта, или пока не встретится EOF
. Если указано имя протокола (не NULL
), результаты поиска также должны соответствовать и протоколу.
Указатель не корректную структуру struct servent или NULL
в случае ошибки.
POSIX 1003.1
Данная функция использует статические данные; в случае, если данные будут необходимы для использования в будущем, необходимо скопировать их, прежде чем любые последующие вызовы перезапишут эти данные.
endservent(), getprotoent(), getservbyport(), getservent(), struct servent, setservent()
/etc/services в Справочнике по Утилитам
Предыдущий раздел: Описание API сетевой библиотеки