aioh.inc 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. type
  2. Paiocb = ^aiocb;
  3. aiocb = record
  4. aio_fildes : longint;
  5. aio_lio_opcode : longint;
  6. aio_reqprio : longint;
  7. aio_buf : pointer;
  8. aio_nbytes : size_t;
  9. aio_sigevent : sigevent;
  10. __next_prio : Paiocb;
  11. __abs_prio : longint;
  12. __policy : longint;
  13. __error_code : longint;
  14. __return_value : __ssize_t;
  15. aio_offset : __off_t;
  16. __pad : array[0..((sizeof(__off64_t)) - (sizeof(__off_t)))-1] of char;
  17. __unused : array[0..31] of char;
  18. end;
  19. PPaiocb = ^Paiocb;
  20. Paiocb64 = ^aiocb64;
  21. aiocb64 = record
  22. aio_fildes : longint;
  23. aio_lio_opcode : longint;
  24. aio_reqprio : longint;
  25. aio_buf : pointer;
  26. aio_nbytes : size_t;
  27. aio_sigevent : sigevent;
  28. __next_prio : Paiocb;
  29. __abs_prio : longint;
  30. __policy : longint;
  31. __error_code : longint;
  32. __return_value : __ssize_t;
  33. aio_offset : __off64_t;
  34. __unused : array[0..31] of char;
  35. end;
  36. PPaiocb64 = ^Paiocb64;
  37. Paioinit = ^aioinit;
  38. aioinit = record
  39. aio_threads : longint;
  40. aio_num : longint;
  41. aio_locks : longint;
  42. aio_usedba : longint;
  43. aio_debug : longint;
  44. aio_numusers : longint;
  45. aio_idle_time : longint;
  46. aio_reserved : longint;
  47. end;
  48. Const
  49. AIO_CANCELED = 0;
  50. AIO_NOTCANCELED = 1;
  51. AIO_ALLDONE = 2;
  52. Const
  53. LIO_READ = 0;
  54. LIO_WRITE = 1;
  55. LIO_NOP = 2;
  56. Const
  57. LIO_WAIT = 0;
  58. LIO_NOWAIT = 1;
  59. procedure aio_init(__init:Paioinit);cdecl;external clib name 'aio_init';
  60. function aio_read(__aiocbp:Paiocb):longint;cdecl;external clib name 'aio_read';
  61. function aio_write(__aiocbp:Paiocb):longint;cdecl;external clib name 'aio_write';
  62. function lio_listio(__mode:longint; __list:PPaiocb; __nent:longint; __sig:Psigevent):longint;cdecl;external clib name 'lio_listio';
  63. function aio_error(__aiocbp:Paiocb):longint;cdecl;external clib name 'aio_error';
  64. function aio_return(__aiocbp:Paiocb):__ssize_t;cdecl;external clib name 'aio_return';
  65. function aio_cancel(__fildes:longint; __aiocbp:Paiocb):longint;cdecl;external clib name 'aio_cancel';
  66. function aio_suspend(__list:array of Paiocb; __nent:longint; __timeout:Ptimespec):longint;cdecl;external clib name 'aio_suspend';
  67. function aio_fsync(__operation:longint; __aiocbp:Paiocb):longint;cdecl;external clib name 'aio_fsync';
  68. function aio_read64(__aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_read64';
  69. function aio_write64(__aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_write64';
  70. function lio_listio64(__mode:longint; __list:PPaiocb64; __nent:longint; __sig:Psigevent):longint;cdecl;external clib name 'lio_listio64';
  71. function aio_error64(__aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_error64';
  72. function aio_return64(__aiocbp:Paiocb64):__ssize_t;cdecl;external clib name 'aio_return64';
  73. function aio_cancel64(__fildes:longint; __aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_cancel64';
  74. function aio_suspend64(__list:array of Paiocb64; __nent:longint; __timeout:Ptimespec):longint;cdecl;external clib name 'aio_suspend64';
  75. function aio_fsync64(__operation:longint; __aiocbp:Paiocb64):longint;cdecl;external clib name 'aio_fsync64';
  76. { ---------------------------------------------------------------------
  77. Borland compatibility types
  78. ---------------------------------------------------------------------}
  79. Type
  80. TPAsyncIoCB = aiocb;
  81. PAsyncIoCB = ^TPAsyncIoCB;
  82. PPAsyncIoCB = ^PAsyncIoCB;
  83. PAsyncIoCB64 = ^TAsyncIoCB64;
  84. TAsyncIoCB64 = aiocb64;
  85. PPAsyncIoCB64 = ^PAsyncIoCB64;
  86. procedure aio_init(const __init:aioinit);cdecl;external clib name 'aio_init';
  87. function aio_read(var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_read';
  88. function aio_write(var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_write';
  89. function lio_listio(__mode:longint; __list:PPaiocb; __nent:longint; var __sig:sigevent):longint;cdecl;external clib name 'lio_listio';
  90. function aio_error(const __aiocbp:aiocb):longint;cdecl;external clib name 'aio_error';
  91. function aio_return(var __aiocbp:aiocb):__ssize_t;cdecl;external clib name 'aio_return';
  92. function aio_cancel(__fildes:longint; var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_cancel';
  93. function aio_suspend(__list: PPaiocb; __nent:longint; const __timeout:timespec):longint;cdecl;external clib name 'aio_suspend';
  94. function aio_fsync(__operation:longint;var __aiocbp:aiocb):longint;cdecl;external clib name 'aio_fsync';
  95. function aio_read64(const __aiocbp:aiocb64):longint;cdecl;external clib name 'aio_read64';
  96. function aio_write64(var __aiocbp: aiocb64):longint;cdecl;external clib name 'aio_write64';
  97. function lio_listio64(__mode:longint; __list:PPaiocb64; __nent:longint;var __sig:sigevent):longint;cdecl;external clib name 'lio_listio64';
  98. function aio_error64(const __aiocbp:aiocb64):longint;cdecl;external clib name 'aio_error64';
  99. function aio_return64(var __aiocbp:aiocb64):__ssize_t;cdecl;external clib name 'aio_return64';
  100. function aio_cancel64(__fildes:longint; var __aiocbp:aiocb64):longint;cdecl;external clib name 'aio_cancel64';
  101. function aio_suspend64(__list:PPaiocb64; __nent:longint; const __timeout:timespec):longint;cdecl;external clib name 'aio_suspend64';
  102. function aio_fsync64(__operation:longint; var __aiocbp: aiocb64):longint;cdecl;external clib name 'aio_fsync64';