aio_read(3) Library Functions Manual aio_read(3) NOM aio_read - Lecture asynchrone BIBLIOTHEQUE Bibliotheque de temps reel (librt, -lrt) SYNOPSIS #include int aio_read(struct aiocb *aiocbp); DESCRIPTION La fonction aio_read() met en file d'attente les requetes d'E/S decrites par le tampon pointe par aiocb. Cette fonction est la version asynchrone de read(2). Les arguments de l'appel read(fd, buf, count) correspondent (dans l'ordre) au membre aio_fildes, aio_buf et aio_nbytes de la structure pointee par aiocbp. Consultez aio(7) pour une description de la structure aiocb. La donnee est lue en commencant a la position absolue aiocbp->aio_offset, quelle que soit la position actuelle du pointeur sur le fichier. Apres cet appel, la valeur de la position courante du pointeur du fichier est indefinie. << Asynchrone >> signifie que cet appel renvoie aussitot que la requete a ete mise dans la file d'attente ; la lecture peut etre ou ne pas etre achevee lorsque l'appel renvoie. On peut tester cet achevement en utilisant aio_error(3). La valeur de retour d'une operation d'E/S terminee peut etre obtenue avec aio_return(3). La notification asynchrone de la fin de l'E/S peut etre obtenue en definissant aiocbp->aio_sigevent de facon appropriee. Consultez sigevent(3type) pour plus de details. Si _POSIX_PRIORITIZED_IO est definie et si le fichier le gere, l'operation asynchrone est soumise a une priorite egale a celle du processus appelant moins aiocbp->aio_reqprio. Le membre aiocbp->aio_lio_opcode est ignore. Aucune donnee n'est lue dans un fichier normal au-dela de son decalage maximum. VALEUR RENVOYEE En cas de reussite, 0 est renvoye. En cas d'erreur, la requete n'est pas mise dans la file d'attente, -1 est renvoye et errno est positionnee pour indiquer l'erreur. Si une erreur est detectee plus tard, elle sera signalee a l'aide de aio_return(3) (etat de retour -1) et aio_error(3) (etat d'erreur : tout ce qu'on veut, recupere dans errno, comme EBADF). ERREURS EAGAIN Ressources insuffisantes. EBADF aio_fildes n'est pas un descripteur de fichier valable ouvert en lecture. EINVAL Une ou plusieurs valeurs parmi aio_offset, aio_reqprio ou aio_nbytes ne sont pas valables. ENOSYS aio_read() n'est pas implemente. EOVERFLOW Le fichier est un fichier normal, nous avons commence la lecture avant la fin de fichier et voulons au moins un octet, mais la position de depart a depasse le decalage maximum du fichier. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |aio_read() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS POSIX.1-2008. HISTORIQUE glibc 2.1. POSIX.1-2001. NOTES C'est une bonne idee de mettre a zero le bloc de controle avant de l'utiliser. Ce bloc de controle ne doit pas etre modifie pendant l'operation de lecture. Il ne faut pas acceder a la zone tampon a lire pendant l'operation, sinon des resultats indefinis peuvent survenir. Les zones memoires atteintes doivent rester valables. Des operations d'E/S simultanees specifiant la meme structure aiocb produisent des resultats indefinis. EXEMPLES Consultez aio(7). VOIR AUSSI aio_cancel(3), aio_error(3), aio_fsync(3), aio_return(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Thomas Vincent Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 aio_read(3)