⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aio.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
字号:
/* aio.h * *  $Id: aio.h,v 1.5 1999/04/26 18:04:46 joel Exp $ */#ifndef __POSIX_ASYNCHRONOUS_IO_h#define __POSIX_ASYNCHRONOUS_IO_h#ifdef __cplusplusextern "C" {#endif#include <sys/features.h>#if defined(_POSIX_ASYNCHRONOUS_IO)/* *  6.7.1 Data Definitions for Asynchronous Input and Output,  *        P1003.1b-1993, p. 151 */#include <sys/types.h>#include <signal.h>#include <time.h>#include <fcntl.h>/* *  6.7.1.2 Manifest Constants, P1003.1b-1993, p. 153 */#define AIO_CANCELED    0 /* all requested operations have been canceled */#define AIO_NOTCANCELED 1 /* some of the operations could not be canceled */                          /*   since they are in progress */#define AIO_ALLDONE     2 /* none of the requested operations could be */                          /*   canceled since they are already complete *//* lio_listio() options */#define LIO_WAIT        0 /* calling process is to suspend until the */                          /*   operation is complete */#define LIO_NOWAIT      1 /* calling process is to continue execution while */                          /*   the operation is performed and no notification */                          /*   shall be given when the operation is completed */#define LIO_READ        2 /* request a read() */#define LIO_WRITE       3 /* request a write() */#define LIO_NOP         4 /* no transfer is requested *//* *  6.7.1.1 Asynchronous I/O Control Block, P1003.1b-1993, p. 151 */struct aiocb {  int             aio_fildes;     /* File descriptor */  off_t           aio_offset;     /* File offset */  volatile void  *aio_buf;        /* Location of buffer */  size_t          aio_nbytes;     /* Length of transfer */  int             aio_reqprio;    /* Request priority offset */  struct sigevent aio_sigevent;   /* Signal number and value */  int             aoi_lio_opcode; /* Operation to be performed */};/* *  6.7.2 Asynchronous Read, P1003.1b-1993, p. 154 */int aio_read(  struct aiocb  *aiocbp);/* *  6.7.3 Asynchronous Write, P1003.1b-1993, p. 155 */int aio_write(  struct aiocb  *aiocbp);/* *  6.7.4 List Directed I/O, P1003.1b-1993, p. 158 */int lio_listio(  int                    mode,  struct aiocb  * const  list[],  int                    nent,  struct sigevent       *sig);/* *  6.7.5 Retrieve Error of Asynchronous I/O Operation, P1003.1b-1993, p. 161 */int aio_error(  const struct aiocb  *aiocbp);/* *  6.7.6 Retrieve Return Status of Asynchronous I/O Operation,  *        P1003.1b-1993, p. 162 */int aio_return(  const struct aiocb  *aiocbp);/* *  6.7.7 Cancel Asynchronous I/O Operation, P1003.1b-1993, p. 163 */int aio_cancel(  int            filedes,  struct aiocb  *aiocbp);/* *  6.7.7 Wait for Asynchronous I/O Request, P1003.1b-1993, p. 164 */int aio_suspend(  struct aiocb  * const   list[],  int                     nent,  const struct timespec  *timeout);#if defined(_POSIX_SYNCHRONIZED_IO)/* *  6.7.9 Asynchronous File Synchronization, P1003.1b-1993, p. 166 */int aio_fsync(  int            op,  struct aiocb  *aiocbp);#endif /* _POSIX_SYNCHRONIZED_IO */#endif /* _POSIX_ASYNCHRONOUS_IO */#ifdef __cplusplus}#endif#endif/* end of include file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -