aio_read(3) Library Functions Manual aio_read(3) NUME aio_read - citire asincrona BIBLIOTECA Biblioteca de timp real (librt, -lrt) REZUMAT #include int aio_read(struct aiocb *aiocbp); DESCRIERE Funcia aio_read() pune in coada cererea de intrare/ieire descrisa de memoria tampon indicata de aiocbp. Aceasta funcie este analogul asincron al funciei read(2). Argumentele apelului read(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). Datele sunt citite incepand de la poziia absoluta aiocbp->aio_offset, indiferent de poziia indicatorului in fiier. Dupa apel, Datele sunt citite incepand de la poziia absoluta aiocbp->aio_offset, indiferent de poziia curenta a pointerului pe fiier. Dupa acest apel, valoarea poziiei curente a indicatorului fiierului este nespecificata. ,,Asincron" inseamna ca acest apel returneaza imediat ce cererea a fost pusa in coada; citirea 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 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 citesc date dintr-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 citire. EINVAL Unul sau mai multe dintre aio_offset, aio_reqprio, sau aio_nbytes nu sunt valide. ENOSYS aio_read() nu este implementata. EOVERFLOW Fiierul este un fiier obinuit, incepem sa citim inainte de sfaritul fiierului i dorim cel puin un octet, dar poziia de pornire a depait decalajul maxim pentru acest fiier. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |aio_read() | 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 citire este in desfaurare. Zona din memoria tampon din care se citete nu trebuie accesata in timpul operaiei, 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. EXEMPLE A se vedea aio(7). CONSULTAI 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 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.06 31 octombrie 2023 aio_read(3)