#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-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |