kolibrios-fun/programs/develop/fp/rtl/windows.pp

101 lines
1.8 KiB
ObjectPascal
Raw Normal View History

unit Windows;
{$mode objfpc}
interface
type
WinBool = LongBool;
Bool = WinBool;
Handle = System.THandle;
THandle = Handle;
OVERLAPPED = record
Internal : DWORD;
InternalHigh : DWORD;
Offset : DWORD;
OffsetHigh : DWORD;
hEvent : HANDLE;
end;
LPOVERLAPPED = ^OVERLAPPED;
_OVERLAPPED = OVERLAPPED;
TOVERLAPPED = OVERLAPPED;
POVERLAPPED = ^OVERLAPPED;
function GetStdHandle(nStdHandle: DWord): Handle;
{function SetStdHandle(nStdHandle:DWORD; hHandle:HANDLE): WinBool;}
function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWord; var lpNumberOfBytesWritten: DWord; lpOverlapped: POverlapped): Bool;
function Std_Input_Handle: DWord;
function Std_Output_Handle: DWord;
function Std_Error_Handle: DWord;
function GetTickCount: DWord;
function QueryPerformanceCounter(var lpPerformanceCount: Int64): WinBool;
function QueryPerformanceFrequency(var lpFrequency: Int64): WinBool;
function AllocConsole: WinBool;
{function FreeConsole: WinBool;}
implementation
function GetStdHandle(nStdHandle: DWord): Handle;
begin
Result := 0;
end;
function Std_Input_Handle: DWord;
begin
Result := 0;
end;
function Std_Output_Handle: DWord;
begin
Result := 1;
end;
function Std_Error_Handle: DWord;
begin
Result := 2;
end;
function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWord; var lpNumberOfBytesWritten: DWord; lpOverlapped: POverlapped): Bool;
begin
Result := True;
end;
function GetTickCount: DWord;
begin
Result := kos_timecounter() * 10;
end;
function QueryPerformanceCounter(var lpPerformanceCount: Int64): WinBool;
begin
lpPerformanceCount := kos_timecounter();
Result := True
end;
function QueryPerformanceFrequency(var lpFrequency: Int64): WinBool;
begin
lpFrequency := 100;
Result := True
end;
function AllocConsole: WinBool;
begin
Result := True;
end;
end.