.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2010, Michael Kerrisk .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH lio_listio 3 "31 октября 2023 г." "Linux man\-pages 6.06" .SH ИМЯ lio_listio \- запускает список запросов ввода\-вывода на выполнение .SH LIBRARY Real\-time library (\fIlibrt\fP, \fI\-lrt\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint lio_listio(int \fP\fImode\fP\fB,\fP \fB struct aiocb *restrict const \fP\fIaiocb_list\fP\fB[restrict],\fP \fB int \fP\fInitems\fP\fB, struct sigevent *restrict \fP\fIsevp\fP\fB);\fP .fi .SH ОПИСАНИЕ Функция \fBlio_listio\fP() запускает на выполнение список операций ввода\-вывода, описанных в массиве \fIaiocb_list\fP. .P Значение операции \fImode\fP может быть одним из следующих: .TP \fBLIO_WAIT\fP Вызов не завершается до тех пор, пока не будут выполнены все операции. Аргумент \fIsevp\fP игнорируется. .TP \fBLIO_NOWAIT\fP The I/O operations are queued for processing and the call returns immediately. When all of the I/O operations complete, asynchronous notification occurs, as specified by the \fIsevp\fP argument; see \fBsigevent\fP(3type) for details. If \fIsevp\fP is NULL, no asynchronous notification occurs. .P The \fIaiocb_list\fP argument is an array of pointers to \fIaiocb\fP structures that describe I/O operations. These operations are executed in an unspecified order. The \fInitems\fP argument specifies the size of the array \fIaiocb_list\fP. Null pointers in \fIaiocb_list\fP are ignored. .P В каждом управляющем блоке в \fIaiocb_list\fP в поле \fIaio_lio_opcode\fP задаётся выполняемая операция ввода вывода; значения: .TP \fBLIO_READ\fP Выполнить операцию чтения. Операция ставится в очередь как вызов \fBaio_read\fP(3) с указанным управляющим блоком. .TP \fBLIO_WRITE\fP Выполнить операцию записи. Операция ставится в очередь как вызов \fBaio_write\fP(3) с указанным управляющим блоком. .TP \fBLIO_NOP\fP Игнорировать управляющий блок. .P Остальные поля в каждом управляющем блоке имеют то же назначение, что и для \fBaio_read\fP(3) и \fBaio_write\fP(3). Поля \fIaio_sigevent\fP в каждом управляющем блоке могут использоваться для указания уведомлений по отдельным операциям ввода\-вывода (смотрите \fBsigevent\fP(7)). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При значении \fImode\fP равным \fBLIO_NOWAIT\fP функция \fBlio_listio\fP() возвращает 0, если все операции ввода\-вывода были поставлены в очередь. В противном случае возвращается \-1 и в \fIerrno\fP содержится код ошибки. .P При значении \fImode\fP равным \fBLIO_WAIT\fP функция \fBlio_listio\fP() возвращает 0, если все операции ввода\-вывода были выполнены без ошибок. В противном случае возвращается \-1 и в \fIerrno\fP содержится код ошибки. .P В возвращаемом \fBlio_listio\fP() состоянии предоставляется информация только о самом вызове, а не об отдельных операция ввода\-вывода. Одна или несколько операций ввода\-вывода могут завершиться с ошибкой, но это не повлияет на выполнение остальных операций. Состояние отдельный операций ввода\-вывода в \fIaiocb_list\fP можно определить с помощью \fBaio_error\fP(3). После завершения операции её результат можно получить с помощью \fBaio_return\fP(3). Отдельные операции ввода\-вывода могут завершиться с ошибкой по причинам, описанным в \fBaio_read\fP(3) и \fBaio_write\fP(3). .SH ОШИБКИ Функция \fBlio_listio\fP() может завершиться с ошибкой по следующим причинам: .TP \fBEAGAIN\fP Не хватает ресурсов. .TP \fBEAGAIN\fP .\" Doesn't happen in glibc(?) Количество операций ввода\-вывода, указанное в \fInitems\fP, превысило ограничение \fBAIO_MAX\fP. .TP \fBEINTR\fP Значение \fImode\fP равно \fBLIO_WAIT\fP и был получен сигнал до завершения всех операций ввода\-вывода; смотрите \fBsignal\fP(7) (это может быть даже один из асинхронных сигналов о завершении ввода\-вывода). .TP \fBEINVAL\fP .\" Doesn't happen in glibc(?) Неправильное значение \fImode\fP, или значение \fInitems\fP превышает ограничение \fBAIO_LISTIO_MAX\fP. .TP \fBEIO\fP .\" e.g., ioa_reqprio or aio_lio_opcode was invalid Одна или более операций, указанных в \fIaiocb_list\fP, завершились с ошибкой. Приложение может проверить состояние каждой операции с помощью \fBaio_return\fP(3). .P Если вызов \fBlio_listio\fP() завершился с ошибкой \fBEAGAIN\fP, \fBEINTR\fP или \fBEIO\fP, то некоторые операции из \fIaiocb_list\fP могли всё же начаться. Если вызов \fBlio_listio\fP() завершился по другой причине, то ни одна из операций ввода\-вывода не началась. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBlio_listio\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ glibc 2.1. POSIX.1\-2001. .SH ЗАМЕЧАНИЯ .\" or the control block of the operation Рекомендуется обнулять управляющие блоки перед использованием. Управляющие блоки не должны изменяться пока выполняются операции ввода\-вывода. Нельзя читать или писать в буферные области во время выполнения операций, иначе результат непредсказуем. Используемые области памяти должны оставаться корректными (valid). .P Одновременное выполнение операций ввода\-вывода через совместно используемую структуру \fIaiocb\fP приводит к непредсказуемым результатам. .SH "СМ. ТАКЖЕ" \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBaio\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Artyom Kunyov , Azamat Hackimov , Dmitry Bolkhovskikh , Katrin Kutepova , Konstantin Shvaykovskiy , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .