libioh.inc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. Type
  2. _IO_pos_t = _G_fpos_t;
  3. _IO_fpos_t = _G_fpos_t;
  4. _IO_fpos64_t = _G_fpos64_t;
  5. _IO_size_t = _G_size_t;
  6. _IO_ssize_t = _G_ssize_t;
  7. _IO_off_t = _G_off_t;
  8. _IO_off64_t = _G_off64_t;
  9. _IO_pid_t = _G_pid_t;
  10. _IO_uid_t = _G_uid_t;
  11. _IO_iconv_t = _G_iconv_t;
  12. P_IO_pos_t = ^_IO_pos_t;
  13. P_IO_fpos_t = ^_IO_fpos_t;
  14. P_IO_fpos64_t = ^_IO_fpos64_t;
  15. P_IO_size_t = ^_IO_size_t;
  16. P_IO_ssize_t = ^_IO_ssize_t;
  17. P_IO_off_t = ^_IO_off_t;
  18. P_IO_off64_t = ^_IO_off64_t;
  19. P_IO_pid_t = ^_IO_pid_t;
  20. P_IO_uid_t = ^_IO_uid_t;
  21. P_IO_iconv_t = ^_IO_iconv_t;
  22. Const
  23. _IO_BUFSIZ = _G_BUFSIZ;
  24. Type
  25. _IO_va_list = _G_va_list;
  26. _IO_wint_t = _G_wint_t;
  27. const
  28. _IO_UNIFIED_JUMPTABLES = 1;
  29. _IO_USE_DTOA = 1;
  30. __EOF = -(1);
  31. const
  32. _IOS_INPUT = 1;
  33. _IOS_OUTPUT = 2;
  34. _IOS_ATEND = 4;
  35. _IOS_APPEND = 8;
  36. _IOS_TRUNC = 16;
  37. _IOS_NOCREATE = 32;
  38. _IOS_NOREPLACE = 64;
  39. _IOS_BIN = 128;
  40. _IO_MAGIC = $FBAD0000;
  41. _OLD_STDIO_MAGIC = $FABC0000;
  42. _IO_MAGIC_MASK = $FFFF0000;
  43. _IO_USER_BUF = 1;
  44. _IO_UNBUFFERED = 2;
  45. _IO_NO_READS = 4;
  46. _IO_NO_WRITES = 8;
  47. _IO_EOF_SEEN = $10;
  48. _IO_ERR_SEEN = $20;
  49. _IO_DELETE_DONT_CLOSE = $40;
  50. _IO_LINKED = $80;
  51. _IO_IN_BACKUP = $100;
  52. _IO_LINE_BUF = $200;
  53. _IO_TIED_PUT_GET = $400;
  54. _IO_CURRENTLY_PUTTING = $800;
  55. _IO_IS_APPENDING = $1000;
  56. _IO_IS_FILEBUF = $2000;
  57. _IO_BAD_SEEN = $4000;
  58. _IO_USER_LOCK = $8000;
  59. _IO_SKIPWS = 01;
  60. _IO_LEFT = 02;
  61. _IO_RIGHT = 04;
  62. _IO_INTERNAL = 010;
  63. _IO_DEC = 020;
  64. _IO_OCT = 040;
  65. _IO_HEX = 0100;
  66. _IO_SHOWBASE = 0200;
  67. _IO_SHOWPOINT = 0400;
  68. _IO_UPPERCASE = 01000;
  69. _IO_SHOWPOS = 02000;
  70. _IO_SCIENTIFIC = 04000;
  71. _IO_FIXED = 010000;
  72. _IO_UNITBUF = 020000;
  73. _IO_STDIO = 040000;
  74. _IO_DONT_CLOSE = 0100000;
  75. _IO_BOOLALPHA = 0200000;
  76. type
  77. P_IO_jump_t = ^_IO_jump_t;
  78. _IO_jump_t = record
  79. end;
  80. P_IO_lock_t = ^_IO_lock_t;
  81. _IO_lock_t = pointer;
  82. P_IO_lock = P_IO_lock_t;
  83. type
  84. __codecvt_result = Longint;
  85. Const
  86. __codecvt_ok = 0;
  87. __codecvt_partial = 1;
  88. __codecvt_error = 2;
  89. __codecvt_noconv = 3;
  90. type
  91. P_IO_codecvt = ^_IO_codecvt;
  92. // The following function declarations are used anonymously in the header file.
  93. TCodeCvtDestrProc = procedure(p1: P_IO_codecvt); cdecl;
  94. TCodeCvtDoOutFunc = function(p1: P_IO_codecvt; p2: PMultiByteState; p3, p4: Pwchar_t; p5: PPwchar_t; p6, p7: PChar; p8: PPChar): __codecvt_result; cdecl;
  95. TCodeCvtDoUnshiftFunc = function(p1: P_IO_codecvt; p2: PMultiByteState; p3: PChar; p4: PChar; p5: PPChar): __codecvt_result; cdecl;
  96. TCodeCvtDoInFunc = function(p1: P_IO_codecvt; p2: PMultiByteState; p3: PChar; p4: PChar; p5: PPChar; p6: Pwchar_t; p7: Pwchar_t; p8: PPwchar_t): __codecvt_result; cdecl;
  97. TCodeCvtDoEncodingFunc = function(p1: P_IO_codecvt): Integer; cdecl;
  98. TCodeCvtDoAlwaysNoConvFunc = function(p1: P_IO_codecvt): Integer; cdecl;
  99. TCodeCvtDoLengthFunc = function(p1: P_IO_codecvt; p2: PMultiByteState; p3: PChar; p4: PChar; p5: _IO_size_t): Integer; cdecl;
  100. TCodeCvtDoMaxLengthFunc = function(p1: P_IO_codecvt): Integer; cdecl;
  101. _IO_codecvt = record
  102. __codecvt_destr : TCodeCvtDestrProc;
  103. __codecvt_do_out : TCodeCvtDoOutFunc;
  104. __codecvt_do_unshift : TCodeCvtDoUnshiftFunc;
  105. __codecvt_do_in : TCodeCvtDoInFunc;
  106. __codecvt_do_encoding : TCodeCvtDoEncodingFunc;
  107. __codecvt_do_always_noconv : TCodeCvtDoAlwaysNoConvFunc;
  108. __codecvt_do_length : TCodeCvtDoLengthFunc;
  109. __codecvt_do_max_length : TCodeCvtDoMaxLengthFunc;
  110. __cd_in : _IO_iconv_t;
  111. __cd_out : _IO_iconv_t;
  112. end;
  113. P_IO_wide_data = ^_IO_wide_data;
  114. _IO_wide_data = record
  115. _IO_read_ptr : Pwchar_t;
  116. _IO_read_end : Pwchar_t;
  117. _IO_read_base : Pwchar_t;
  118. _IO_write_base : Pwchar_t;
  119. _IO_write_ptr : Pwchar_t;
  120. _IO_write_end : Pwchar_t;
  121. _IO_buf_base : Pwchar_t;
  122. _IO_buf_end : Pwchar_t;
  123. _IO_save_base : Pwchar_t;
  124. _IO_backup_base : Pwchar_t;
  125. _IO_save_end : Pwchar_t;
  126. _IO_state : __mbstate_t;
  127. _IO_last_state : __mbstate_t;
  128. _codecvt : _IO_codecvt;
  129. _shortbuf : array[0..0] of wchar_t;
  130. _wide_vtable : P_IO_jump_t;
  131. end;
  132. P_IO_FILE = ^_IO_FILE;
  133. PIOMarker = ^_IO_marker;
  134. _IO_marker = {packed} record
  135. _next: PIOMarker;
  136. _sbuf: P_IO_File;
  137. _pos: Integer;
  138. end;
  139. _IO_FILE = {packed} record
  140. _flags: Longint;
  141. _IO_read_ptr: PChar;
  142. _IO_read_end: PChar;
  143. _IO_read_base: PChar;
  144. _IO_write_base: PChar;
  145. _IO_write_ptr: PChar;
  146. _IO_write_end: PChar;
  147. _IO_buf_base: PChar;
  148. _IO_buf_end: PChar;
  149. _IO_save_base: PChar;
  150. _IO_backup_base: PChar;
  151. _IO_save_end: PChar;
  152. _markers: PIOMarker;
  153. _chain: P_IO_File;
  154. _fileno: Integer;
  155. _blksize: Integer;
  156. _old_offset: _IO_off_t;
  157. _cur_column: word;
  158. _vtable_offset: shortint;
  159. _shortbuf: packed array[0..1-1] of Char;
  160. _lock: P_IO_Lock;
  161. _offset: _IO_off64_t;
  162. _codecvt: ^_IO_codecvt;
  163. _wide_data: ^_IO_wide_data;
  164. _mode: longint;
  165. _unused2: packed array[0..(15*SizeOf(Integer) - 2*SizeOf(Pointer))-1] of Byte;
  166. end;
  167. P_IO_FILE_complete = ^_IO_FILE_complete;
  168. _IO_FILE_complete = record
  169. _file : _IO_FILE;
  170. _offset : _IO_off64_t;
  171. _codecvt : P_IO_codecvt;
  172. _wide_data : P_IO_wide_data;
  173. __pad1 : pointer;
  174. __pad2 : pointer;
  175. _mode : longint;
  176. end;
  177. P_IO_FILE_plus = ^_IO_FILE_plus;
  178. _IO_FILE_plus = record
  179. {undefined structure}
  180. end;
  181. var
  182. _IO_2_1_stdin_ : _IO_FILE_plus;cvar;external;
  183. _IO_2_1_stdout_ : _IO_FILE_plus;cvar;external;
  184. _IO_2_1_stderr_ : _IO_FILE_plus;cvar;external;
  185. _IO_stdin : P_IO_FILE;cvar;external;
  186. _IO_stdout : P_IO_FILE;cvar;external;
  187. _IO_stderr : P_IO_FILE;cvar;external;
  188. type
  189. __io_read_fn = function(__cookie: Pointer; __buf: PChar; __nbytes: size_t): __ssize_t; cdecl;
  190. __io_write_fn = function(__cookie: Pointer; __buf: PChar; __n: size_t): __ssize_t; cdecl;
  191. __io_seek_fn = function(__cookie: Pointer; __pos: P_IO_off64_t; __w: Integer): Integer; cdecl;
  192. __io_close_fn = function(__cookie: Pointer): Integer; cdecl;
  193. Pcookie_read_function_t = ^cookie_read_function_t;
  194. cookie_read_function_t = __io_read_fn;
  195. Pcookie_write_function_t = ^cookie_write_function_t;
  196. cookie_write_function_t = __io_write_fn;
  197. Pcookie_seek_function_t = ^cookie_seek_function_t;
  198. cookie_seek_function_t = __io_seek_fn;
  199. Pcookie_close_function_t = ^cookie_close_function_t;
  200. cookie_close_function_t = __io_close_fn;
  201. P_IO_cookie_io_functions_t = ^_IO_cookie_io_functions_t;
  202. _IO_cookie_io_functions_t = record
  203. read : __io_read_fn;
  204. write : __io_write_fn;
  205. seek : __io_seek_fn;
  206. close : __io_close_fn;
  207. end;
  208. Pcookie_io_functions_t = ^cookie_io_functions_t;
  209. cookie_io_functions_t = _IO_cookie_io_functions_t;
  210. P_IO_cookie_file = ^_IO_cookie_file;
  211. _IO_cookie_file = record
  212. _file: _IO_FILE;
  213. vtable: Pointer;
  214. cookie: Pointer;
  215. io_functions: _IO_cookie_io_functions_t;
  216. end;
  217. function __underflow(_para1:P_IO_FILE):longint;cdecl;external clib name '__underflow';
  218. function __uflow(_para1:P_IO_FILE):longint;cdecl;external clib name '__uflow';
  219. function __overflow(_para1:P_IO_FILE; _para2:longint):longint;cdecl;external clib name '__overflow';
  220. function __wunderflow(_para1:P_IO_FILE):_IO_wint_t;cdecl;external clib name '__wunderflow';
  221. function __wuflow(_para1:P_IO_FILE):_IO_wint_t;cdecl;external clib name '__wuflow';
  222. function __woverflow(_para1:P_IO_FILE; _para2:_IO_wint_t):_IO_wint_t;cdecl;external clib name '__woverflow';
  223. function _IO_getc_unlocked(_fp: P_IO_File): Longint;
  224. function _IO_peekc_unlocked(_fp: P_IO_File): Longint;
  225. function _IO_putc_unlocked(_ch: Char; _fp: P_IO_File): Longint;
  226. function _IO_getwc_unlocked(_fp: P_IO_File): Longint;
  227. function _IO_putwc_unlocked(_wch: wchar_t; _fp: P_IO_File): Longint;
  228. function _IO_feof_unlocked(_fp: P_IO_File): Longint;
  229. function _IO_ferror_unlocked(_fp: P_IO_File): Longint;
  230. function _IO_getc(__fp:P_IO_FILE):longint;cdecl;external clib name '_IO_getc';
  231. function _IO_putc(__c:longint; __fp:P_IO_FILE):longint;cdecl;external clib name '_IO_putc';
  232. function _IO_feof(__fp:P_IO_FILE):longint;cdecl;external clib name '_IO_feof';
  233. function _IO_ferror(__fp:P_IO_FILE):longint;cdecl;external clib name '_IO_ferror';
  234. function _IO_peekc_locked(__fp:P_IO_FILE):longint;cdecl;external clib name '_IO_peekc_locked';
  235. function _IO_PENDING_OUTPUT_COUNT(_fp : P_IO_File) : longint;
  236. procedure _IO_flockfile(_para1:P_IO_FILE);cdecl;external clib name '_IO_flockfile';
  237. procedure _IO_funlockfile(_para1:P_IO_FILE);cdecl;external clib name '_IO_funlockfile';
  238. function _IO_ftrylockfile(_para1:P_IO_FILE):longint;cdecl;external clib name '_IO_ftrylockfile';
  239. function _IO_vfscanf(_para1:P_IO_FILE; _para2:Pchar; _para3:_IO_va_list; _para4:Plongint):longint;cdecl;external clib name '_IO_vfscanf';
  240. function _IO_vfprintf(_para1:P_IO_FILE; _para2:Pchar; _para3:_IO_va_list):longint;cdecl;external clib name '_IO_vfprintf';
  241. function _IO_padn(_para1:P_IO_FILE; _para2:longint; _para3:_IO_ssize_t):_IO_ssize_t;cdecl;external clib name '_IO_padn';
  242. function _IO_sgetn(_para1:P_IO_FILE; _para2:pointer; _para3:_IO_size_t):_IO_size_t;cdecl;external clib name '_IO_sgetn';
  243. function _IO_seekoff(_para1:P_IO_FILE; _para2:_IO_off64_t; _para3:longint; _para4:longint):_IO_off64_t;cdecl;external clib name '_IO_seekoff';
  244. function _IO_seekpos(_para1:P_IO_FILE; _para2:_IO_off64_t; _para3:longint):_IO_off64_t;cdecl;external clib name '_IO_seekpos';
  245. procedure _IO_free_backup_area(_para1:P_IO_FILE);cdecl;external clib name '_IO_free_backup_area';
  246. { ---------------------------------------------------------------------
  247. Borland compatibility types
  248. ---------------------------------------------------------------------}
  249. Type
  250. TIOLock = _IO_lock_t;
  251. PIOLock = ^TIOLock;
  252. TIOCodeVect = _IO_codecvt;
  253. PIOCodeVect = ^TIOCodeVect;
  254. TCodeCvtDoOutProc = TCodeCvtDoOutFunc;
  255. TCodeCvtDoUnshiftProc = TCodeCvtDoUnshiftFunc;
  256. TCodeCvtDoInProc = TCodeCvtDoInFunc;
  257. TCodeCvtDoEncodingProc = TCodeCvtDoEncodingFunc;
  258. TCodeCvtDoAlwaysNoConvProc = TCodeCvtDoAlwaysNoConvFunc;
  259. TCodeCvtDoLengthProc = TCodeCvtDoLengthFunc;
  260. TCodeCvtDoMaxLengthProc = TCodeCvtDoMaxLengthFunc;
  261. TIOFile = _IO_FILE;
  262. PIOFile = ^TIOFile;
  263. TIOCookieFunctions = _IO_cookie_io_functions_t;
  264. PIOCookieFunctions = ^TIOCookieFunctions;
  265. TIOCookieFile = _IO_cookie_file;
  266. PIOCookieFile = ^TIOCookieFile;