The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

epoll_ctl (2)
  • >> epoll_ctl (2) ( Русские man: Системные вызовы )
  • epoll_ctl (2) ( Linux man: Системные вызовы )
  •  

    НАЗВАНИЕ

    epoll_ctl - интерфейс управления описателями epoll  

    СИНТАКСИС

    #include <sys/epoll.h>

    int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)  

    ОПИСАНИЕ

    Управляет описателем epoll- epfd, через запрос выполнения операции op на цели, описателе файла fd. Событие event описывает объект, привязанный к описателю файла fd. Структура struct epoll_event определена так:

    
            typedef union epoll_data {
                    void *ptr;
                    int fd;
                    __uint32_t u32;
                    __uint64_t u64;
            } epoll_data_t;
    
            struct epoll_event {
                    __uint32_t events;      /* события epoll */
                    epoll_data_t data;      /* переменные данных пользователя */
            };
    
    

    Элемент events является набором битов, созданном с помощью следующих возможных типов событий:

    EPOLLIN
    Ассоциированный файл доступен для операций read(2).
    EPOLLOUT
    Ассоциированный файл доступен для операций write(2).
    EPOLLPRI
    Нет срочных данных, доступных для операций read(2).
    EPOLLERR
    Произошла ошибка на ассоциированном описателе файлов.
    EPOLLHUP
    На ассоциированном описателе файлов произошло зависание.
    EPOLLET
    Устанавливает поведение Edge Triggered для ассоциированного описателя файлов. Поведением epoll по умолчанию является Level Triggered. Смотрите epoll(4) для более подробной информации об архитектурах событий Edge и Level Triggered.

    Интрерфейс epoll поддерживает все описатели файлов, поддерживаемые poll(2). Корректными значениями для параметра op являются:

    EPOLL_CTL_ADD
    Добавить целевой описатель файла fd в описатель epoll - epfd и ассоциировать событие event с внутренним файлом, связанном с fd.
    EPOLL_CTL_MOD
    Изменить событие event связанное с целевым описателем файла fd.
    EPOLL_CTL_DEL
    Убрать целевой описатель файла fd из описателя epoll - epfd.
     

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

    При успешном завершении работы epoll_ctl(2) возвращает ноль. При ошибках epoll_ctl(2) возвращает -1 и устанавливает errno соответственно ошибке.  

    НАЙДЕННЫЕ ОШИБКИ

    EBADF
    Описатель файлов epfd не является корректным описателем файлов.
    EPERM
    Целевой файл fd не поддерживается epoll.
    EINVAL
    Переданный описатель файла epfd, не является описателем файла epoll или запрошенная операция op не поддерживается этим интерфейсом.
    ENOMEM
    Недостаточно памяти для обработки запрошенной операции управления op.

     

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

    epoll_ctl(2) является новым API, представленным в ядре Linux 2.5.44. Интерфейс должен стать окончательно завершенным к ядру Linux 2.5.66.  

    СМ. ТАКЖЕ

    epoll_create(2), epoll_wait(2), epoll(4)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру