#include <netdb.h> 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);
Функция 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 определена в файле <netdb.h> следующим образом:
struct servent { char *s_name; /* официальное имя сервиса */ char **s_aliases; /* список псевдонимов */ int s_port; /* номер порта */ char *s_proto; /* используемый протокол */ }
Полями структуры servent являются:
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |