Subversion Repositories Kolibri OS

Rev

Rev 7107 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

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