E/S asíncrona habilitada para archivos grandes

La estructura de datos fundamental asociada a todas las operaciones de AIO es struct aiocb. Dentro de esta estructura es elaio_offset, que se utiliza para especificar el desplazamiento para una operación de E/S.

Debido a la definición de 32 bits firmada deaio_offset, las interfaces AIO predeterminadas se limitan a un desplazamiento de 2Gb menos 1. Para superar esta limitación, se ha definido un nuevo bloque de control de AIO con un campo de desplazamiento de 64 bits firmado y un nuevo conjunto de interfaces AIO. Estas definiciones de 64 bits terminan con "64".

Las interfaces AIO habilitadas para desplazamiento grande están disponibles bajo el entorno de compilación _LARGE_FILES y bajo el entorno de programación _LARGE_FILE_API. Para obtener más información, consulte Writing Programs That Access Large Files en AIX® Versión 7.1 General Programming Concepts: Writing and Debugging Programs.

En el entorno de compilación _LARGE_FILES, las aplicaciones AIO escritas en las interfaces predeterminadas interpretan las siguientes redefiniciones:

Elemento Redefinido Para Ser Archivo de cabecera
struct aiocb struct aiocb64 sys/aio.h
aio_read () aio_read64() sys/aio.h
aio_write () aio_write64() sys/aio.h
aio_cancel () aio_cancel64() sys/aio.h
aio_suspend () aio_suspend64() sys/aio.h
aio_listio () aio_listio64() sys/aio.h
aio_return () aio_return64() sys/aio.h
aio_error () aio_error64() sys/aio.h

Para obtener información sobre cómo utilizar el entorno _LARGE_FILES, consulte Porting Applications to the Large File Environment en AIX Versión 7.1 General Programming Concepts: Writing and Debugging Programs.

En el entorno _LARGE_FILE_API, las interfaces de programación de aplicaciones (API) de 64 bits son visibles. Este entorno requiere la recogida de aplicaciones en el nuevo nombre de API de 64 bits. Para obtener más información sobre cómo utilizar el entorno _LARGE_FILE_API, consulte Utilización de las subrutinas del sistema de archivos de 64 bits en AIX Versión 7.1 General Programming Concepts: Writing and Debugging Programs.