Rev 7983 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7983 | Rev 8097 | ||
---|---|---|---|
Line 10... | Line 10... | ||
10 | IMPORT SYSTEM, K := KOSAPI; |
10 | IMPORT SYSTEM, K := KOSAPI; |
Line 11... | Line 11... | ||
11 | 11 | ||
Line -... | Line 12... | ||
- | 12 | ||
- | 13 | CONST |
|
12 | 14 | ||
13 | CONST |
15 | eol* = 0DX + 0AX; |
Line 14... | Line 16... | ||
14 | 16 | ||
15 | MAX_SIZE = 16 * 400H; |
17 | MAX_SIZE = 16 * 400H; |
Line 31... | Line 33... | ||
31 | heap, endheap: INTEGER; |
33 | heap, endheap: INTEGER; |
32 | pockets: ARRAY MAX_SIZE DIV 32 + 1 OF INTEGER; |
34 | pockets: ARRAY MAX_SIZE DIV 32 + 1 OF INTEGER; |
Line 33... | Line 35... | ||
33 | 35 | ||
Line 34... | Line 36... | ||
34 | CriticalSection: CRITICAL_SECTION; |
36 | CriticalSection: CRITICAL_SECTION; |
Line 35... | Line -... | ||
35 | - | ||
36 | import*, multi: BOOLEAN; |
37 | |
Line 37... | Line 38... | ||
37 | 38 | _import*, multi: BOOLEAN; |
|
38 | eol*: ARRAY 3 OF CHAR; |
39 | |
Line 282... | Line 283... | ||
282 | 283 | ||
283 | PROCEDURE imp_error; |
284 | PROCEDURE imp_error; |
284 | BEGIN |
285 | BEGIN |
285 | OutString("import error: "); |
286 | OutString("import error: "); |
286 | IF K.imp_error.error = 1 THEN |
287 | IF K.imp_error.error = 1 THEN |
287 | OutString("can't load "); OutString(K.imp_error.lib) |
288 | OutString("can't load '"); OutString(K.imp_error.lib) |
288 | ELSIF K.imp_error.error = 2 THEN |
289 | ELSIF K.imp_error.error = 2 THEN |
289 | OutString("not found "); OutString(K.imp_error.proc); OutString(" in "); OutString(K.imp_error.lib) |
290 | OutString("not found '"); OutString(K.imp_error.proc); OutString("' in '"); OutString(K.imp_error.lib) |
- | 291 | END; |
|
290 | END; |
292 | OutString("'"); |
291 | OutLn |
293 | OutLn |
Line 292... | Line 294... | ||
292 | END imp_error; |
294 | END imp_error; |
293 | 295 | ||
294 | 296 | ||
295 | PROCEDURE init* (_import, code: INTEGER); |
- | |
296 | BEGIN |
297 | PROCEDURE init* (import_, code: INTEGER); |
297 | multi := FALSE; |
298 | BEGIN |
298 | eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; |
299 | multi := FALSE; |
299 | base := code - SizeOfHeader; |
300 | base := code - SizeOfHeader; |
300 | K.sysfunc2(68, 11); |
301 | K.sysfunc2(68, 11); |
301 | InitializeCriticalSection(CriticalSection); |
302 | InitializeCriticalSection(CriticalSection); |
302 | K._init; |
303 | K._init; |
303 | import := (K.dll_Load(_import) = 0) & (K.imp_error.error = 0); |
304 | _import := (K.dll_Load(import_) = 0) & (K.imp_error.error = 0); |
304 | IF ~import THEN |
305 | IF ~_import THEN |