aio_write(3) Library Functions Manual aio_write(3) NUME aio_write - scriere asincrona BIBLIOTECA Biblioteca de timp real (librt, -lrt) SINOPSIS #include int aio_write(struct aiocb *aiocbp); DESCRIERE Funcia aio_write() pune in coada cererea de intrare/ieire descrisa de memoria tampon indicata de aiocbp. Aceasta funcie este analogul asincron al funciei write(2). Argumentele apelului write(fd, buf, count) corespund (in ordine) campurilor aio_fildes, aio_buf i aio_nbytes din structura indicata de aiocbp. (A se vedea aio(7) pentru o descriere a structurii aiocb). Daca O_APPEND nu este definita, datele sunt scrise incepand de la poziia absoluta aiocbp->aio_offset, indiferent de poziia indicatorului in fiier. Daca O_APPEND este definita, datele sunt scrise la sfaritul fiierului in aceeai ordine in care sunt efectuate apelurile aio_write(). Dupa apel, valoarea decalajului de fiier este nespecificata. ,,Asincron" inseamna ca acest apel returneaza imediat ce cererea a fost pusa in coada; scrierea poate fi sau nu finalizata atunci cand se returneaza apelul. Se poate testa finalizarea folosind aio_error(3). Starea de returnare a unei operaii In/Ie finalizate poate fi obinuta prin aio_return(3). Notificarea asincrona a finalizarii de In/Ie poate fi obinuta prin configurarea corespunzatoare a aiocbp->aio_sigevent; a se vedea sigevent(3type) pentru detalii. Daca _POSIX_PRIORITIZED_IO este definita, iar acest fiier o accepta, atunci operaia asincrona este transmisa cu o prioritate egala cu cea a procesului apelant minus aiocbp->aio_reqprio. Campul aiocbp->aio_lio_opcode este ignorat. Nu se scriu date intr-un fiier normal dincolo de decalajul maxim al acestuia. VALOAREA RETURNATA In caz de succes, se returneaza 0. In caz de eroare, cererea nu este pusa in coada, se returneaza -1, iar errno este configurata pentru a indica eroarea. In cazul in care o eroare este detectata abia mai tarziu, aceasta va fi raportata prin intermediul aio_return(3) (returneaza starea -1) i aio_error(3) (starea de eroare, oricare ar fi fost cea obinuta in errno, cum ar fi EBADF). ERORI-IEIRE EAGAIN Resurse insuficiente. EBADF aio_fildes nu este un descriptor de fiier valid deschis pentru scriere. EFBIG Fiierul este un fiier obinuit, dorim sa scriem cel puin un octet, dar poziia de pornire se afla la sau dincolo de decalajul maxim pentru acest fiier. EINVAL Unul sau mai multe dintre aio_offset, aio_reqprio, aio_nbytes nu sunt valide. ENOSYS aio_write() nu este implementata. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |aio_write() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE POSIX.1-2008. ISTORIC glibc 2.1. POSIX.1-2001. NOTE Este o idee buna sa se puna la zero blocul de control inainte de utilizare. Blocul de control nu trebuie sa fie modificat in timp ce operaia de scriere este in desfaurare. Zona din memoria tampon care se scrie nu trebuie sa fie accesata in timpul operaiunii, altfel pot aparea rezultate nedefinite. Zonele de memorie implicate trebuie sa ramana valide. Operaiile de In/Ie simultane care specifica aceeai structura aiocb produc rezultate nedefinite. CONSULTAI 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 in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.9.1 2 mai 2024 aio_write(3)