FreeBASIC  0.91.0
rtl.bi
Go to the documentation of this file.
1 #include once "ast.bi"
2 #include once "fbint.bi"
3 
4 '' NOTE: when adding any RTL proc that will be called from rtl*.bas,
5 '' always update the FB_RTL_IDX enum below
6 
7 #define FB_RTL_STRINIT "fb_StrInit"
8 #define FB_RTL_STRDELETE "fb_StrDelete"
9 #define FB_RTL_STRASSIGN "fb_StrAssign"
10 #define FB_RTL_STRCONCAT "fb_StrConcat"
11 #define FB_RTL_STRCOMPARE "fb_StrCompare"
12 #define FB_RTL_STRCONCATASSIGN "fb_StrConcatAssign"
13 #define FB_RTL_STRALLOCTMPRES "fb_StrAllocTempResult"
14 #define FB_RTL_STRALLOCTMPDESCV "fb_StrAllocTempDescV"
15 #define FB_RTL_STRALLOCTMPDESCF "fb_StrAllocTempDescF"
16 #define FB_RTL_STRALLOCTMPDESCZ "fb_StrAllocTempDescZ"
17 #define FB_RTL_STRALLOCTMPDESCZEX "fb_StrAllocTempDescZEx"
18 
19 #define FB_RTL_INT2STR "fb_IntToStr"
20 #define FB_RTL_UINT2STR "fb_UIntToStr"
21 #define FB_RTL_LONGINT2STR "fb_LongintToStr"
22 #define FB_RTL_ULONGINT2STR "fb_ULongintToStr"
23 #define FB_RTL_FLT2STR "fb_FloatToStr"
24 #define FB_RTL_DBL2STR "fb_DoubleToStr"
25 #define FB_RTL_WSTR2STR "fb_WstrToStr"
26 
27 #define FB_RTL_INT2STR_QB "fb_IntToStrQB"
28 #define FB_RTL_UINT2STR_QB "fb_UIntToStrQB"
29 #define FB_RTL_LONGINT2STR_QB "fb_LongintToStrQB"
30 #define FB_RTL_ULONGINT2STR_QB "fb_ULongintToStrQB"
31 #define FB_RTL_FLT2STR_QB "fb_FloatToStrQB"
32 #define FB_RTL_DBL2STR_QB "fb_DoubleToStrQB"
33 
34 #define FB_RTL_STR2INT "valint"
35 #define FB_RTL_STR2UINT "valuint"
36 #define FB_RTL_STR2LNG "vallng"
37 #define FB_RTL_STR2ULNG "valulng"
38 #define FB_RTL_STR2DBL "val"
39 
40 #define FB_RTL_MKD "fb_MKD"
41 #define FB_RTL_MKS "fb_MKS"
42 #define FB_RTL_MKSHORT "fb_MKSHORT"
43 #define FB_RTL_MKI "fb_MKI"
44 #define FB_RTL_MKL "fb_MKL"
45 #define FB_RTL_MKLONGINT "fb_MKLONGINT"
46 
47 #define FB_RTL_CVD "fb_CVD"
48 #define FB_RTL_CVS "fb_CVS"
49 #define FB_RTL_CVSHORT "fb_CVSHORT"
50 #define FB_RTL_CVL "fb_CVL"
51 #define FB_RTL_CVLONGINT "fb_CVLONGINT"
52 
53 #define FB_RTL_CVDFROMLONGINT "fb_CVDFROMLONGINT"
54 #define FB_RTL_CVSFROML "fb_CVSFROML"
55 #define FB_RTL_CVLFROMS "fb_CVLFROMS"
56 #define FB_RTL_CVLONGINTFROMD "fb_CVLONGINTFROMD"
57 
58 #define FB_RTL_STRMID "fb_StrMid"
59 #define FB_RTL_STRASSIGNMID "fb_StrAssignMid"
60 #define FB_RTL_STRFILL1 "fb_StrFill1"
61 #define FB_RTL_STRFILL2 "fb_StrFill2"
62 #define FB_RTL_STRLEN "fb_StrLen"
63 #define FB_RTL_STRLSET "fb_StrLset"
64 #define FB_RTL_STRRSET "fb_StrRset"
65 #define FB_RTL_STRASC "fb_ASC"
66 #define FB_RTL_STRCHR "fb_CHR"
67 #define FB_RTL_STRINSTR "fb_StrInstr"
68 #define FB_RTL_STRINSTRANY "fb_StrInstrAny"
69 #define FB_RTL_STRINSTRREV "fb_StrInstrRev"
70 #define FB_RTL_STRINSTRREVANY "fb_StrInstrRevAny"
71 #define FB_RTL_STRTRIM "fb_TRIM"
72 #define FB_RTL_STRTRIMANY "fb_TrimAny"
73 #define FB_RTL_STRTRIMEX "fb_TrimEx"
74 #define FB_RTL_STRRTRIM "fb_RTRIM"
75 #define FB_RTL_STRRTRIMANY "fb_RTrimAny"
76 #define FB_RTL_STRRTRIMEX "fb_RTrimEx"
77 #define FB_RTL_STRLTRIM "fb_LTRIM"
78 #define FB_RTL_STRLTRIMANY "fb_LTrimAny"
79 #define FB_RTL_STRLTRIMEX "fb_LTrimEx"
80 #define FB_RTL_STRLCASE2 "fb_StrLcase2"
81 #define FB_RTL_STRUCASE2 "fb_StrUcase2"
82 #define FB_RTL_STRSWAP "fb_StrSwap"
83 
84 #define FB_RTL_WSTRALLOC "fb_WstrAlloc"
85 #define FB_RTL_WSTRDELETE "fb_WstrDelete"
86 #define FB_RTL_WSTRASSIGN "fb_WstrAssign"
87 #define FB_RTL_WSTRASSIGNWA "fb_WstrAssignFromA"
88 #define FB_RTL_WSTRASSIGNAW "fb_WstrAssignToA"
89 #define FB_RTL_WSTRASSIGNAW_INIT "fb_WstrAssignToA_Init"
90 #define FB_RTL_WSTRCONCAT "fb_WstrConcat"
91 #define FB_RTL_WSTRCONCATWA "fb_WstrConcatWA"
92 #define FB_RTL_WSTRCONCATAW "fb_WstrConcatAW"
93 #define FB_RTL_WSTRCOMPARE "fb_WstrCompare"
94 #define FB_RTL_WSTRCONCATASSIGN "fb_WstrConcatAssign"
95 
96 #define FB_RTL_INT2WSTR "fb_IntToWstr"
97 #define FB_RTL_UINT2WSTR "fb_UIntToWstr"
98 #define FB_RTL_LONGINT2WSTR "fb_LongintToWstr"
99 #define FB_RTL_ULONGINT2WSTR "fb_ULongintToWstr"
100 #define FB_RTL_FLT2WSTR "fb_FloatToWstr"
101 #define FB_RTL_DBL2WSTR "fb_DoubleToWstr"
102 #define FB_RTL_STR2WSTR "fb_StrToWstr"
103 
104 #define FB_RTL_WSTRMID "fb_WstrMid"
105 #define FB_RTL_WSTRASSIGNMID "fb_WstrAssignMid"
106 #define FB_RTL_WSTRFILL1 "fb_WstrFill1"
107 #define FB_RTL_WSTRFILL2 "fb_WstrFill2"
108 #define FB_RTL_WSTRLEN "fb_WstrLen"
109 #define FB_RTL_WSTRLSET "fb_WstrLset"
110 #define FB_RTL_WSTRRSET "fb_WstrRset"
111 #define FB_RTL_WSTRASC "fb_WstrAsc"
112 #define FB_RTL_WSTRCHR "fb_WstrChr"
113 #define FB_RTL_WSTRINSTR "fb_WstrInstr"
114 #define FB_RTL_WSTRINSTRANY "fb_WstrInstrAny"
115 #define FB_RTL_WSTRINSTRREV "fb_WstrInstrRev"
116 #define FB_RTL_WSTRINSTRREVANY "fb_WstrInstrRevAny"
117 #define FB_RTL_WSTRTRIM "fb_WstrTrim"
118 #define FB_RTL_WSTRTRIMANY "fb_WstrTrimAny"
119 #define FB_RTL_WSTRTRIMEX "fb_WstrTrimEx"
120 #define FB_RTL_WSTRRTRIM "fb_WstrRTrim"
121 #define FB_RTL_WSTRRTRIMANY "fb_WstrRTrimAny"
122 #define FB_RTL_WSTRRTRIMEX "fb_WstrRTrimEx"
123 #define FB_RTL_WSTRLTRIM "fb_WstrLTrim"
124 #define FB_RTL_WSTRLTRIMANY "fb_WstrLTrimAny"
125 #define FB_RTL_WSTRLTRIMEX "fb_WstrLTrimEx"
126 #define FB_RTL_WSTRLCASE2 "fb_WstrLcase2"
127 #define FB_RTL_WSTRUCASE2 "fb_WstrUcase2"
128 #define FB_RTL_WSTRSWAP "fb_WstrSwap"
129 
130 #define FB_RTL_LONGINTDIV "fb___divdi3"
131 #define FB_RTL_ULONGINTDIV "fb___udivdi3"
132 #define FB_RTL_LONGINTMOD "fb___moddi3"
133 #define FB_RTL_ULONGINTMOD "fb___umoddi3"
134 #define FB_RTL_DBL2ULONGINT "fb___fixunsdfdi"
135 
136 #define FB_RTL_ARRAYDESTRUCTOBJ "fb_ArrayDestructObj"
137 #define FB_RTL_ARRAYDESTRUCTSTR "fb_ArrayDestructStr"
138 #define FB_RTL_ARRAYCLEAR "fb_ArrayClear"
139 #define FB_RTL_ARRAYCLEAROBJ "fb_ArrayClearObj"
140 #define FB_RTL_ARRAYERASE "fb_ArrayErase"
141 #define FB_RTL_ARRAYERASEOBJ "fb_ArrayEraseObj"
142 #define FB_RTL_ARRAYERASESTR "fb_ArrayStrErase"
143 #define FB_RTL_ARRAYREDIM "fb_ArrayRedimEx"
144 #define FB_RTL_ARRAYREDIM_OBJ "fb_ArrayRedimObj"
145 #define FB_RTL_ARRAYREDIMPRESV "fb_ArrayRedimPresvEx"
146 #define FB_RTL_ARRAYREDIMPRESV_OBJ "fb_ArrayRedimPresvObj"
147 #define FB_RTL_ARRAYLBOUND "fb_ArrayLBound"
148 #define FB_RTL_ARRAYUBOUND "fb_ArrayUBound"
149 #define FB_RTL_ARRAYSNGBOUNDCHK "fb_ArraySngBoundChk"
150 #define FB_RTL_ARRAYBOUNDCHK "fb_ArrayBoundChk"
151 
152 #define FB_RTL_NULLPTRCHK "fb_NullPtrChk"
153 
154 #define FB_RTL_ISTYPEOF "fb_IsTypeOf"
155 
156 #define FB_RTL_CPUDETECT "fb_CpuDetect"
157 #define FB_RTL_INIT "fb_Init"
158 #define FB_RTL_INITSIGNALS "fb_InitSignals"
159 #define FB_RTL_INITCRTCTOR "fb___main"
160 #define FB_RTL_END "fb_End"
161 #define FB_RTL_ATEXIT "fb_atexit"
162 
163 #define FB_RTL_DATARESTORE "fb_DataRestore"
164 #define FB_RTL_DATAREADSTR "fb_DataReadStr"
165 #define FB_RTL_DATAREADWSTR "fb_DataReadWstr"
166 #define FB_RTL_DATAREADBYTE "fb_DataReadByte"
167 #define FB_RTL_DATAREADSHORT "fb_DataReadShort"
168 #define FB_RTL_DATAREADINT "fb_DataReadInt"
169 #define FB_RTL_DATAREADLONGINT "fb_DataReadLongint"
170 #define FB_RTL_DATAREADUBYTE "fb_DataReadUByte"
171 #define FB_RTL_DATAREADUSHORT "fb_DataReadUShort"
172 #define FB_RTL_DATAREADUINT "fb_DataReadUInt"
173 #define FB_RTL_DATAREADULONGINT "fb_DataReadULongint"
174 #define FB_RTL_DATAREADSINGLE "fb_DataReadSingle"
175 #define FB_RTL_DATAREADDOUBLE "fb_DataReadDouble"
176 
177 #define FB_RTL_POW "fb_Pow"
178 
179 #define FB_RTL_PRINTVOID "fb_PrintVoid"
180 #define FB_RTL_PRINTBYTE "fb_PrintByte"
181 #define FB_RTL_PRINTUBYTE "fb_PrintUByte"
182 #define FB_RTL_PRINTSHORT "fb_PrintShort"
183 #define FB_RTL_PRINTUSHORT "fb_PrintUShort"
184 #define FB_RTL_PRINTINT "fb_PrintInt"
185 #define FB_RTL_PRINTUINT "fb_PrintUInt"
186 #define FB_RTL_PRINTLONGINT "fb_PrintLongint"
187 #define FB_RTL_PRINTULONGINT "fb_PrintULongint"
188 #define FB_RTL_PRINTSINGLE "fb_PrintSingle"
189 #define FB_RTL_PRINTDOUBLE "fb_PrintDouble"
190 #define FB_RTL_PRINTSTR "fb_PrintString"
191 #define FB_RTL_PRINTWSTR "fb_PrintWstr"
192 
193 #define FB_RTL_LPRINTVOID "fb_LPrintVoid"
194 #define FB_RTL_LPRINTBYTE "fb_LPrintByte"
195 #define FB_RTL_LPRINTUBYTE "fb_LPrintUByte"
196 #define FB_RTL_LPRINTSHORT "fb_LPrintShort"
197 #define FB_RTL_LPRINTUSHORT "fb_LPrintUShort"
198 #define FB_RTL_LPRINTINT "fb_LPrintInt"
199 #define FB_RTL_LPRINTUINT "fb_LPrintUInt"
200 #define FB_RTL_LPRINTLONGINT "fb_LPrintLongint"
201 #define FB_RTL_LPRINTULONGINT "fb_LPrintULongint"
202 #define FB_RTL_LPRINTSINGLE "fb_LPrintSingle"
203 #define FB_RTL_LPRINTDOUBLE "fb_LPrintDouble"
204 #define FB_RTL_LPRINTSTR "fb_LPrintString"
205 #define FB_RTL_LPRINTWSTR "fb_LPrintWstr"
206 
207 #define FB_RTL_PRINTSPC "fb_PrintSPC"
208 #define FB_RTL_PRINTTAB "fb_PrintTab"
209 
210 #define FB_RTL_WRITEVOID "fb_WriteVoid"
211 #define FB_RTL_WRITEBYTE "fb_WriteByte"
212 #define FB_RTL_WRITEUBYTE "fb_WriteUByte"
213 #define FB_RTL_WRITESHORT "fb_WriteShort"
214 #define FB_RTL_WRITEUSHORT "fb_WriteUShort"
215 #define FB_RTL_WRITEINT "fb_WriteInt"
216 #define FB_RTL_WRITEUINT "fb_WriteUInt"
217 #define FB_RTL_WRITELONGINT "fb_WriteLongint"
218 #define FB_RTL_WRITEULONGINT "fb_WriteULongint"
219 #define FB_RTL_WRITESINGLE "fb_WriteSingle"
220 #define FB_RTL_WRITEDOUBLE "fb_WriteDouble"
221 #define FB_RTL_WRITESTR "fb_WriteString"
222 #define FB_RTL_WRITEWSTR "fb_WriteWstr"
223 
224 #define FB_RTL_PRINTUSGINIT "fb_PrintUsingInit"
225 #define FB_RTL_PRINTUSGSTR "fb_PrintUsingStr"
226 #define FB_RTL_PRINTUSGWSTR "fb_PrintUsingWstr"
227 #define FB_RTL_PRINTUSG_SNG "fb_PrintUsingSingle"
228 #define FB_RTL_PRINTUSG_DBL "fb_PrintUsingDouble"
229 #define FB_RTL_PRINTUSG_LL "fb_PrintUsingLongint"
230 #define FB_RTL_PRINTUSG_ULL "fb_PrintUsingULongint"
231 #define FB_RTL_PRINTUSGEND "fb_PrintUsingEnd"
232 #define FB_RTL_LPRINTUSGINIT "fb_LPrintUsingInit"
233 
234 #define FB_RTL_CONSOLEVIEW "fb_ConsoleView"
235 #define FB_RTL_CONSOLEREADXY "fb_ReadXY"
236 #define FB_RTL_COLOR "fb_Color"
237 #define FB_RTL_PAGESET "fb_PageSet"
238 
239 #define FB_RTL_MEMCOPY "fb_MemCopy"
240 #define FB_RTL_MEMSWAP "fb_MemSwap"
241 #define FB_RTL_MEMCOPYCLEAR "fb_MemCopyClear"
242 
243 #define FB_RTL_FILEOPEN "fb_FileOpen"
244 #define FB_RTL_FILEOPEN_ENCOD "fb_FileOpenEncod"
245 #define FB_RTL_FILEOPEN_SHORT "fb_FileOpenShort"
246 #define FB_RTL_FILEOPEN_CONS "fb_FileOpenCons"
247 #define FB_RTL_FILEOPEN_ERR "fb_FileOpenErr"
248 #define FB_RTL_FILEOPEN_PIPE "fb_FileOpenPipe"
249 #define FB_RTL_FILEOPEN_SCRN "fb_FileOpenScrn"
250 #define FB_RTL_FILEOPEN_LPT "fb_FileOpenLpt"
251 #define FB_RTL_FILEOPEN_COM "fb_FileOpenCom"
252 #define FB_RTL_FILEOPEN_QB "fb_FileOpenQB"
253 #define FB_RTL_FILECLOSE "fb_FileClose"
254 #define FB_RTL_FILECLOSEALL "fb_FileCloseAll"
255 
256 #define FB_RTL_FILEPUT "fb_FilePut"
257 #define FB_RTL_FILEPUTLARGE "fb_FilePutLarge"
258 #define FB_RTL_FILEPUTSTR "fb_FilePutStr"
259 #define FB_RTL_FILEPUTSTRLARGE "fb_FilePutStrLarge"
260 #define FB_RTL_FILEPUTWSTR "fb_FilePutWstr"
261 #define FB_RTL_FILEPUTWSTRLARGE "fb_FilePutWstrLarge"
262 #define FB_RTL_FILEPUTARRAY "fb_FilePutArray"
263 #define FB_RTL_FILEPUTARRAYLARGE "fb_FilePutArrayLarge"
264 
265 #define FB_RTL_FILEGET "fb_FileGet"
266 #define FB_RTL_FILEGETLARGE "fb_FileGetLarge"
267 #define FB_RTL_FILEGETSTR "fb_FileGetStr"
268 #define FB_RTL_FILEGETSTRLARGE "fb_FileGetStrLarge"
269 #define FB_RTL_FILEGETWSTR "fb_FileGetWstr"
270 #define FB_RTL_FILEGETWSTRLARGE "fb_FileGetWstrLarge"
271 #define FB_RTL_FILEGETARRAY "fb_FileGetArray"
272 #define FB_RTL_FILEGETARRAYLARGE "fb_FileGetArrayLarge"
273 
274 #define FB_RTL_FILEGETIOB "fb_FileGetIOB"
275 #define FB_RTL_FILEGETLARGEIOB "fb_FileGetLargeIOB"
276 #define FB_RTL_FILEGETSTRIOB "fb_FileGetStrIOB"
277 #define FB_RTL_FILEGETSTRLARGEIOB "fb_FileGetStrLargeIOB"
278 #define FB_RTL_FILEGETWSTRIOB "fb_FileGetWstrIOB"
279 #define FB_RTL_FILEGETWSTRLARGEIOB "fb_FileGetWstrLargeIOB"
280 #define FB_RTL_FILEGETARRAYIOB "fb_FileGetArrayIOB"
281 #define FB_RTL_FILEGETARRAYLARGEIOB "fb_FileGetArrayLargeIOB"
282 
283 #define FB_RTL_FILETELL "fb_FileTell"
284 #define FB_RTL_FILESEEK "fb_FileSeek"
285 #define FB_RTL_FILESEEKLARGE "fb_FileSeekLarge"
286 
287 #define FB_RTL_FILESTRINPUT "fb_FileStrInput"
288 #define FB_RTL_FILEWSTRINPUT "fb_FileWstrInput"
289 #define FB_RTL_FILELINEINPUT "fb_FileLineInput"
290 #define FB_RTL_FILELINEINPUTWSTR "fb_FileLineInputWstr"
291 #define FB_RTL_CONSOLELINEINPUT "fb_LineInput"
292 #define FB_RTL_CONSOLELINEINPUTWSTR "fb_LineInputWstr"
293 
294 #define FB_RTL_FILEINPUT "fb_FileInput"
295 #define FB_RTL_CONSOLEINPUT "fb_ConsoleInput"
296 #define FB_RTL_INPUTBYTE "fb_InputByte"
297 #define FB_RTL_INPUTUBYTE "fb_InputUbyte"
298 #define FB_RTL_INPUTSHORT "fb_InputShort"
299 #define FB_RTL_INPUTUSHORT "fb_InputUshort"
300 #define FB_RTL_INPUTINT "fb_InputInt"
301 #define FB_RTL_INPUTUINT "fb_InputUint"
302 #define FB_RTL_INPUTLONGINT "fb_InputLongint"
303 #define FB_RTL_INPUTULONGINT "fb_InputUlongint"
304 #define FB_RTL_INPUTSINGLE "fb_InputSingle"
305 #define FB_RTL_INPUTDOUBLE "fb_InputDouble"
306 #define FB_RTL_INPUTSTR "fb_InputString"
307 #define FB_RTL_INPUTWSTR "fb_InputWstr"
308 
309 #define FB_RTL_FILELOCK "fb_FileLock"
310 #define FB_RTL_FILELOCKLARGE "fb_FileLockLarge"
311 #define FB_RTL_FILEUNLOCK "fb_FileUnlock"
312 #define FB_RTL_FILEUNLOCKLARGE "fb_FileUnlockLarge"
313 #define FB_RTL_FILERENAME "fb_rename"
314 
315 #define FB_RTL_WIDTH "fb_Width"
316 #define FB_RTL_WIDTHDEV "fb_WidthDev"
317 #define FB_RTL_WIDTHFILE "fb_WidthFile"
318 
319 #define FB_RTL_ERRORTHROW "fb_ErrorThrowAt"
320 #define FB_RTL_ERRORTHROWEX "fb_ErrorThrowEx"
321 #define FB_RTL_ERRORSETHANDLER "fb_ErrorSetHandler"
322 #define FB_RTL_ERRORGETNUM "fb_ErrorGetNum"
323 #define FB_RTL_ERRORSETNUM "fb_ErrorSetNum"
324 #define FB_RTL_ERRORRESUME "fb_ErrorResume"
325 #define FB_RTL_ERRORRESUMENEXT "fb_ErrorResumeNext"
326 #define FB_RTL_ERRORSETMODNAME "fb_ErrorSetModName"
327 #define FB_RTL_ERRORSETFUNCNAME "fb_ErrorSetFuncName"
328 
329 #define FB_RTL_GFXPSET "fb_GfxPset"
330 #define FB_RTL_GFXPOINT "fb_GfxPoint"
331 #define FB_RTL_GFXLINE "fb_GfxLine"
332 #define FB_RTL_GFXCIRCLE "fb_GfxEllipse"
333 #define FB_RTL_GFXPAINT "fb_GfxPaint"
334 #define FB_RTL_GFXDRAW "fb_GfxDraw"
335 #define FB_RTL_GFXDRAWSTRING "fb_GfxDrawString"
336 #define FB_RTL_GFXVIEW "fb_GfxView"
337 #define FB_RTL_GFXWINDOW "fb_GfxWindow"
338 #define FB_RTL_GFXPALETTE "fb_GfxPalette"
339 #define FB_RTL_GFXPALETTEUSING "fb_GfxPaletteUsing"
340 #define FB_RTL_GFXPALETTEUSING64 "fb_GfxPaletteUsing64"
341 #define FB_RTL_GFXPALETTEGET "fb_GfxPaletteGet"
342 #define FB_RTL_GFXPALETTEGET64 "fb_GfxPaletteGet64"
343 #define FB_RTL_GFXPALETTEGETUSING "fb_GfxPaletteGetUsing"
344 #define FB_RTL_GFXPALETTEGETUSING64 "fb_GfxPaletteGetUsing64"
345 #define FB_RTL_GFXPUT "fb_GfxPut"
346 #define FB_RTL_GFXGET "fb_GfxGet"
347 #define FB_RTL_GFXGETQB "fb_GfxGetQB"
348 #define FB_RTL_GFXSCREENSET "fb_GfxScreen"
349 #define FB_RTL_GFXSCREENSETQB "fb_GfxScreenQB"
350 #define FB_RTL_GFXIMAGECREATE "fb_GfxImageCreate"
351 #define FB_RTL_GFXIMAGECREATEQB "fb_GfxImageCreateQB"
352 
353 #define FB_RTL_GFXPUTTRANS "fb_hPutTrans"
354 #define FB_RTL_GFXPUTPSET "fb_hPutPSet"
355 #define FB_RTL_GFXPUTPRESET "fb_hPutPReset"
356 #define FB_RTL_GFXPUTAND "fb_hPutAnd"
357 #define FB_RTL_GFXPUTOR "fb_hPutOr"
358 #define FB_RTL_GFXPUTXOR "fb_hPutXor"
359 #define FB_RTL_GFXPUTALPHA "fb_hPutAlpha"
360 #define FB_RTL_GFXPUTBLEND "fb_hPutBlend"
361 #define FB_RTL_GFXPUTADD "fb_hPutAdd"
362 #define FB_RTL_GFXPUTCUSTOM "fb_hPutCustom"
363 
364 #define FB_RTL_PROFILEMCOUNT "fb_mcount"
365 #define FB_RTL_PROFILEMONSTARTUP "fb__monstartup"
366 
367 #define FB_RTL_GOSUBPUSH "fb_GosubPush"
368 #define FB_RTL_GOSUBPOP "fb_GosubPop"
369 #define FB_RTL_GOSUBRETURN "fb_GosubReturn"
370 #define FB_RTL_GOSUBEXIT "fb_GosubExit"
371 #define FB_RTL_SETJMP "fb_SetJmp"
372 
373 #define FB_RTL_SGN "{sgn}"
374 #define FB_RTL_SIN "{sin}"
375 #define FB_RTL_ASIN "{asin}"
376 #define FB_RTL_COS "{cos}"
377 #define FB_RTL_ACOS "{acos}"
378 #define FB_RTL_TAN "{tan}"
379 #define FB_RTL_ATAN "{atan}"
380 #define FB_RTL_SQRT "{sqrt}"
381 #define FB_RTL_LOG "{log}"
382 #define FB_RTL_EXP "{exp}"
383 #define FB_RTL_FLOOR "{floor}"
384 #define FB_RTL_ABS "{abs}"
385 #define FB_RTL_FIX "{fix}"
386 #define FB_RTL_FRAC "{frac}"
387 #define FB_RTL_ATAN2 "{atan2}"
388 
389 #define FB_RTL_FTOSB "fb_ftosb"
390 #define FB_RTL_DTOSB "fb_dtosb"
391 #define FB_RTL_FTOSS "fb_ftoss"
392 #define FB_RTL_DTOSS "fb_dtoss"
393 #define FB_RTL_FTOSI "fb_ftosi"
394 #define FB_RTL_DTOSI "fb_dtosi"
395 #define FB_RTL_FTOSL "fb_ftosl"
396 #define FB_RTL_DTOSL "fb_dtosl"
397 #define FB_RTL_FTOUB "fb_ftoub"
398 #define FB_RTL_DTOUB "fb_dtoub"
399 #define FB_RTL_FTOUS "fb_ftous"
400 #define FB_RTL_DTOUS "fb_dtous"
401 #define FB_RTL_FTOUI "fb_ftoui"
402 #define FB_RTL_DTOUI "fb_dtoui"
403 #define FB_RTL_FTOUL "fb_ftoul"
404 #define FB_RTL_DTOUL "fb_dtoul"
405 
406 #define FB_RTL_THREADCALL "fb_ThreadCall"
407 
408 
409 '' the order doesn't matter but it makes more sense to follow the same
410 '' order as the FB_RTL_* defines above
423 
431 
438 
444 
451 
457 
462 
488 
500 
508 
534 
540 
556 
558 
560 
567 
581 
583 
597 
611 
614 
628 
638 
643 
647 
660 
669 
678 
687 
691 
698 
713 
719 
723 
733 
767 
770 
776 
792 
809 
811 
813 end enum
814 
816  FB_RTL_OPT_NONE = &h00000000
817  FB_RTL_OPT_OVER = &h00000001 '' overloaded
818  FB_RTL_OPT_ERROR = &h00000002 '' returns an error
819  FB_RTL_OPT_MT = &h00000004 '' needs the multithreaded rtlib
820 
821  FB_RTL_OPT_DBGONLY = &h00000010 '' -g only
822  FB_RTL_OPT_OPERATOR = &h00000020
823  FB_RTL_OPT_STRSUFFIX = &h00000040 '' has a $ suffix (-lang qb only)
824  FB_RTL_OPT_NOQB = &h00000080 '' anything but -lang qb
825  FB_RTL_OPT_QBONLY = &h00000100 '' -lang qb only
826  FB_RTL_OPT_NOFB = &h00000200 '' anything but -lang fb
827  FB_RTL_OPT_FBONLY = &h00000400 ''
828  FB_RTL_OPT_IRHLCBUILTIN = &h00000800 '' proc will be emitted by ir-hlc as needed, not declared as if it was a public one from rtlib
829  FB_RTL_OPT_GCCBUILTIN = &h00001000 '' GCC builtin, don't redeclare, create a wrapper
830  FB_RTL_OPT_NOGCC = &h00002000 '' anything but -gen gcc
831  FB_RTL_OPT_X86ONLY = &h00004000 '' on x86 only
832 end enum
833 
834 '' mirrored in rtlib/thread_call.c
835 enum
850 end enum
851 
855  isopt as integer
856  optval as integer
857  check_const as integer
858 end type
859 
861  name as const zstring ptr
862  alias as const zstring ptr
867  params as integer
869 end type
870 
871 declare sub rtlInit _
872  ( _
873  )
874 
875 declare sub rtlEnd _
876  ( _
877  )
878 
879 declare sub rtlAddIntrinsicProcs( byval procdef as const FB_RTL_PROCDEF ptr )
880 
881 declare function rtlProcLookup _
882  ( _
883  byval pname as const zstring ptr, _
884  byval pidx as integer _
885  ) as FBSYMBOL ptr
886 
887 declare function rtlOvlProcCall _
888  ( _
889  byval sym as FBSYMBOL ptr, _
890  byval param1 as ASTNODE ptr, _
891  byval param2 as ASTNODE ptr = NULL _
892  ) as ASTNODE ptr
893 
894 declare function rtlCalcExprLen( byval expr as ASTNODE ptr ) as longint
895 
896 declare function rtlCalcStrLen _
897  ( _
898  byval expr as ASTNODE ptr, _
899  byval dtype as integer _
900  ) as longint
901 
902 declare function rtlStrCompare _
903  ( _
904  byval str1 as ASTNODE ptr, _
905  byval sdtype1 as integer, _
906  byval str2 as ASTNODE ptr, _
907  byval sdtype2 as integer _
908  ) as ASTNODE ptr
909 
910 declare function rtlWstrCompare _
911  ( _
912  byval str1 as ASTNODE ptr, _
913  byval str2 as ASTNODE ptr _
914  ) as ASTNODE ptr
915 
916 declare function rtlStrConcat _
917  ( _
918  byval str1 as ASTNODE ptr, _
919  byval sdtype1 as integer, _
920  byval str2 as ASTNODE ptr, _
921  byval sdtype2 as integer _
922  ) as ASTNODE ptr
923 
924 declare function rtlWstrConcat _
925  ( _
926  byval str1 as ASTNODE ptr, _
927  byval sdtype1 as integer, _
928  byval str2 as ASTNODE ptr, _
929  byval sdtype2 as integer _
930  ) as ASTNODE ptr
931 
932 declare function rtlStrAssign _
933  ( _
934  byval dst as ASTNODE ptr, _
935  byval src as ASTNODE ptr, _
936  byval is_ini as integer = FALSE _
937  ) as ASTNODE ptr
938 
939 declare function rtlWstrAssign _
940  ( _
941  byval dst as ASTNODE ptr, _
942  byval src as ASTNODE ptr, _
943  byval is_ini as integer = FALSE _
944  ) as ASTNODE ptr
945 
946 declare function rtlStrConcatAssign _
947  ( _
948  byval dst as ASTNODE ptr, _
949  byval src as ASTNODE ptr _
950  ) as ASTNODE ptr
951 
952 declare function rtlWstrConcatAssign _
953  ( _
954  byval dst as ASTNODE ptr, _
955  byval src as ASTNODE ptr _
956  ) as ASTNODE ptr
957 
958 declare function rtlStrDelete _
959  ( _
960  byval strg as ASTNODE ptr _
961  ) as ASTNODE ptr
962 
963 declare function rtlStrAllocTmpResult _
964  ( _
965  byval strg as ASTNODE ptr _
966  ) as ASTNODE ptr
967 
968 declare function rtlStrAllocTmpDesc _
969  ( _
970  byval strg as ASTNODE ptr _
971  ) as ASTNODE ptr
972 
973 declare function rtlWstrAlloc _
974  ( _
975  byval lenexpr as ASTNODE ptr _
976  ) as ASTNODE ptr
977 
978 declare function rtlToStr _
979  ( _
980  byval expr as ASTNODE ptr, _
981  byval pad as integer _
982  ) as ASTNODE ptr
983 
984 declare function rtlToWstr _
985  ( _
986  byval expr as ASTNODE ptr _
987  ) as ASTNODE ptr
988 
989 declare function rtlStrToVal _
990  ( _
991  byval expr as ASTNODE ptr, _
992  byval to_dtype as integer _
993  ) as ASTNODE ptr
994 
995 declare function rtlStrMid _
996  ( _
997  byval expr1 as ASTNODE ptr, _
998  byval expr2 as ASTNODE ptr, _
999  byval expr3 as ASTNODE ptr _
1000  ) as ASTNODE ptr
1001 
1002 declare function rtlStrAssignMid _
1003  ( _
1004  byval expr1 as ASTNODE ptr, _
1005  byval expr2 as ASTNODE ptr, _
1006  byval expr3 as ASTNODE ptr, _
1007  byval expr4 as ASTNODE ptr _
1008  ) as ASTNODE ptr
1009 
1010 declare function rtlStrLRSet _
1011  ( _
1012  byval dstexpr as ASTNODE ptr, _
1013  byval srcexpr as ASTNODE ptr, _
1014  byval is_rset as integer _
1015  ) as integer
1016 
1017 declare function rtlStrFill _
1018  ( _
1019  byval expr1 as ASTNODE ptr, _
1020  byval expr2 as ASTNODE ptr _
1021  ) as ASTNODE ptr
1022 
1023 declare function rtlWstrFill _
1024  ( _
1025  byval expr1 as ASTNODE ptr, _
1026  byval expr2 as ASTNODE ptr _
1027  ) as ASTNODE ptr
1028 
1029 declare function rtlStrLen( byval expr as ASTNODE ptr ) as ASTNODE ptr
1030 declare function rtlWstrLen( byval expr as ASTNODE ptr ) as ASTNODE ptr
1031 
1032 declare function rtlStrAsc _
1033  ( _
1034  byval expr as ASTNODE ptr, _
1035  byval posexpr as ASTNODE ptr _
1036  ) as ASTNODE ptr
1037 
1038 declare function rtlStrChr _
1039  ( _
1040  byval args as integer, _
1041  exprtb() as ASTNODE ptr, _
1042  byval is_wstr as integer _
1043  ) as ASTNODE ptr
1044 
1045 declare function rtlStrInstr _
1046  ( _
1047  byval nd_start as ASTNODE ptr, _
1048  byval nd_text as ASTNODE ptr, _
1049  byval nd_pattern as ASTNODE ptr, _
1050  byval search_any as integer _
1051  ) as ASTNODE ptr
1052 
1053 declare function rtlStrInstrRev _
1054  ( _
1055  byval nd_start as ASTNODE ptr, _
1056  byval nd_text as ASTNODE ptr, _
1057  byval nd_pattern as ASTNODE ptr, _
1058  byval search_any as integer _
1059  ) as ASTNODE ptr
1060 
1061 declare function rtlStrTrim _
1062  ( _
1063  byval nd_text as ASTNODE ptr, _
1064  byval nd_pattern as ASTNODE ptr, _
1065  byval is_any as integer _
1066  ) as ASTNODE ptr
1067 
1068 declare function rtlStrRTrim _
1069  ( _
1070  byval nd_text as ASTNODE ptr, _
1071  byval nd_pattern as ASTNODE ptr, _
1072  byval is_any as integer _
1073  ) as ASTNODE ptr
1074 
1075 declare function rtlStrLTrim _
1076  ( _
1077  byval nd_text as ASTNODE ptr, _
1078  byval nd_pattern as ASTNODE ptr, _
1079  byval is_any as integer _
1080  ) as ASTNODE ptr
1081 
1082 declare function rtlStrCase _
1083  ( _
1084  byval expr as ASTNODE ptr, _
1085  byval mode as ASTNODE ptr, _
1086  byval is_lcase as integer _
1087  ) as ASTNODE ptr
1088 
1089 declare function rtlArrayClear( byval arrayexpr as ASTNODE ptr ) as ASTNODE ptr
1090 
1091 declare function rtlArrayErase _
1092  ( _
1093  byval arrayexpr as ASTNODE ptr, _
1094  byval is_dynamic as integer, _
1095  byval check_access as integer _
1096  ) as ASTNODE ptr
1097 
1098 declare function rtlArrayRedim _
1099  ( _
1100  byval s as FBSYMBOL ptr, _
1101  byval elementlen as longint, _
1102  byval dimensions as integer, _
1103  exprTB() as ASTNODE ptr, _
1104  byval dopreserve as integer, _
1105  byval doclear as integer _
1106  ) as ASTNODE ptr
1107 
1108 declare function rtlArrayBound _
1109  ( _
1110  byval arrayexpr as ASTNODE ptr, _
1111  byval dimexpr as ASTNODE ptr, _
1112  byval islbound as integer _
1113  ) as ASTNODE ptr
1114 
1115 declare function rtlArrayBoundsCheck _
1116  ( _
1117  byval idx as ASTNODE ptr, _
1118  byval lb as ASTNODE ptr, _
1119  byval rb as ASTNODE ptr, _
1120  byval linenum as integer, _
1121  byval module as zstring ptr _
1122  ) as ASTNODE ptr
1123 
1124 declare function rtlNullPtrCheck _
1125  ( _
1126  byval p as ASTNODE ptr, _
1127  byval linenum as integer, _
1128  byval module as zstring ptr _
1129  ) as ASTNODE ptr
1130 
1131 declare function rtlDataRestore _
1132  ( _
1133  byval label as FBSYMBOL ptr, _
1134  byval afternode as ASTNODE ptr = NULL _
1135  ) as integer
1136 
1137 declare function rtlDataRead _
1138  ( _
1139  byval varexpr as ASTNODE ptr _
1140  ) as integer
1141 
1142 declare function rtlMathPow _
1143  ( _
1144  byval xexpr as ASTNODE ptr, _
1145  byval yexpr as ASTNODE ptr _
1146  ) as ASTNODE ptr
1147 
1148 declare function rtlMathLongintCMP _
1149  ( _
1150  byval op as integer, _
1151  byval dtype as integer, _
1152  byval lexpr as ASTNODE ptr, _
1153  byval ldtype as integer, _
1154  byval rexpr as ASTNODE ptr, _
1155  byval rdtype as integer _
1156  ) as ASTNODE ptr
1157 
1158 declare function rtlMathLongintDIV _
1159  ( _
1160  byval dtype as integer, _
1161  byval lexpr as ASTNODE ptr, _
1162  byval ldtype as integer, _
1163  byval rexpr as ASTNODE ptr, _
1164  byval rdtype as integer _
1165  ) as ASTNODE ptr
1166 
1167 declare function rtlMathLongintMUL _
1168  ( _
1169  byval dtype as integer, _
1170  byval lexpr as ASTNODE ptr, _
1171  byval ldtype as integer, _
1172  byval rexpr as ASTNODE ptr, _
1173  byval rdtype as integer _
1174  ) as ASTNODE ptr
1175 
1176 declare function rtlMathLongintMOD _
1177  ( _
1178  byval dtype as integer, _
1179  byval lexpr as ASTNODE ptr, _
1180  byval ldtype as integer, _
1181  byval rexpr as ASTNODE ptr, _
1182  byval rdtype as integer _
1183  ) as ASTNODE ptr
1184 
1185 declare function rtlMathFp2ULongint _
1186  ( _
1187  byval expr as ASTNODE ptr, _
1188  byval dtype as integer _
1189  ) as ASTNODE ptr
1190 
1191 declare function rtlMathUop _
1192  ( _
1193  byval op as integer, _
1194  byval expr as ASTNODE ptr _
1195  ) as ASTNODE ptr
1196 
1197 declare function rtlMathBop _
1198  ( _
1199  byval op as integer, _
1200  byval lexpr as ASTNODE ptr, _
1201  byval rexpr as ASTNODE ptr _
1202  ) as ASTNODE ptr
1203 
1204 declare function rtlMathFTOI _
1205  ( _
1206  byval expr as ASTNODE ptr, _
1207  byval to_dtype as integer _
1208  ) as ASTNODE ptr
1209 
1210 declare function rtlInitMain _
1211  ( _
1212  _
1213  ) as integer
1214 
1215 declare function rtlInitApp _
1216  ( _
1217  byval argc as ASTNODE ptr, _
1218  byval argv as ASTNODE ptr _
1219  ) as ASTNODE ptr
1220 
1221 declare function rtlExitApp( byval errlevel as ASTNODE ptr ) as integer
1222 
1223 declare function rtlMemCopy _
1224  ( _
1225  byval dst as ASTNODE ptr, _
1226  byval src as ASTNODE ptr, _
1227  byval bytes as longint _
1228  ) as ASTNODE ptr
1229 
1230 declare function rtlMemSwap _
1231  ( _
1232  byval dst as ASTNODE ptr, _
1233  byval src as ASTNODE ptr _
1234  ) as integer
1235 
1236 declare function rtlStrSwap _
1237  ( _
1238  byval str1 as ASTNODE ptr, _
1239  byval str2 as ASTNODE ptr _
1240  ) as integer
1241 
1242 declare function rtlWstrSwap _
1243  ( _
1244  byval str1 as ASTNODE ptr, _
1245  byval str2 as ASTNODE ptr _
1246  ) as integer
1247 
1248 declare function rtlMemCopyClear _
1249  ( _
1250  byval dstexpr as ASTNODE ptr, _
1251  byval dstlen as longint, _
1252  byval srcexpr as ASTNODE ptr, _
1253  byval srclen as longint _
1254  ) as integer
1255 
1256 declare function rtlMemNewOp _
1257  ( _
1258  byval op as integer, _
1259  byval len_expr as ASTNODE ptr, _
1260  byval dtype as integer, _
1261  byval subtype as FBSYMBOL ptr _
1262  ) as ASTNODE ptr
1263 
1264 declare function rtlMemDeleteOp _
1265  ( _
1266  byval op as integer, _
1267  byval ptr_expr as ASTNODE ptr, _
1268  byval dtype as integer, _
1269  byval subtype as FBSYMBOL ptr _
1270  ) as ASTNODE ptr
1271 
1272 declare function rtlOOPIsTypeOf _
1273  ( _
1274  byval inst as ASTNODE ptr, _
1275  byval rtti as ASTNODE ptr _
1276  ) as ASTNODE ptr
1277 
1278 declare function rtlPrint _
1279  ( _
1280  byval fileexpr as ASTNODE ptr, _
1281  byval iscomma as integer, _
1282  byval issemicolon as integer, _
1283  byval expr as ASTNODE ptr, _
1284  byval islprint as integer = FALSE _
1285  ) as integer
1286 
1287 declare function rtlPrintSPC _
1288  ( _
1289  byval fileexpr as ASTNODE ptr, _
1290  byval expr as ASTNODE ptr, _
1291  byval islprint as integer = FALSE _
1292  ) as integer
1293 
1294 declare function rtlPrintTab _
1295  ( _
1296  byval fileexpr as ASTNODE ptr, _
1297  byval expr as ASTNODE ptr, _
1298  byval islprint as integer = FALSE _
1299  ) as integer
1300 
1301 declare function rtlWrite _
1302  ( _
1303  byval fileexpr as ASTNODE ptr, _
1304  byval iscomma as integer, _
1305  byval expr as ASTNODE ptr _
1306  ) as integer
1307 
1308 declare function rtlPrintUsingInit _
1309  ( _
1310  byval usingexpr as ASTNODE ptr, _
1311  byval islprint as integer = FALSE _
1312  ) as integer
1313 
1314 declare function rtlPrintUsingEnd _
1315  ( _
1316  byval fileexpr as ASTNODE ptr, _
1317  byval islprint as integer = FALSE _
1318  ) as integer
1319 
1320 declare function rtlPrintUsing _
1321  ( _
1322  byval fileexpr as ASTNODE ptr, _
1323  byval expr as ASTNODE ptr, _
1324  byval iscomma as integer, _
1325  byval issemicolon as integer, _
1326  byval islprint as integer = FALSE _
1327  ) as integer
1328 
1329 declare function rtlFileOpen _
1330  ( _
1331  byval filename as ASTNODE ptr, _
1332  byval fmode as ASTNODE ptr, _
1333  byval faccess as ASTNODE ptr, _
1334  byval flock as ASTNODE ptr, _
1335  byval filenum as ASTNODE ptr, _
1336  byval flen as ASTNODE ptr, _
1337  byval fencoding as ASTNODE ptr, _
1338  byval isfunc as integer, _
1339  byval openkind as FBOPENKIND _
1340  ) as ASTNODE ptr
1341 
1342 declare function rtlFileOpenShort _
1343  ( _
1344  byval filename as ASTNODE ptr, _
1345  byval fmode as ASTNODE ptr, _
1346  byval faccess as ASTNODE ptr, _
1347  byval flock as ASTNODE ptr, _
1348  byval filenum as ASTNODE ptr, _
1349  byval flen as ASTNODE ptr, _
1350  byval isfunc as integer _
1351  ) as ASTNODE ptr
1352 
1353 declare function rtlFileRename _
1354  ( _
1355  byval filename_new as ASTNODE ptr, _
1356  byval filename_old as ASTNODE ptr, _
1357  byval isfunc as integer _
1358  ) as ASTNODE ptr
1359 
1360 declare function rtlWidthScreen _
1361  ( _
1362  byval width_arg as ASTNODE ptr, _
1363  byval height_arg as ASTNODE ptr, _
1364  byval isfunc as integer _
1365  ) as ASTNODE ptr
1366 
1367 declare function rtlWidthDev _
1368  ( _
1369  byval device as ASTNODE ptr, _
1370  byval width_arg as ASTNODE ptr, _
1371  byval isfunc as integer _
1372  ) as ASTNODE ptr
1373 
1374 declare function rtlWidthFile _
1375  ( _
1376  byval fnum as ASTNODE ptr, _
1377  byval width_arg as ASTNODE ptr, _
1378  byval isfunc as integer _
1379  ) as ASTNODE ptr
1380 
1381 declare function rtlColor _
1382  ( _
1383  byval fore_color as ASTNODE ptr, _
1384  byval back_color as ASTNODE ptr, _
1385  byval isfunc as integer _
1386  ) as ASTNODE ptr
1387 
1388 declare function rtlPageSet _
1389  ( _
1390  byval active as ASTNODE ptr, _
1391  byval visible as ASTNODE ptr, _
1392  byval isfunc as integer _
1393  ) as ASTNODE ptr
1394 
1395 declare function rtlFileClose _
1396  ( _
1397  byval filenum as ASTNODE ptr, _
1398  byval isfunc as integer _
1399  ) as ASTNODE ptr
1400 
1401 declare function rtlFileSeek _
1402  ( _
1403  byval filenum as ASTNODE ptr, _
1404  byval newpos as ASTNODE ptr _
1405  ) as integer
1406 
1407 declare function rtlFileTell _
1408  ( _
1409  byval filenum as ASTNODE ptr _
1410  ) as ASTNODE ptr
1411 
1412 declare function rtlFilePut _
1413  ( _
1414  byval filenum as ASTNODE ptr, _
1415  byval offset as ASTNODE ptr, _
1416  byval src as ASTNODE ptr, _
1417  byval elements as ASTNODE ptr, _
1418  byval isfunc as integer _
1419  ) as ASTNODE ptr
1420 
1421 declare function rtlFilePutArray _
1422  ( _
1423  byval filenum as ASTNODE ptr, _
1424  byval offset as ASTNODE ptr, _
1425  byval src as ASTNODE ptr, _
1426  byval isfunc as integer _
1427  ) as ASTNODE ptr
1428 
1429 declare function rtlFileGet _
1430  ( _
1431  byval filenum as ASTNODE ptr, _
1432  byval offset as ASTNODE ptr, _
1433  byval dst as ASTNODE ptr, _
1434  byval elements as ASTNODE ptr, _
1435  byval iobytes as ASTNODE ptr, _
1436  byval isfunc as integer _
1437  ) as ASTNODE ptr
1438 
1439 declare function rtlFileGetArray _
1440  ( _
1441  byval filenum as ASTNODE ptr, _
1442  byval offset as ASTNODE ptr, _
1443  byval dst as ASTNODE ptr, _
1444  byval iobytes as ASTNODE ptr, _
1445  byval isfunc as integer _
1446  ) as ASTNODE ptr
1447 
1448 declare function rtlFileStrInput _
1449  ( _
1450  byval bytesexpr as ASTNODE ptr, _
1451  byval filenum as ASTNODE ptr, _
1452  byval tk as integer _
1453  ) as ASTNODE ptr
1454 
1455 declare function rtlFileLineInput _
1456  ( _
1457  byval isfile as integer, _
1458  byval expr as ASTNODE ptr, _
1459  byval dstexpr as ASTNODE ptr, _
1460  byval addquestion as integer, _
1461  byval addnewline as integer _
1462  ) as integer
1463 
1464 declare function rtlFileLineInputWstr _
1465  ( _
1466  byval isfile as integer, _
1467  byval expr as ASTNODE ptr, _
1468  byval dstexpr as ASTNODE ptr, _
1469  byval addquestion as integer, _
1470  byval addnewline as integer _
1471  ) as integer
1472 
1473 declare function rtlFileInput _
1474  ( _
1475  byval isfile as integer, _
1476  byval expr as ASTNODE ptr, _
1477  byval addquestion as integer, _
1478  byval addnewline as integer _
1479  ) as integer
1480 
1481 declare function rtlFileInputGet _
1482  ( _
1483  byval dstexpr as ASTNODE ptr _
1484  ) as integer
1485 
1486 declare function rtlFileLock _
1487  ( _
1488  byval islock as integer, _
1489  byval filenum as ASTNODE ptr, _
1490  byval iniexpr as ASTNODE ptr, _
1491  byval endexpr as ASTNODE ptr _
1492  ) as integer
1493 
1494 declare function rtlErrorCheck( byval expr as ASTNODE ptr ) as ASTNODE ptr
1495 
1496 declare sub rtlErrorThrow _
1497  ( _
1498  byval errexpr as ASTNODE ptr, _
1499  byval linenum as integer, _
1500  byval module as zstring ptr _
1501  )
1502 
1503 declare sub rtlErrorSetHandler _
1504  ( _
1505  byval newhandler as ASTNODE ptr, _
1506  byval savecurrent as integer _
1507  )
1508 
1509 declare function rtlErrorGetNum _
1510  ( _
1511  _
1512  ) as ASTNODE ptr
1513 
1514 declare sub rtlErrorSetNum _
1515  ( _
1516  byval errexpr as ASTNODE ptr _
1517  )
1518 
1519 declare sub rtlErrorResume _
1520  ( _
1521  byval isnext as integer _
1522  )
1523 
1524 declare function rtlErrorSetModName _
1525  ( _
1526  byval sym as FBSYMBOL ptr, _
1527  byval modname as ASTNODE ptr _
1528  ) as ASTNODE ptr
1529 
1530 declare function rtlErrorSetFuncName _
1531  ( _
1532  byval sym as FBSYMBOL ptr, _
1533  byval funcname as ASTNODE ptr _
1534  ) as ASTNODE ptr
1535 
1536 declare function rtlConsoleView _
1537  ( _
1538  byval topexpr as ASTNODE ptr, _
1539  byval botexpr as ASTNODE ptr _
1540  ) as ASTNODE ptr
1541 
1542 declare function rtlConsoleReadXY _
1543  ( _
1544  byval rowexpr as ASTNODE ptr, _
1545  byval columnexpr as ASTNODE ptr, _
1546  byval colorflagexpr as ASTNODE ptr _
1547  ) as ASTNODE ptr
1548 
1549 declare function rtlAtExit _
1550  ( _
1551  byval procexpr as ASTNODE ptr _
1552  ) as ASTNODE ptr
1553 
1554 declare function rtlGfxPset _
1555  ( _
1556  byval target as ASTNODE ptr, _
1557  byval targetisptr as integer, _
1558  byval xexpr as ASTNODE ptr, _
1559  byval yexpr as ASTNODE ptr, _
1560  byval cexpr as ASTNODE ptr, _
1561  byval coordtype as integer, _
1562  byval ispreset as integer _
1563  ) as integer
1564 
1565 declare function rtlGfxPoint _
1566  ( _
1567  byval target as ASTNODE ptr, _
1568  byval targetisptr as integer, _
1569  byval xexpr as ASTNODE ptr, _
1570  byval yexpr as ASTNODE ptr _
1571  ) as ASTNODE ptr
1572 
1573 declare function rtlGfxLine _
1574  ( _
1575  byval target as ASTNODE ptr, _
1576  byval targetisptr as integer, _
1577  byval x1expr as ASTNODE ptr, _
1578  byval y1expr as ASTNODE ptr, _
1579  byval x2expr as ASTNODE ptr, _
1580  byval y2expr as ASTNODE ptr, _
1581  byval cexpr as ASTNODE ptr, _
1582  byval linetype as integer, _
1583  byval styleexpr as ASTNODE ptr, _
1584  byval coordtype as integer _
1585  ) as integer
1586 
1587 declare function rtlGfxCircle _
1588  ( _
1589  byval target as ASTNODE ptr, _
1590  byval targetisptr as integer, _
1591  byval xexpr as ASTNODE ptr, _
1592  byval yexpr as ASTNODE ptr, _
1593  byval radexpr as ASTNODE ptr, _
1594  byval cexpr as ASTNODE ptr, _
1595  byval aspexpr as ASTNODE ptr, _
1596  byval iniexpr as ASTNODE ptr, _
1597  byval endexpr as ASTNODE ptr, _
1598  byval fillflag as integer, _
1599  byval coordtype as integer _
1600  ) as integer
1601 
1602 declare function rtlGfxPaint _
1603  ( _
1604  byval target as ASTNODE ptr, _
1605  byval targetisptr as integer, _
1606  byval xexpr as ASTNODE ptr, _
1607  byval yexpr as ASTNODE ptr, _
1608  byval pexpr as ASTNODE ptr, _
1609  byval bexpr as ASTNODE ptr, _
1610  byval coord_type as integer _
1611  ) as integer
1612 
1613 declare function rtlGfxDraw _
1614  ( _
1615  byval target as ASTNODE ptr, _
1616  byval targetisptr as integer, _
1617  byval cexpr as ASTNODE ptr _
1618  ) as integer
1619 
1620 declare function rtlGfxDrawString _
1621  ( _
1622  byval target as ASTNODE ptr, _
1623  byval targetisptr as integer, _
1624  byval xexpr as ASTNODE ptr, _
1625  byval texpr as ASTNODE ptr, _
1626  byval sexpr as ASTNODE ptr, _
1627  byval cexpr as ASTNODE ptr, _
1628  byval fexpr as ASTNODE ptr, _
1629  byval fisptr as integer, _
1630  byval coord_type as integer, _
1631  byval mode as integer, _
1632  byval alphaexpr as ASTNODE ptr, _
1633  byval funcexpr as ASTNODE ptr, _
1634  byval paramexpr as ASTNODE ptr _
1635  ) as integer
1636 
1637 declare function rtlGfxView _
1638  ( _
1639  byval x1expr as ASTNODE ptr, _
1640  byval y1expr as ASTNODE ptr, _
1641  byval x2expr as ASTNODE ptr, _
1642  byval y2expr as ASTNODE ptr, _
1643  byval fillexpr as ASTNODE ptr, _
1644  byval bordexpr as ASTNODE ptr, _
1645  byval screenflag as integer _
1646  ) as integer
1647 
1648 declare function rtlGfxWindow _
1649  ( _
1650  byval x1expr as ASTNODE ptr, _
1651  byval y1expr as ASTNODE ptr, _
1652  byval x2expr as ASTNODE ptr, _
1653  byval y2expr as ASTNODE ptr, _
1654  byval screenflag as integer _
1655  ) as integer
1656 
1657 declare function rtlGfxPalette _
1658  ( _
1659  byval attexpr as ASTNODE ptr, _
1660  byval rexpr as ASTNODE ptr, _
1661  byval gexpr as ASTNODE ptr, _
1662  byval bexpr as ASTNODE ptr, _
1663  byval isget as integer _
1664  ) as integer
1665 
1666 declare function rtlGfxPaletteUsing _
1667  ( _
1668  byval arrayexpr as ASTNODE ptr, _
1669  byval isptr as integer, _
1670  byval isget as integer _
1671  ) as integer
1672 
1673 declare function rtlGfxPut _
1674  ( _
1675  byval target as ASTNODE ptr, _
1676  byval targetisptr as integer, _
1677  byval xexpr as ASTNODE ptr, _
1678  byval yexpr as ASTNODE ptr, _
1679  byval arrayexpr as ASTNODE ptr, _
1680  byval isptr as integer, _
1681  byval x1expr as ASTNODE ptr, _
1682  byval x2expr as ASTNODE ptr, _
1683  byval y1expr as ASTNODE ptr, _
1684  byval y2expr as ASTNODE ptr, _
1685  byval mode as integer, _
1686  byval alphaexpr as ASTNODE ptr, _
1687  byval funcexpr as ASTNODE ptr, _
1688  byval paramexpr as ASTNODE ptr, _
1689  byval coordtype as integer _
1690  ) as integer
1691 
1692 declare function rtlGfxGet _
1693  ( _
1694  byval target as ASTNODE ptr, _
1695  byval targetisptr as integer, _
1696  byval x1expr as ASTNODE ptr, _
1697  byval y1expr as ASTNODE ptr, _
1698  byval x2expr as ASTNODE ptr, _
1699  byval y2expr as ASTNODE ptr, _
1700  byval arrayexpr as ASTNODE ptr, _
1701  byval isptr as integer, _
1702  byval symbol as FBSYMBOL ptr, _
1703  byval coordtype as integer _
1704  ) as integer
1705 
1706 declare function rtlGfxScreenSet _
1707  ( _
1708  byval mexpr as ASTNODE ptr, _
1709  byval dexpr as ASTNODE ptr, _
1710  byval pexpr as ASTNODE ptr, _
1711  byval fexpr as ASTNODE ptr, _
1712  byval rexpr as ASTNODE ptr _
1713  ) as integer
1714 
1715 declare function rtlGfxScreenSetQB _
1716  ( _
1717  byval mode as ASTNODE ptr, _
1718  byval active as ASTNODE ptr, _
1719  byval visible as ASTNODE ptr _
1720  ) as integer
1721 
1722 declare function rtlGfxImageCreate _
1723  ( _
1724  byval wexpr as ASTNODE ptr, _
1725  byval hexpr as ASTNODE ptr, _
1726  byval cexpr as ASTNODE ptr, _
1727  byval dexpr as ASTNODE ptr, _
1728  byval flags as integer _
1729  ) as ASTNODE ptr
1730 
1731 declare function rtlProfileCall_mcount( ) as ASTNODE ptr
1732 declare sub rtlProfileCall_monstartup( )
1733 
1734 declare function rtlGosubPush _
1735  ( _
1736  byval ctx as ASTNODE ptr _
1737  ) as ASTNODE ptr
1738 
1739 declare function rtlGosubPop _
1740  ( _
1741  byval ctx as ASTNODE ptr _
1742  ) as ASTNODE ptr
1743 
1744 declare function rtlGosubReturn( byval ctx as ASTNODE ptr ) as integer
1745 
1746 declare function rtlGosubExit _
1747  ( _
1748  byval ctx as ASTNODE ptr _
1749  ) as ASTNODE ptr
1750 
1751 declare function rtlSetJmp _
1752  ( _
1753  byval buf as ASTNODE ptr _
1754  ) as ASTNODE ptr
1755 
1756 declare function rtlMultinput_cb _
1757  ( _
1758  byval sym as FBSYMBOL ptr _
1759  ) as integer
1760 
1761 declare function rtlPrinter_cb _
1762  ( _
1763  byval sym as FBSYMBOL ptr _
1764  ) as integer
1765 
1766 declare function rtlThreadCall(byval callexpr as ASTNODE ptr) as ASTNODE ptr
1767 
1768 
1779 
1780 ''
1781 '' macros
1782 ''
1783 
1784 #define PROCLOOKUP(id) rtlProcLookup( strptr( FB_RTL_##id ), FB_RTL_IDX_##id )
1785 
1786 
1787 
1788