Subversion Repositories Kolibri OS

Rev

Rev 6613 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6613 Rev 7107
Line 1... Line 1...
1
(*
1
(*
2
    Copyright 2016 Anton Krotov
2
    Copyright 2016, 2017 Anton Krotov
Line 3... Line 3...
3
 
3
 
4
    This program is free software: you can redistribute it and/or modify
4
    This program is free software: you can redistribute it and/or modify
5
    it under the terms of the GNU Lesser General Public License as published by
5
    it under the terms of the GNU Lesser General Public License as published by
6
    the Free Software Foundation, either version 3 of the License, or
6
    the Free Software Foundation, either version 3 of the License, or
Line 47... Line 47...
47
    dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile: INTEGER): INTEGER;
47
    dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile: INTEGER): INTEGER;
48
  _OpenFile*: PROCEDURE [winapi] (lpFileName: INTEGER; lpReOpenBuff: OFSTRUCT; uStyle: INTEGER): INTEGER;
48
  _OpenFile*: PROCEDURE [winapi] (lpFileName: INTEGER; lpReOpenBuff: OFSTRUCT; uStyle: INTEGER): INTEGER;
49
  ReadFile, WriteFile: PROCEDURE [winapi] (hFile, Buffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped: INTEGER): INTEGER;
49
  ReadFile, WriteFile: PROCEDURE [winapi] (hFile, Buffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped: INTEGER): INTEGER;
50
  GetCommandLine*: PROCEDURE [winapi] (): INTEGER;
50
  GetCommandLine*: PROCEDURE [winapi] (): INTEGER;
51
  GetTickCount: PROCEDURE [winapi] (): INTEGER;
51
  GetTickCount: PROCEDURE [winapi] (): INTEGER;
52
  Alloc: PROCEDURE [winapi] (uFlags, dwBytes: INTEGER): INTEGER;
-
 
53
  ExitProcess*: PROCEDURE [winapi] (code: INTEGER);
52
  ExitProcess*: PROCEDURE [winapi] (code: INTEGER);
54
  SetFilePointer: PROCEDURE [winapi] (hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod: INTEGER): INTEGER;
53
  SetFilePointer: PROCEDURE [winapi] (hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod: INTEGER): INTEGER;
Line 55... Line 54...
55
 
54
 
56
PROCEDURE FileRW*(hFile, Buffer, nNumberOfBytes: INTEGER; write: BOOLEAN): INTEGER;
55
PROCEDURE FileRW*(hFile, Buffer, nNumberOfBytes: INTEGER; write: BOOLEAN): INTEGER;
Line 110... Line 109...
110
  sec := t DIV 100;
109
  sec := t DIV 100;
111
  dsec := t MOD 100
110
  dsec := t MOD 100
112
END Time;
111
END Time;
Line 113... Line 112...
113
 
112
 
114
PROCEDURE malloc*(size: INTEGER): INTEGER;
113
PROCEDURE malloc*(size: INTEGER): INTEGER;
115
  RETURN Alloc(64, size)
114
  RETURN API.Alloc(64, size)
Line 116... Line 115...
116
END malloc;
115
END malloc;
117
 
116
 
118
PROCEDURE init*;
117
PROCEDURE init*;
Line 126... Line 125...
126
  GetProc("CloseHandle", lib, sys.ADR(CloseFile));
125
  GetProc("CloseHandle", lib, sys.ADR(CloseFile));
127
  GetProc("OpenFile", lib, sys.ADR(_OpenFile));
126
  GetProc("OpenFile", lib, sys.ADR(_OpenFile));
128
  GetProc("ReadFile", lib, sys.ADR(ReadFile));
127
  GetProc("ReadFile", lib, sys.ADR(ReadFile));
129
  GetProc("WriteFile", lib, sys.ADR(WriteFile));
128
  GetProc("WriteFile", lib, sys.ADR(WriteFile));
130
  GetProc("GetCommandLineA", lib, sys.ADR(GetCommandLine));
129
  GetProc("GetCommandLineA", lib, sys.ADR(GetCommandLine));
131
  GetProc("ExitProcess", lib, sys.ADR(ExitProcess));
-
 
132
  GetProc("GlobalAlloc", lib, sys.ADR(Alloc));
-
 
133
  GetProc("SetFilePointer", lib, sys.ADR(SetFilePointer));
130
  GetProc("SetFilePointer", lib, sys.ADR(SetFilePointer));
-
 
131
  ExitProcess := API.ExitProcess;
134
  hConsoleOutput := GetStdHandle(-11)
132
  hConsoleOutput := GetStdHandle(-11)
135
END init;
133
END init;
Line 136... Line 134...
136
 
134
 
137
PROCEDURE GetName*(): INTEGER;
135
PROCEDURE GetName*(): INTEGER;