diff options
author | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-01-26 16:37:27 +0000 |
---|---|---|
committer | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-01-26 16:37:27 +0000 |
commit | a98baa4ede288bd37db0bccf4115392e02b8b8dd (patch) | |
tree | 78402052e82891476fce9655d58290da36a99d21 /packages/libc/src/aioh.inc | |
parent | 75393f9f5a4c99a95aedb752f39a1f225f3d5ef5 (diff) | |
download | fpc-a98baa4ede288bd37db0bccf4115392e02b8b8dd.tar.gz |
* libc moved
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@9936 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/libc/src/aioh.inc')
-rw-r--r-- | packages/libc/src/aioh.inc | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/packages/libc/src/aioh.inc b/packages/libc/src/aioh.inc new file mode 100644 index 0000000000..4af4661287 --- /dev/null +++ b/packages/libc/src/aioh.inc @@ -0,0 +1,117 @@ + + +type + Paiocb = ^aiocb; + aiocb = record + aio_fildes : longint; + aio_lio_opcode : longint; + aio_reqprio : longint; + aio_buf : pointer; + aio_nbytes : size_t; + aio_sigevent : sigevent; + __next_prio : Paiocb; + __abs_prio : longint; + __policy : longint; + __error_code : longint; + __return_value : __ssize_t; + aio_offset : __off_t; + __pad : array[0..((sizeof(__off64_t)) - (sizeof(__off_t)))-1] of char; + __unused : array[0..31] of char; + end; + PPaiocb = ^Paiocb; + + Paiocb64 = ^aiocb64; + aiocb64 = record + aio_fildes : longint; + aio_lio_opcode : longint; + aio_reqprio : longint; + aio_buf : pointer; + aio_nbytes : size_t; + aio_sigevent : sigevent; + __next_prio : Paiocb; + __abs_prio : longint; + __policy : longint; + __error_code : longint; + __return_value : __ssize_t; + aio_offset : __off64_t; + __unused : array[0..31] of char; + end; + PPaiocb64 = ^Paiocb64; + + Paioinit = ^aioinit; + aioinit = record + aio_threads : longint; + aio_num : longint; + aio_locks : longint; + aio_usedba : longint; + aio_debug : longint; + aio_numusers : longint; + aio_idle_time : longint; + aio_reserved : longint; + end; + +Const + AIO_CANCELED = 0; + AIO_NOTCANCELED = 1; + AIO_ALLDONE = 2; + +Const + LIO_READ = 0; + LIO_WRITE = 1; + LIO_NOP = 2; + +Const + LIO_WAIT = 0; + LIO_NOWAIT = 1; + + +procedure aio_init(__init:Paioinit);cdecl;external clib name 'aio_init'; +function aio_read(__aiocbp:Paiocb):longint;cdecl;external clib name 'aio_read'; +function aio_write(__aiocbp:Paiocb):longint;cdecl;external clib name 'aio_write'; +function lio_listio(__mode:longint; __list:PPaiocb; __nent:longint; __sig:Psigevent):longint;cdecl;external clib name 'lio_listio'; +function aio_error(__aiocbp:Paiocb):longint;cdecl;external clib name 'aio_error'; +function aio_return(__aiocbp:Paiocb):__ssize_t;cdecl;external clib name 'aio_return'; +function aio_cancel(__fildes:longint; __aiocbp:Paiocb):longint;cdecl;external clib name 'aio_cancel'; +function aio_suspend(__list:array of Paiocb; __nent:longint; __timeout:Ptimespec):longint;cdecl;external clib name 'aio_suspend'; +function aio_fsync(__operation:longint; __aiocbp:Paiocb):longint;cdecl;external clib name 'aio_fsync'; + +function aio_read64(__aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_read64'; +function aio_write64(__aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_write64'; +function lio_listio64(__mode:longint; __list:PPaiocb64; __nent:longint; __sig:Psigevent):longint;cdecl;external clib name 'lio_listio64'; +function aio_error64(__aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_error64'; +function aio_return64(__aiocbp:Paiocb64):__ssize_t;cdecl;external clib name 'aio_return64'; +function aio_cancel64(__fildes:longint; __aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_cancel64'; +function aio_suspend64(__list:array of Paiocb64; __nent:longint; __timeout:Ptimespec):longint;cdecl;external clib name 'aio_suspend64'; +function aio_fsync64(__operation:longint; __aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_fsync64'; + +{ --------------------------------------------------------------------- + Borland compatibility types + ---------------------------------------------------------------------} + +Type + TPAsyncIoCB = aiocb; + PAsyncIoCB = ^TPAsyncIoCB; + PPAsyncIoCB = ^PAsyncIoCB; + + PAsyncIoCB64 = ^TAsyncIoCB64; + TAsyncIoCB64 = aiocb64; + PPAsyncIoCB64 = ^PAsyncIoCB64; + +procedure aio_init(const __init:aioinit);cdecl;external clib name 'aio_init'; +function aio_read(var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_read'; +function aio_write(var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_write'; +function lio_listio(__mode:longint; __list:PPaiocb; __nent:longint; var __sig:sigevent):longint;cdecl;external clib name 'lio_listio'; +function aio_error(const __aiocbp:aiocb):longint;cdecl;external clib name 'aio_error'; +function aio_return(var __aiocbp:aiocb):__ssize_t;cdecl;external clib name 'aio_return'; +function aio_cancel(__fildes:longint; var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_cancel'; +function aio_suspend(__list: PPaiocb; __nent:longint; const __timeout:timespec):longint;cdecl;external clib name 'aio_suspend'; +function aio_fsync(__operation:longint;var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_fsync'; + +function aio_read64(const __aiocbp:aiocb64):longint;cdecl;external clib name 'aio_read64'; +function aio_write64(var __aiocbp: aiocb64):longint;cdecl;external clib name 'aio_write64'; +function lio_listio64(__mode:longint; __list:PPaiocb64; __nent:longint;var __sig:sigevent):longint;cdecl;external clib name 'lio_listio64'; +function aio_error64(const __aiocbp:aiocb64):longint;cdecl;external clib name 'aio_error64'; +function aio_return64(var __aiocbp:aiocb64):__ssize_t;cdecl;external clib name 'aio_return64'; +function aio_cancel64(__fildes:longint; var __aiocbp:aiocb64):longint;cdecl;external clib name 'aio_cancel64'; +function aio_suspend64(__list:PPaiocb64; __nent:longint; const __timeout:timespec):longint;cdecl;external clib name 'aio_suspend64'; +function aio_fsync64(__operation:longint; var __aiocbp: aiocb64):longint;cdecl;external clib name 'aio_fsync64'; |