.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH aio_read 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ aio_read \- асинхронное чтение .SH LIBRARY Real\-time library (\fIlibrt\fP, \fI\-lrt\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint aio_read(struct aiocb *\fP\fIaiocbp\fP\fB);\fP .fi .SH ОПИСАНИЕ Функция \fBaio_read\fP() ставит в очередь запрос ввода\-вывода, описанный в буфере, на который указывает \fIaiocbp\fP. Эта функция является асинхронным аналогом вызова \fBread\fP(2). Аргументы функции .PP .in +4n .EX read(fd, buf, count) .EE .in .PP соответствуют (в указанном порядке) полям \fIaio_fildes\fP, \fIaio_buf\fP и \fIaio_nbytes\fP структуры, на которую указывает \fIaiocbp\fP (описание структуры \fIaiocb\fP смотрите в \fBaio\fP(7)). .PP Чтение данных выполняется начиная с абсолютного положения в файле \fIaiocbp\->aio_offset\fP, независимо от смещения в файле. После вызова значение смещения в файле не определено. .PP Прилагательное «асинхронный» означает, что вызов возвращает управление сразу после установки запроса в очередь; при завершении вызова чтение может уже выполнится, а может и нет. Для проверки выполнения чтения используйте \fBaio_error\fP(3). Состояние возврата завершённой операции ввода\-вывода можно получить с помощью \fBaio_return\fP(3). Асинхронное уведомление о выполнении ввода\-вывода можно получить, установив \fIaiocbp\->aio_sigevent\fP соответствующим образом; подробней смотрите в \fBsigevent\fP(7). .PP Если определён макрос \fB_POSIX_PRIORITIZED_IO\fP и данный файл его поддерживает, асинхронная операция устанавливается в очередь с приоритетом вызывающего процесса минус \fIaiocbp\->aio_reqprio\fP. .PP Поле \fIaiocbp\->aio_lio_opcode\fP игнорируется. .PP Данные не читаются из обычного файла, если смещение превышает максимум. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success, 0 is returned. On error, the request is not enqueued, \-1 is returned, and \fIerrno\fP is set to indicate the error. If an error is detected only later, it will be reported via \fBaio_return\fP(3) (returns status \-1) and \fBaio_error\fP(3) (error status\[em]whatever one would have gotten in \fIerrno\fP, such as \fBEBADF\fP). .SH ОШИБКИ .TP \fBEAGAIN\fP Не хватает ресурсов. .TP \fBEBADF\fP Значение \fIaio_fildes\fP не является допустимым файловым дескриптором для открытия на чтение. .TP \fBEINVAL\fP Одно или несколько значений у \fIaio_offset\fP, \fIaio_reqprio\fP или \fIaio_nbytes\fP неверны. .TP \fBENOSYS\fP Функция \fBaio_read\fP() не реализована. .TP \fBEOVERFLOW\fP Файл является обычным файлом, мы начинаем читать его до конца файла и хотим получить не менее одного байта, но начальная позиция находится за максимальным значением смещения этого файла. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBaio_read\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ glibc 2.1. POSIX.1\-2001. .SH ЗАМЕЧАНИЯ .\" or the control block of the operation Желательно обнулять буфер блока управления перед использованием. Блок управления не должен изменяться во время выполнения операции чтения. Область буфера, в которую выполняется чтение, должна быть недоступна во время операции, иначе поведение непредсказуемо. Области памяти, с которыми производится работа, должны оставаться доступными. .PP Одновременное выполнение операций ввода\-вывода через совместно используемую структуру \fIaiocb\fP приводит к непредсказуемым результатам. .SH ПРИМЕРЫ Смотрите \fBaio\fP(7). .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), \fBlio_listio\fP(3), \fBaio\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Dmitry Bolkhovskikh и 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 .