Документация по LinuxLinuxDoc.Ru 🔍

getservent, getservbyname, getservbyport, setservent, endservent - получают запись о сервисе

НАЗВАНИЕ
getservent, getservbyname, getservbyport, setservent, end-
servent - получают запись о сервисе

СИНТАКСИС
#include

struct servent *getservent(void);

struct servent *getservbyname(const char *name, const char *proto);

struct servent *getservbyport(int port, const char *proto);

void setservent(int stayopen);

void endservent(void);

ОПИСАНИЕ
Функция getservent() считывает следующую строку из файла
/etc/services и возвращает структуру servent, содержащую
поля этой строки. Если необходимо, файл /etc/services
открывается.

Функция getservbyname() возвращает структуру servent для
строки из /etc/services, совпадающей с именем сервиса name
и использующей протокол proto. Если proto равен NULL, то
подойдет любой протокол.

Функция getservbyport() возвращает структуру servent для
строки, совпадающей с портом port, указанным в сетевом
порядке расположения байтов и использующим протокол proto.
Если proto равен NULL, то подойдет любой протокол.

Функция setservent() открывает файл /etc/services и
переходит в его начало. Если значение stayopen является
истинным (1), то файл не будет закрываться между вызовами
getservbyname() и getservbyport().

Функция endservent() закрывает /etc/services.

Структура servent определена в файле следующим
образом:

struct servent {
char *s_name; /* официальное имя сервиса */
char **s_aliases; /* список псевдонимов */
int s_port; /* номер порта */
char *s_proto; /* используемый протокол */
}

Полями структуры servent являются:

s_name (официальное имя сервиса);

s_aliases
(оканчивающийся нулем список альтернативных имен
сервисов);

s_port (номер порта сервиса, указанный в сетевом порядке
байтов);

s_proto
(имя протокола, используемого с этим сервисом).

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

Функции getservent(), getservbyname() и getservbyport()
возвращают структуру servent или NULL, если достигнут
конец файла или произошла ошибка.

ФАЙЛЫ
/etc/services
(файл базы данных сервисов).

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

BSD 4.3
Читать новости Linux в Telegram
Linux - getservent, getservbyname, getservbyport, setservent, endservent - получают запись о сервисе
Мы в соцсетях ✉