summaryrefslogtreecommitdiff
path: root/packages/libc/src/stdlibh.inc
blob: 557e98cdb7392e8cf3acc838015e7344517e9cf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210

type

   Pdiv_t = ^div_t;
   div_t = record
        quot : longint;
        rem : longint;
     end;

   Pldiv_t = ^ldiv_t;
   ldiv_t = record
        quot : longint;
        rem : longint;
     end;

   Plldiv_t = ^lldiv_t;
   lldiv_t = record
        quot : int64;
        rem : int64;
     end;

const
   RAND_MAX = 2147483647;
   EXIT_FAILURE = 1;
   EXIT_SUCCESS = 0;

function MB_CUR_MAX : size_t;cdecl; external clib name '__ctype_get_mb_cur_max';
function __ctype_get_mb_cur_max:size_t;cdecl;external clib name '__ctype_get_mb_cur_max';
function atof(__nptr:Pchar):double;cdecl;external clib name 'atof';
function atoi(__nptr:Pchar):longint;cdecl;external clib name 'atoi';
function atol(__nptr:Pchar):longint;cdecl;external clib name 'atol';
function atoll(__nptr:Pchar):int64;cdecl;external clib name 'atoll';
function strtod(__nptr:Pchar; __endptr:PPchar):double;cdecl;external clib name 'strtod';
function strtof(__nptr:Pchar; __endptr:PPchar):double;cdecl;external clib name 'strtof';
function strtold(NumPtr: PChar; EndPtr: PPChar): Extended; cdecl; external clib name 'strtold';
function strtol(__nptr:Pchar; __endptr:PPchar; __base:longint):longint;cdecl;external clib name 'strtol';
function strtoul(__nptr:Pchar; __endptr:PPchar; __base:longint):dword;cdecl;external clib name 'strtoul';
function strtoq(__nptr:Pchar; __endptr:PPchar; __base:longint):int64;cdecl;external clib name 'strtoq';
function strtouq(__nptr:Pchar; __endptr:PPchar; __base:longint):qword;cdecl;external clib name 'strtouq';
function strtoll(__nptr:Pchar; __endptr:PPchar; __base:longint):int64;cdecl;external clib name 'strtoll';
function strtoull(__nptr:Pchar; __endptr:PPchar; __base:longint):qword;cdecl;external clib name 'strtoull';
function __strtol_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):longint;cdecl;external clib name '__strtol_l';
function __strtoul_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):dword;cdecl;external clib name '__strtoul_l';
function __strtoll_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):int64;cdecl;external clib name '__strtoll_l';
function __strtoull_l(__nptr:Pchar; __endptr:PPchar; __base:longint; __loc:__locale_t):qword;cdecl;external clib name '__strtoull_l';
function __strtod_l(__nptr:Pchar; __endptr:PPchar; __loc:__locale_t):double;cdecl;external clib name '__strtod_l';
function __strtof_l(__nptr:Pchar; __endptr:PPchar; __loc:__locale_t):double;cdecl;external clib name '__strtof_l';
function __strtold_l(__nptr: PChar; __endptr: PPChar;__loc: __locale_t): Extended; cdecl;external clib name '__strtold_l';
function __strtod_internal(__nptr:Pchar; __endptr:PPchar; __group:longint):double;cdecl;external clib name '__strtod_internal';
function __strtof_internal(__nptr:Pchar; __endptr:PPchar; __group:longint):double;cdecl;external clib name '__strtof_internal';
function __strtold_internal(__nptr: PChar; __endptr: PPChar;  __group: longint): Extended; cdecl;external clib name '__strtold_internal';
function __strtol_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):longint;cdecl;external clib name '__strtol_internal';
function __strtoul_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):dword;cdecl;external clib name '__strtoul_internal';
function __strtoll_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):int64;cdecl;external clib name '__strtoll_internal';
function __strtoull_internal(__nptr:Pchar; __endptr:PPchar; __base:longint; __group:longint):qword;cdecl;external clib name '__strtoull_internal';
function a64l(__s:Pchar):longint;cdecl;external clib name 'a64l';
function l64a(N: longint): PChar; cdecl;external clib name 'l64a';

function __random:longint;cdecl;external clib name 'random';
procedure srandom(__seed:dword);cdecl;external clib name 'srandom';
function initstate(__seed:dword; __statebuf:Pchar; __statelen:size_t):Pchar;cdecl;external clib name 'initstate';
function setstate(__statebuf:Pchar):Pchar;cdecl;external clib name 'setstate';

Type
  Prandom_data = ^random_data;
  random_data = record
       fptr : Pint32_t;
       rptr : Pint32_t;
       state : Pint32_t;
       rand_type : longint;
       rand_deg : longint;
       rand_sep : longint;
       end_ptr : Pint32_t;
    end;


