Subversion Repositories Kolibri OS

Rev

Rev 7107 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7107 akron1 1
(*
7597 akron1 2
    BSD 2-Clause License
6613 leency 3
 
7597 akron1 4
    Copyright (c) 2018, 2019, Anton Krotov
5
    All rights reserved.
6613 leency 6
*)
7
 
8
MODULE API;
9
 
7597 akron1 10
IMPORT SYSTEM;
6613 leency 11
 
12
VAR
13
 
7597 akron1 14
    eol*:  ARRAY 3 OF CHAR;
15
    base*: INTEGER;
6613 leency 16
 
17
 
7597 akron1 18
PROCEDURE [windows-, "kernel32.dll", "ExitProcess"]  ExitProcess (code: INTEGER);
19
PROCEDURE [windows-, "kernel32.dll", "ExitThread"]   ExitThread (code: INTEGER);
20
PROCEDURE [windows-, "kernel32.dll", "GlobalAlloc"]  Alloc (uFlags, dwBytes: INTEGER): INTEGER;
21
PROCEDURE [windows-, "kernel32.dll", "GlobalFree"]   Free (hMem: INTEGER): INTEGER;
6613 leency 22
 
7597 akron1 23
PROCEDURE [windows-, "user32.dll", "MessageBoxA"]    MessageBoxA (hWnd, lpText, lpCaption, uType: INTEGER): INTEGER;
24
 
25
 
26
PROCEDURE DebugMsg* (lpText, lpCaption: INTEGER);
6613 leency 27
BEGIN
7597 akron1 28
    MessageBoxA(0, lpText, lpCaption, 16)
6613 leency 29
END DebugMsg;
30
 
31
 
7597 akron1 32
PROCEDURE _NEW* (size: INTEGER): INTEGER;
33
    RETURN Alloc(64, size)
6613 leency 34
END _NEW;
35
 
7597 akron1 36
 
37
PROCEDURE _DISPOSE* (p: INTEGER): INTEGER;
38
    RETURN Free(p)
6613 leency 39
END _DISPOSE;
40
 
7597 akron1 41
 
42
PROCEDURE init* (reserved, code: INTEGER);
6613 leency 43
BEGIN
7597 akron1 44
    eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X;
45
    base := code - 4096
46
END init;
6613 leency 47
 
48
 
7597 akron1 49
PROCEDURE exit* (code: INTEGER);
50
BEGIN
51
    ExitProcess(code)
52
END exit;
6613 leency 53
 
54
 
7597 akron1 55
PROCEDURE exit_thread* (code: INTEGER);
56
BEGIN
57
    ExitThread(code)
58
END exit_thread;
59
 
60
 
61
END API.