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

NUME

       aio_write - scriere asincronă

BIBLIOTECA

       Biblioteca de timp real (librt, -lrt)

REZUMAT

       #include <aio.h>

       int aio_write(struct aiocb *aiocbp);

DESCRIERE

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

           write(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).

       Dacă O_APPEND nu este definită,  datele  sunt  scrise  începând  de  la  poziția  absolută
       aiocbp->aio_offset,  indiferent  de  poziția  indicatorului în fișier.  Dacă O_APPEND este
       definită, datele sunt scrise la sfârșitul  fișierului  în  aceeași  ordine  în  care  sunt
       efectuate   apelurile  aio_write().   După  apel,  valoarea  decalajului  de  fișier  este
       nespecificată.

       „Asincron” înseamnă că acest apel returnează imediat ce cererea  a  fost  pusă  în  coadă;
       scrierea  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 de 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 scriu date într-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 scriere.

       EFBIG  Fișierul  este  un fișier obișnuit, dorim să scriem cel puțin un octet, dar poziția
              de pornire se află la sau dincolo de decalajul maxim pentru acest fișier.

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

       ENOSYS aio_write() nu este implementată.

VERSIUNI

       Funcția aio_write() 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_write()                                                │ 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 scriere este în desfășurare.
       Zona din memoria tampon care se scrie nu trebuie să fie accesată  în  timpul  operațiunii,
       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.

CONSULTAȚI ȘI

       aio_cancel(3),  aio_error(3),  aio_fsync(3),  aio_read(3),  aio_return(3), aio_suspend(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⟩.