Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       aio_read - citire asincronă

BIBLIOTECA

       Biblioteca de timp real (librt, -lrt)

REZUMAT

       #include <aio.h>

       int aio_read(struct aiocb *aiocbp);

DESCRIERE

       Funcția  aio_read()  pune  în  coadă  cererea de intrare/ieșire descrisă de memoria tampon
       indicată  de  aiocbp.   Această  funcție  este  analogul  asincron  al  funcției  read(2).
       Argumentele apelului

           read(fd, buf, count)

       corespund  (în ordine) câmpurilor aio_fildes, aio_buf și aio_nbytes din structura indicată
       de aiocbp.  (A se vedea aio(7) pentru o descriere a structurii aiocb).

       Datele sunt citite începând de  la  poziția  absolută  aiocbp->aio_offset,  indiferent  de
       poziția  indicatorului  în  fișier.   După apel, Datele sunt citite începând de la poziția
       absolută aiocbp->aio_offset, indiferent de poziția curentă a pointerului pe  fișier.  După
       acest apel, valoarea poziției curente a indicatorului fișierului este nespecificată.

       „Asincron”  înseamnă  că  acest  apel  returnează imediat ce cererea a fost pusă în coadă;
       citirea poate fi sau nu finalizată atunci când  se  returnează  apelul.   Se  poate  testa
       finalizarea  folosind aio_error(3).  Starea de returnare a unei operații In/Ieș finalizate
       poate fi obținută prin aio_return(3).  Notificarea asincronă a finalizării In/Ieș poate fi
       obținută  prin configurarea corespunzătoare a aiocbp->aio_sigevent; a se vedea sigevent(7)
       pentru detalii.

       Dacă _POSIX_PRIORITIZED_IO este definită, iar acest  fișier  o  acceptă,  atunci  operația
       asincronă  este  transmisă  cu  o  prioritate  egală  cu  cea  a  procesului apelant minus
       aiocbp->aio_reqprio.

       Câmpul aiocbp->aio_lio_opcode este ignorat.

       Nu se citesc date dintr-un fișier normal dincolo de decalajul maxim al acestuia.

VALOAREA RETURNATĂ

       În caz de succes, se returnează 0.  În caz de eroare, cererea nu este pusă  în  coadă,  se
       returnează  -1,  iar  errno  este configurată pentru a indica eroarea.  În cazul în care o
       eroare  este  detectată  abia  mai  târziu,  aceasta  va  fi  raportată  prin  intermediul
       aio_return(3) (returnează starea -1) și aio_error(3) (starea de eroare, oricare ar fi fost
       cea obținută în errno, cum ar fi EBADF).

ERORI

       EAGAIN Resurse insuficiente.

       EBADF  aio_fildes nu este un descriptor de fișier valid deschis pentru citire.

       EINVAL Unul sau mai multe dintre aio_offset, aio_reqprio, sau aio_nbytes nu sunt valide.

       ENOSYS aio_read() nu este implementată.

       EOVERFLOW
              Fișierul este un fișier obișnuit, începem să citim înainte de sfârșitul  fișierului
              și  dorim  cel  puțin  un  octet,  dar poziția de pornire a depășit decalajul maxim
              pentru acest fișier.

VERSIUNI

       Funcția aio_read() este disponibilă începând cu glibc 2.1.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │InterfațăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │aio_read()                                                 │ Siguranța firelor │ MT-Safe │
       └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2001, POSIX.1-2008.

NOTE

       Este o idee bună să se pună la zero blocul de control înainte  de  utilizare.   Blocul  de
       control  nu  trebuie  să  fie modificat în timp ce operația de citire este în desfășurare.
       Zona din memoria tampon din care se citește  nu  trebuie  accesată  în  timpul  operației,
       altfel  pot  apărea  rezultate  nedefinite.  Zonele de memorie implicate trebuie să rămână
       valide.

       Operațiile de In/Ieș simultane care specifică aceeași  structură  aiocb  produc  rezultate
       nedefinite.

EXEMPLE

       A se vedea aio(7).

CONSULTAȚI ȘI

       aio_cancel(3),  aio_error(3),  aio_fsync(3),  aio_return(3), aio_suspend(3), aio_write(3),
       lio_listio(3), aio(7)

TRADUCERE

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

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.