00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _UXAIO_HPP_
00019 #define _UXAIO_HPP_
00020
00021 #include <aio.h>
00022
00023 namespace Ux {
00024
00025
00026
00027
00028 class Aio : public aiocb, public Base {
00029 protected:
00030
00031 public:
00032 Aio(void)
00033 {
00034 memset(this, 0, sizeof(struct aiocb));
00035 }
00036 int cancel(int fd);
00037 int error(void);
00038 void sync(int op = O_SYNC);
00039 void read(void);
00040 ssize_t return_status(void);
00041 static void suspend(const struct aiocb *const list[], int cbcnt,
00042 const struct timespec *timeout = NULL);
00043 void write(void);
00044 static void listio(int mode, struct aiocb *const list[],
00045 int cbcnt, struct sigevent *sig = NULL);
00046 };
00047
00048 }
00049
00050 #endif // _UXAIO_HPP_