Subversion Repositories Kolibri OS

Rev

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