Scroll to navigation

io_getevents(2) System Calls Manual io_getevents(2)

NUME

io_getevents - citește evenimentele de In/Ieș asincrone din coada de completare

BIBLIOTECA

Biblioteca C standard (libc, -lc)

Alternativ, biblioteca de In/Ieș asincronă (libaio, -laio); a se vedea VERSIUNI.

REZUMAT

#include <linux/aio_abi.h>    /* Definiția tipului *io_*. */
#include <sys/syscall.h>      /* Definiția constantelor SYS_* */
#include <unistd.h>
int syscall(SYS_io_getevents, aio_context_t ctx_id,
            long min_nr, long nr, struct io_event *events,
            struct timespec *timeout);

Nota: glibc nu oferă o funcție învăluitoare pentru io_getevents(), fiind necesară utilizarea syscall(2).

DESCRIERE

Notă: această pagină descrie interfața brută de apelare a sistemului Linux. Funcția de învăluire furnizată de libaio utilizează un tip diferit pentru argumentul ctx_id. A se vedea VERSIUNI.

Apelul de sistem io_getevents() încearcă să citească cel puțin min_nr evenimente și până la nr evenimente din coada de completare a contextului AIO specificat de ctx_id.

Argumentul timeout specifică timpul de așteptare a evenimentelor și este specificat ca un timp de așteptare relativ într-o structură timespec(3).

Timpul specificat va fi rotunjit la granularitatea (finețea) ceasului de sistem și se garantează că nu va expira mai devreme.

Specificarea timeout ca NULL înseamnă blocarea pe termen nedefinit până când se obțin cel puțin min_nr evenimente.

VALOAREA RETURNATĂ

În caz de succes, io_getevents() returnează numărul de evenimente citite. Acesta poate fi 0, sau o valoare mai mică decât min_nr, dacă timeout a expirat. Poate fi, de asemenea, o valoare diferită de zero, mai mică decât min_nr, dacă apelul a fost întrerupt de un gestionar de semnal.

Pentru returnarea eșecului, a se vedea VERSIUNI.

ERORI-IEȘIRE

Fie events, fie timeout este un indicator nevalid.
Întrerupt de un gestionar de semnal; a se vedea signal(7).
ctx_id nu este valid. min_nr este în afara intervalului sau nr este în afara intervalului.
io_getevents() nu este implementat pe această arhitectură.

VERSIUNI

Probabil că doriți să utilizați funcția de învăluire io_getevents() furnizată de libaio.

Rețineți că funcția de învăluire libaio utilizează un tip diferit (io_context_t) pentru argumentul ctx_id. Rețineți, de asemenea, că funcția de învăluire libaio nu respectă convențiile obișnuite ale bibliotecii C pentru indicarea erorilor: în caz de eroare, aceasta returnează un număr de eroare negat (negativul uneia dintre valorile enumerate în ERRORS). Dacă apelul de sistem este invocat prin syscall(2), atunci valoarea de returnare urmează convențiile obișnuite pentru indicarea unei erori: -1, cu errno configurată la o valoare (pozitivă) care indică eroarea.

STANDARDE

Linux.

ISTORIC

Linux 2.5.

ERORI

Un ctx_id nevalid poate cauza o eroare de segmentare în loc să genereze eroarea EINVAL.

CONSULTAȚI ȘI

io_cancel(2), io_destroy(2), io_setup(2), io_submit(2), timespec(3), aio(7), time(7)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

30 martie 2023 Pagini de manual de Linux 6.05.01