function random_r(__buf:Prandom_data; __result:Pint32_t):longint;cdecl;external clib name 'random_r';
function srandom_r(__seed:dword; __buf:Prandom_data):longint;cdecl;external clib name 'srandom_r';
function initstate_r(__seed:dword; __statebuf:Pchar; __statelen:size_t; __buf:Prandom_data):longint;cdecl;external clib name 'initstate_r';
function setstate_r(__statebuf:Pchar; __buf:Prandom_data):longint;cdecl;external clib name 'setstate_r';
function rand:longint;cdecl;external clib name 'rand';
procedure srand(__seed:dword);cdecl;external clib name 'srand';
function rand_r(__seed:Pdword):longint;cdecl;external clib name 'rand_r';
function drand48:double;cdecl;external clib name 'drand48';

Type
  TRandWordArray = Array[0..2] of word;

function erand48(var __xsubi: trandwordarray):double;cdecl;external clib name 'erand48';
function lrand48:longint;cdecl;external clib name 'lrand48';
function nrand48(var __xsubi: trandwordarray):longint;cdecl;external clib name 'nrand48';
function mrand48:longint;cdecl;external clib name 'mrand48';
function jrand48(var __xsubi:trandwordarray):longint;cdecl;external clib name 'jrand48';
procedure srand48(__seedval:longint);cdecl;external clib name 'srand48';
function seed48(var __seed16v:trandwordarray):Pword;cdecl;external clib name 'seed48';
procedure lcong48(var __param:trandwordarray);cdecl;external clib name 'lcong48';

type
  Pdrand48_data = ^drand48_data;
  drand48_data = record
       __x : array[0..2] of word;
       __old_x : array[0..2] of word;
       __c : word;
       __init : word;
       __a : qword;
    end;

