Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       io_setup - создаёт асинхронный контекст ввода-вывода

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

       Alternatively, Asynchronous I/O library (libaio, -laio); see VERSIONS.

ОБЗОР

       #include <linux/aio_abi.h>          /* определяет необходимые типы */

       long io_setup(unsigned int nr_events, aio_context_t *ctx_idp);

       Примечание: Для этого системного вызова нет оболочки glibc; см. ВЕРСИИ.

ОПИСАНИЕ

       Note:  this  page describes the raw Linux system call interface.  The wrapper function provided by libaio
       uses a different type for the ctx_idp argument.  See VERSIONS.

       Системный вызов io_setup() создает асинхронный контекст ввода-вывода,  способный  параллельно  обработать
       nr_events  событий.  Параметр  ctx_idp не должен указывать на уже существующей контекст AIO и должно быть
       инициализировано 0 перед вызовом. При успешном создании контекста AIO,  *ctx_idp  заполняется  полученным
       результатом обработки.

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

       On success, io_setup()  returns 0.  For the failure return, see VERSIONS.

ОШИБКИ

       EAGAIN The   specified   nr_events   exceeds   the   limit   of   available   events,   as   defined   in
              /proc/sys/fs/aio-max-nr (see proc(5)).

       EFAULT В ctx_idp передан некорректный указатель.

       EINVAL Параметр ctx_idp не инициализирован, или указанное в  nr_events  количество  превышает  внутренние
              ограничения. Значение nr_events должно быть больше 0.

       ENOMEM Недостаточно ресурсов ядра.

       ENOSYS io_setup() не реализован для этой архитектуры.

ВЕРСИИ

       glibc  does  not  provide  a  wrapper  for  this system call.  You could invoke it using syscall(2).  But
       instead, you probably want to use the io_setup()  wrapper function provided by libaio.

       Заметим, что в обёрточной функции libaio используется  другой  тип  (io_context_t *)  аргумента  ctx_idp.
       Также заметим, что libaio не следует соглашениям обычной библиотеки C для возврата ошибок: при ошибке она
       возвращает  отрицательный  номер  ошибки  (из списка в разделе ОШИБКИ). Если системный вызов вызывается с
       помощью syscall(2), то  возвращаемое  значение  следует  обычным  соглашениям  для  указания  на  ошибку:
       возвращается -1 и в errno записывается (положительное) значение возникшей ошибки.

СТАНДАРТЫ

       Linux.

ИСТОРИЯ

       Linux 2.5.

СМОТРИТЕ ТАКЖЕ

       io_cancel(2), io_destroy(2), io_getevents(2), io_submit(2), aio(7)

ПЕРЕВОД

       Русский  перевод  этой  страницы  руководства  разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>,
       Dmitriy S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com>  и
       Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                      io_setup(2)