stdlibh.inc 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. type
  2. Pdiv_t = ^div_t;
  3. div_t = record
  4. quot : longint;
  5. rem : longint;
  6. end;
  7. Pldiv_t = ^ldiv_t;
  8. ldiv_t = record
  9. quot : longint;
  10. rem : longint;
  11. end;
  12. Plldiv_t = ^lldiv_t;
  13. lldiv_t = record
  14. quot : int64;
  15. rem : int64;
  16. end;
  17. const
  18. RAND_MAX = 2147483647;
  19. EXIT_FAILURE = 1;
  20. EXIT_SUCCESS = 0;
  21. function MB_CUR_MAX : size_t;cdecl; external clib name '__ctype_get_mb_cur_max';
  22. function __ctype_get_mb_cur_max:size_t;cdecl;external clib name '__ctype_get_mb_cur_max';
  23. function atof(__nptr:Pchar):double;cdecl;external clib name 'atof';
  24. function atoi(__nptr:Pchar):longint;cdecl;external clib name 'atoi';
  25. function atol(__nptr:Pchar):longint;cdecl;external clib name 'atol';
  26. function atoll(__nptr:Pchar):int64;cdecl;external clib name 'atoll';
  27. function strtod(__nptr:Pchar; __endptr:PPchar):double;cdecl;external clib name 'strtod';
  28. function strtof(__nptr:Pchar; __endptr:PPchar):double;cdecl;external clib name 'strtof';
  29. function strtold(NumPtr: PChar; EndPtr: PPChar): Extended; cdecl; external clib name 'strtold';
  30. function strtol(__nptr:Pchar; __endptr:PPchar; __base:longint):longint;cdecl;external clib name 'strtol';
  31. function strtoul(__nptr:Pchar; __endptr:PPchar; __base:longint):dword;cdecl;external clib name 'strtoul';
  32. function strtoq(__nptr:Pchar; __endptr:PPchar; __base:longint):int64;cdecl;external clib name 'strtoq';
  33. function strtouq(__nptr:Pchar; __endptr:PPchar; __base:longint):qword;cdecl;external clib name 'strtouq';
  34. function strtoll(__nptr:Pchar; __endptr:PPchar; __base:longint):int64;cdecl;external clib name 'strtoll';
  35. function strtoull(__nptr:Pchar; __endptr:PPchar; __base:longint):qword;cdecl;external clib name 'strtoull';
  36. function __strtol_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):longint;cdecl;external clib name '__strtol_l';
  37. function __strtoul_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):dword;cdecl;external clib name '__strtoul_l';
  38. function __strtoll_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):int64;cdecl;external clib name '__strtoll_l';
  39. function __strtoull_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):qword;cdecl;external clib name '__strtoull_l';
  40. function __strtod_l(__nptr:Pchar; __endptr:PPchar; __loc:__locale_t):double;cdecl;external clib name '__strtod_l';
  41. function __strtof_l(__nptr:Pchar; __endptr:PPchar; __loc:__locale_t):double;cdecl;external clib name '__strtof_l';
  42. function __strtold_l(__nptr: PChar; __endptr: PPChar;__loc: __locale_t): Extended; cdecl;external clib name '__strtold_l';
  43. function __strtod_internal(__nptr:Pchar; __endptr:PPchar; __group:longint):double;cdecl;external clib name '__strtod_internal';
  44. function __strtof_internal(__nptr:Pchar; __endptr:PPchar; __group:longint):double;cdecl;external clib name '__strtof_internal';
  45. function __strtold_internal(__nptr: PChar; __endptr: PPChar; __group: longint): Extended; cdecl;external clib name '__strtold_internal';
  46. function __strtol_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):longint;cdecl;external clib name '__strtol_internal';
  47. function __strtoul_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):dword;cdecl;external clib name '__strtoul_internal';
  48. function __strtoll_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):int64;cdecl;external clib name '__strtoll_internal';
  49. function __strtoull_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):qword;cdecl;external clib name '__strtoull_internal';
  50. function a64l(__s:Pchar):longint;cdecl;external clib name 'a64l';
  51. function l64a(N: longint): PChar; cdecl;external clib name 'l64a';
  52. function __random:longint;cdecl;external clib name 'random';
  53. procedure srandom(__seed:dword);cdecl;external clib name 'srandom';
  54. function initstate(__seed:dword; __statebuf:Pchar; __statelen:size_t):Pchar;cdecl;external clib name 'initstate';
  55. function setstate(__statebuf:Pchar):Pchar;cdecl;external clib name 'setstate';
  56. Type
  57. Prandom_data = ^random_data;
  58. random_data = record
  59. fptr : Pint32_t;
  60. rptr : Pint32_t;
  61. state : Pint32_t;
  62. rand_type : longint;
  63. rand_deg : longint;
  64. rand_sep : longint;
  65. end_ptr : Pint32_t;
  66. end;
  67. function random_r(__buf:Prandom_data; __result:Pint32_t):longint;cdecl;external clib name 'random_r';
  68. function srandom_r(__seed:dword; __buf:Prandom_data):longint;cdecl;external clib name 'srandom_r';
  69. function initstate_r(__seed:dword; __statebuf:Pchar; __statelen:size_t; __buf:Prandom_data):longint;cdecl;external clib name 'initstate_r';
  70. function setstate_r(__statebuf:Pchar; __buf:Prandom_data):longint;cdecl;external clib name 'setstate_r';
  71. function rand:longint;cdecl;external clib name 'rand';
  72. procedure srand(__seed:dword);cdecl;external clib name 'srand';
  73. function rand_r(__seed:Pdword):longint;cdecl;external clib name 'rand_r';
  74. function drand48:double;cdecl;external clib name 'drand48';
  75. Type
  76. TRandWordArray = Array[0..2] of word;
  77. function erand48(var __xsubi: trandwordarray):double;cdecl;external clib name 'erand48';
  78. function lrand48:longint;cdecl;external clib name 'lrand48';
  79. function nrand48(var __xsubi: trandwordarray):longint;cdecl;external clib name 'nrand48';
  80. function mrand48:longint;cdecl;external clib name 'mrand48';
  81. function jrand48(var __xsubi:trandwordarray):longint;cdecl;external clib name 'jrand48';
  82. procedure srand48(__seedval:longint);cdecl;external clib name 'srand48';
  83. function seed48(var __seed16v:trandwordarray):Pword;cdecl;external clib name 'seed48';
  84. procedure lcong48(var __param:trandwordarray);cdecl;external clib name 'lcong48';
  85. type
  86. Pdrand48_data = ^drand48_data;
  87. drand48_data = record
  88. __x : array[0..2] of word;
  89. __old_x : array[0..2] of word;
  90. __c : word;
  91. __init : word;
  92. __a : qword;
  93. end;
  94. function drand48_r(__buffer:Pdrand48_data; __result:Pdouble):longint;cdecl;external clib name 'drand48_r';
  95. function erand48_r(var __xsubi: TRandWordArray; __buffer:Pdrand48_data; __result:Pdouble):longint;cdecl;external clib name 'erand48_r';
  96. function lrand48_r(__buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'lrand48_r';
  97. function nrand48_r(var __xsubi: TRandWordArray; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'nrand48_r';
  98. function mrand48_r(__buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'mrand48_r';
  99. function jrand48_r(var __xsubi: TRandWordArray; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'jrand48_r';
  100. function srand48_r(__seedval:longint; __buffer:Pdrand48_data):longint;cdecl;external clib name 'srand48_r';
  101. function seed48_r(var __seed16v: TRandWordArray; __buffer:Pdrand48_data):longint;cdecl;external clib name 'seed48_r';
  102. function lcong48_r(__param: pword; __buffer:Pdrand48_data):longint;cdecl;external clib name 'lcong48_r';
  103. procedure __abort; cdecl; external clib name 'abort';
  104. type
  105. TAtExitProc = procedure; cdecl;
  106. TOnExitProc = procedure(status: longint; arg: Pointer); cdecl;
  107. function atexit(__func:TAtExitProc):longint;cdecl;external clib name 'atexit';
  108. function on_exit(__func:TOnExitProc; __arg:pointer):longint;cdecl;external clib name 'on_exit';
  109. procedure __exit(Status: longint); cdecl;external clib name 'exit';
  110. //procedure _Exit (__status : longint);cdecl; external clib name '_exit';
  111. function getenv(__name:Pchar):Pchar;cdecl;external clib name 'getenv';
  112. function __secure_getenv(__name:Pchar):Pchar;cdecl;external clib name '__secure_getenv';
  113. function putenv(__string:Pchar):longint;cdecl;external clib name 'putenv';
  114. function setenv(__name:Pchar; __value:Pchar; __replace:longint):longint;cdecl;external clib name 'setenv';
  115. function unsetenv(__name:Pchar):longint;cdecl;external clib name 'unsetenv';
  116. function clearenv:longint;cdecl;external clib name 'clearenv';
  117. function mktemp(__template:Pchar):Pchar;cdecl;external clib name 'mktemp';
  118. function mkstemp(__template:Pchar):longint;cdecl;external clib name 'mkstemp';
  119. function mkstemp64(__template:Pchar):longint;cdecl;external clib name 'mkstemp64';
  120. function mkdtemp(__template:Pchar):Pchar;cdecl;external clib name 'mkdtemp';
  121. // **************** detect whether system symbol is hidden. Should be as of 1.9.4
  122. // **************** End of detect
  123. function __system(__command:Pchar):longint;cdecl;external clib name 'system';
  124. function system(__command:Pchar):longint;cdecl;external clib name 'system';
  125. function canonicalize_file_name(__name:Pchar):Pchar;cdecl;external clib name 'canonicalize_file_name';
  126. function realpath(__name:Pchar; __resolved:Pchar):Pchar;cdecl;external clib name 'realpath';
  127. Type
  128. __compar_fn_t = function (_para1:pointer; _para2:pointer):longint;cdecl;
  129. comparison_fn_t = __compar_fn_t;
  130. function bsearch(__key:pointer; __base:pointer; __nmemb:size_t; __size:size_t; __compar:__compar_fn_t):pointer;cdecl;external clib name 'bsearch';
  131. procedure qsort(__base:pointer; __nmemb:size_t; __size:size_t; __compar:__compar_fn_t);cdecl;external clib name 'qsort';
  132. function __abs(X: longint): longint; cdecl;external clib name 'abs';
  133. function labs(X: Longint): Longint; cdecl;external clib name 'labs';
  134. function llabs(X: Int64): Int64; cdecl;external clib name 'llabs';
  135. function __div(Numer: longint; Denom: longint): div_t; cdecl;external clib name 'div';
  136. function ldiv(Numer: Longint; Denom: Longint): ldiv_t; cdecl;external clib name 'ldiv';
  137. function lldiv(Numer: Int64; Denom: Int64): lldiv_t; cdecl;external clib name 'lldiv';
  138. function ecvt(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint):Pchar;cdecl;external clib name 'ecvt';
  139. function fcvt(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint):Pchar;cdecl;external clib name 'fcvt';
  140. function gcvt(__value:double; __ndigit:longint; __buf:Pchar):Pchar;cdecl;external clib name 'gcvt';
  141. function qecvt(__value: extended; __ndigit: longint; __decpt: Plongint; __sign: plongint): PChar; cdecl;external clib name 'qecvt';
  142. function qfcvt(__value: extended; __ndigit: longint; __decpt: plongint; __sign: plongint): PChar; cdecl;external clib name 'qfcvt';
  143. function qgcvt(__value: extended; __ndigit: longint; __buf: PChar): PChar; cdecl;external clib name 'qgcvt';
  144. function ecvt_r(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint; __buf:Pchar; __len:size_t):longint;cdecl;external clib name 'ecvt_r';
  145. function fcvt_r(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint; __buf:Pchar; __len:size_t):longint;cdecl;external clib name 'fcvt_r';
  146. function qecvt_r(Value: Extended; __ndigit: longint; __decpt: Plongint; __sign: plongint; Buf: PChar; Len: size_t): longint; cdecl;external clib name 'qecvt_r';
  147. function qfcvt_r(Value: Extended; __ndigit: longint; __decpt: plongint; __sign: plongint; Buf: PChar; Len: size_t): longint; cdecl;external clib name 'qfcvt_r';
  148. function mblen(__s:Pchar; __n:size_t):longint;cdecl;external clib name 'mblen';
  149. function mbtowc(__pwc:Pwchar_t; __s:Pchar; __n:size_t):longint;cdecl;external clib name 'mbtowc';
  150. function wctomb(__s:Pchar; __wchar:wchar_t):longint;cdecl;external clib name 'wctomb';
  151. function mbstowcs(__pwcs:Pwchar_t; __s:Pchar; __n:size_t):size_t;cdecl;external clib name 'mbstowcs';
  152. function wcstombs(__s:Pchar; __pwcs:Pwchar_t; __n:size_t):size_t;cdecl;external clib name 'wcstombs';
  153. function rpmatch(__response:Pchar):longint;cdecl;external clib name 'rpmatch';
  154. function getsubopt(__optionp:PPchar; __tokens:PPchar; __valuep:PPchar):longint;cdecl;external clib name 'getsubopt';
  155. procedure setkey(__key:Pchar);cdecl;external clib name 'setkey';
  156. function posix_openpt(__oflag:longint):longint;cdecl;external clib name 'posix_openpt';
  157. function grantpt(__fd:longint):longint;cdecl;external clib name 'grantpt';
  158. function unlockpt(__fd:longint):longint;cdecl;external clib name 'unlockpt';
  159. function ptsname(__fd:longint):Pchar;cdecl;external clib name 'ptsname';
  160. function ptsname_r(__fd:longint; __buf:Pchar; __buflen:size_t):longint;cdecl;external clib name 'ptsname_r';
  161. function getpt:longint;cdecl;external clib name 'getpt';
  162. function getloadavg(__loadavg:array of double; __nelem:longint):longint;cdecl;external clib name 'getloadavg';
  163. { ---------------------------------------------------------------------
  164. Borland compatibility types
  165. ---------------------------------------------------------------------}
  166. Type
  167. TRandomData = random_data;
  168. PRandomData = ^TRandomData;
  169. TDrand48Data = drand48_data;
  170. PDrand48Data = ^TDrand48Data;
  171. function erand48(__xsubi: pword):double;cdecl;external clib name 'erand48';
  172. function nrand48(__xsubi: pword):longint;cdecl;external clib name 'nrand48';
  173. function jrand48(__xsubi: pword):longint;cdecl;external clib name 'jrand48';
  174. function seed48(__seed16v: pword):Pword;cdecl;external clib name 'seed48';
  175. procedure lcong48(__param: pword);cdecl;external clib name 'lcong48';
  176. function erand48_r(__xsubi:pword; __buffer:Pdrand48_data; __result:Pdouble):longint;cdecl;external clib name 'erand48_r';
  177. function nrand48_r(__xsubi:pword; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'nrand48_r';
  178. function jrand48_r(__xsubi:pword; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'jrand48_r';
  179. function seed48_r(__seed16v:pword; __buffer:Pdrand48_data):longint;cdecl;external clib name 'seed48_r';