function drand48_r(__buffer:Pdrand48_data; __result:Pdouble):longint;cdecl;external clib name 'drand48_r';
function erand48_r(var __xsubi: TRandWordArray; __buffer:Pdrand48_data; __result:Pdouble):longint;cdecl;external clib name 'erand48_r';
function lrand48_r(__buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'lrand48_r';
function nrand48_r(var __xsubi: TRandWordArray; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'nrand48_r';
function mrand48_r(__buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'mrand48_r';
function jrand48_r(var __xsubi: TRandWordArray; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'jrand48_r';
function srand48_r(__seedval:longint; __buffer:Pdrand48_data):longint;cdecl;external clib name 'srand48_r';
function seed48_r(var __seed16v: TRandWordArray; __buffer:Pdrand48_data):longint;cdecl;external clib name 'seed48_r';
function lcong48_r(__param: pword; __buffer:Pdrand48_data):longint;cdecl;external clib name 'lcong48_r';

procedure __abort; cdecl; external clib name 'abort';

type
  TAtExitProc = procedure; cdecl;
  TOnExitProc = procedure(status: longint; arg: Pointer); cdecl;

function atexit(__func:TAtExitProc):longint;cdecl;external clib name 'atexit';
function on_exit(__func:TOnExitProc; __arg:pointer):longint;cdecl;external clib name 'on_exit';
procedure __exit(Status: longint); cdecl;external clib name 'exit';
//procedure _Exit (__status : longint);cdecl; external clib name '_exit';

function getenv(__name:Pchar):Pchar;cdecl;external clib name 'getenv';
function __secure_getenv(__name:Pchar):Pchar;cdecl;external clib name '__secure_getenv';
function putenv(__string:Pchar):longint;cdecl;external clib name 'putenv';
function setenv(__name:Pchar; __value:Pchar; __replace:longint):longint;cdecl;external clib name 'setenv';
function unsetenv(__name:Pchar):longint;cdecl;external clib name 'unsetenv';
function clearenv:longint;cdecl;external clib name 'clearenv';
function mktemp(__template:Pchar):Pchar;cdecl;external clib name 'mktemp';
function mkstemp(__template:Pchar):longint;cdecl;external clib name 'mkstemp';
function mkstemp64(__template:Pchar):longint;cdecl;external clib name 'mkstemp64';
function mkdtemp(__template:Pchar):Pchar;cdecl;external clib name 'mkdtemp';
// **************** detect whether system symbol is hidden. Should be as of 1.9.4
// **************** End of detect
function __system(__command:Pchar):longint;cdecl;external clib name 'system';
function system(__command:Pchar):longint;cdecl;external clib name 'system';
function canonicalize_file_name(__name:Pchar):Pchar;cdecl;external clib name 'canonicalize_file_name';
function realpath(__name:Pchar; __resolved:Pchar):Pchar;cdecl;external clib name 'realpath';

Type
  __compar_fn_t = function (_para1:pointer; _para2:pointer):longint;cdecl;
  comparison_fn_t = __compar_fn_t;

function bsearch(__key:pointer; __base:pointer; __nmemb:size_t; __size:size_t; __compar:__compar_fn_t):pointer;cdecl;external clib name 'bsearch';
procedure qsort(__base:pointer; __nmemb:size_t; __size:size_t; __compar:__compar_fn_t);cdecl;external clib name 'qsort';

function __abs(X: longint): longint; cdecl;external clib name 'abs';
function labs(X: Longint): Longint; cdecl;external clib name 'labs';
function llabs(X: Int64): Int64; cdecl;external clib name 'llabs';
function __div(Numer: longint; Denom: longint): div_t; cdecl;external clib name 'div';
function ldiv(Numer: Longint; Denom: Longint): ldiv_t; cdecl;external clib name 'ldiv';
function lldiv(Numer: Int64; Denom: Int64): lldiv_t; cdecl;external clib name 'lldiv';

function ecvt(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint):Pchar;cdecl;external clib name 'ecvt';
function fcvt(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint):Pchar;cdecl;external clib name 'fcvt';
function gcvt(__value:double; __ndigit:longint; __buf:Pchar):Pchar;cdecl;external clib name 'gcvt';
function qecvt(__value: extended; __ndigit: longint; __decpt: Plongint;  __sign: plongint): PChar; cdecl;external clib name 'qecvt';
function qfcvt(__value: extended; __ndigit: longint; __decpt: plongint;  __sign: plongint): PChar; cdecl;external clib name 'qfcvt';
function qgcvt(__value: extended; __ndigit: longint;  __buf: PChar): PChar; cdecl;external clib name 'qgcvt';

function ecvt_r(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint; __buf:Pchar; __len:size_t):longint;cdecl;external clib name 'ecvt_r';
function fcvt_r(__value:double; __ndigit:longint; __decpt:Plongint; __sign:Plongint; __buf:Pchar; __len:size_t):longint;cdecl;external clib name 'fcvt_r';
function qecvt_r(Value: Extended; __ndigit: longint; __decpt: Plongint; __sign: plongint; Buf: PChar; Len: size_t): longint; cdecl;external clib name 'qecvt_r';
function qfcvt_r(Value: Extended; __ndigit: longint; __decpt: plongint; __sign: plongint; Buf: PChar; Len: size_t): longint; cdecl;external clib name 'qfcvt_r';

function mblen(__s:Pchar; __n:size_t):longint;cdecl;external clib name 'mblen';
function mbtowc(__pwc:Pwchar_t; __s:Pchar; __n:size_t):longint;cdecl;external clib name 'mbtowc';
function wctomb(__s:Pchar; __wchar:wchar_t):longint;cdecl;external clib name 'wctomb';
function mbstowcs(__pwcs:Pwchar_t; __s:Pchar; __n:size_t):size_t;cdecl;external clib name 'mbstowcs';
function wcstombs(__s:Pchar; __pwcs:Pwchar_t; __n:size_t):size_t;cdecl;external clib name 'wcstombs';
function rpmatch(__response:Pchar):longint;cdecl;external clib name 'rpmatch';
function getsubopt(__optionp:PPchar; __tokens:PPchar; __valuep:PPchar):longint;cdecl;external clib name 'getsubopt';
procedure setkey(__key:Pchar);cdecl;external clib name 'setkey';
function posix_openpt(__oflag:longint):longint;cdecl;external clib name 'posix_openpt';
function grantpt(__fd:longint):longint;cdecl;external clib name 'grantpt';
function unlockpt(__fd:longint):longint;cdecl;external clib name 'unlockpt';
function ptsname(__fd:longint):Pchar;cdecl;external clib name 'ptsname';
function ptsname_r(__fd:longint; __buf:Pchar; __buflen:size_t):longint;cdecl;external clib name 'ptsname_r';
function getpt:longint;cdecl;external clib name 'getpt';
function getloadavg(__loadavg:array of double; __nelem:longint):longint;cdecl;external clib name 'getloadavg';


{ ---------------------------------------------------------------------
    Borland compatibility types
  ---------------------------------------------------------------------}

Type
  TRandomData = random_data;
  PRandomData = ^TRandomData;

  TDrand48Data = drand48_data;
  PDrand48Data = ^TDrand48Data;

function erand48(__xsubi: pword):double;cdecl;external clib name 'erand48';
function nrand48(__xsubi: pword):longint;cdecl;external clib name 'nrand48';
function jrand48(__xsubi: pword):longint;cdecl;external clib name 'jrand48';
function seed48(__seed16v: pword):Pword;cdecl;external clib name 'seed48';
procedure lcong48(__param: pword);cdecl;external clib name 'lcong48';

function erand48_r(__xsubi:pword; __buffer:Pdrand48_data; __result:Pdouble):longint;cdecl;external clib name 'erand48_r';
function nrand48_r(__xsubi:pword; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'nrand48_r';
function jrand48_r(__xsubi:pword; __buffer:Pdrand48_data; __result:Plongint):longint;cdecl;external clib name 'jrand48_r';
function seed48_r(__seed16v:pword; __buffer:Pdrand48_data):longint;cdecl;external clib name 'seed48_r';