Browse Source

* compatibility fixes

peter 26 years ago
parent
commit
ca2e762bab
10 changed files with 115 additions and 81 deletions
  1. 18 15
      rtl/win32/ascdef.pp
  2. 10 7
      rtl/win32/ascfun.pp
  3. 5 2
      rtl/win32/base.pp
  4. 5 2
      rtl/win32/defines.pp
  5. 6 3
      rtl/win32/filutil.inc
  6. 30 27
      rtl/win32/func.pp
  7. 12 2
      rtl/win32/redef.inc
  8. 7 7
      rtl/win32/struct.pp
  9. 12 9
      rtl/win32/unidef.pp
  10. 10 7
      rtl/win32/unifun.pp

+ 18 - 15
rtl/win32/ascdef.pp

@@ -816,24 +816,24 @@ unit ascdef;
 
   function EnumSystemCodePages(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL;
 
-  function PeekConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function PeekConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead: DWORD):WINBOOL;
 
-  function ReadConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function ReadConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
-  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL;
+  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL;
 
   function ReadConsoleOutput(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL;
 
   function WriteConsoleOutput(hConsoleOutput:HANDLE; var lpBuffer:CHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpWriteRegion:PSMALL_RECT):WINBOOL;
   function WriteConsoleOutput(hConsoleOutput:HANDLE; lpBuffer : pointer; dwBufferSize:COORD; dwBufferCoord:COORD; var lpWriteRegion : SMALL_RECT):WINBOOL;
 
-  function ReadConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPSTR; nLength:DWORD; dwReadCoord:COORD; lpNumberOfCharsRead:LPDWORD):WINBOOL;
+  function ReadConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPSTR; nLength:DWORD; dwReadCoord:COORD; var lpNumberOfCharsRead:DWORD):WINBOOL;
 
-  function WriteConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPCSTR; nLength:DWORD; dwWriteCoord:COORD; lpNumberOfCharsWritten:LPDWORD):WINBOOL;
+  function WriteConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPCSTR; nLength:DWORD; dwWriteCoord:COORD; var lpNumberOfCharsWritten:DWORD):WINBOOL;
 
-  function FillConsoleOutputCharacter(hConsoleOutput:HANDLE; cCharacter:CHAR; nLength:DWORD; dwWriteCoord:COORD; lpNumberOfCharsWritten:LPDWORD):WINBOOL;
+  function FillConsoleOutputCharacter(hConsoleOutput:HANDLE; cCharacter:CHAR; nLength:DWORD; dwWriteCoord:COORD; var lpNumberOfCharsWritten:DWORD):WINBOOL;
 
-  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; var lpClipRectangle:SMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL;
+  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; lpClipRectangle:PSMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL;
 
   function GetConsoleTitle(lpConsoleTitle:LPSTR; nSize:DWORD):DWORD;
 
@@ -1718,24 +1718,24 @@ unit ascdef;
 
   function EnumSystemCodePages(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL; external 'kernel32' name 'EnumSystemCodePagesA';
 
-  function PeekConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputA';
+  function PeekConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputA';
 
-  function ReadConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputA';
+  function ReadConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputA';
 
-  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputA';
+  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputA';
 
   function ReadConsoleOutput(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL; external 'kernel32' name 'ReadConsoleOutputA';
 
   function WriteConsoleOutput(hConsoleOutput:HANDLE; var lpBuffer:CHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpWriteRegion:PSMALL_RECT):WINBOOL; external 'kernel32' name 'WriteConsoleOutputA';
   function WriteConsoleOutput(hConsoleOutput:HANDLE; lpBuffer : pointer; dwBufferSize:COORD; dwBufferCoord:COORD; var lpWriteRegion : SMALL_RECT):WINBOOL; external 'kernel32' name 'WriteConsoleOutputA';
 
-  function ReadConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPSTR; nLength:DWORD; dwReadCoord:COORD; lpNumberOfCharsRead:LPDWORD):WINBOOL; external 'kernel32' name 'ReadConsoleOutputCharacterA';
+  function ReadConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPSTR; nLength:DWORD; dwReadCoord:COORD; var lpNumberOfCharsRead:DWORD):WINBOOL; external 'kernel32' name 'ReadConsoleOutputCharacterA';
 
-  function WriteConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPCSTR; nLength:DWORD; dwWriteCoord:COORD; lpNumberOfCharsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'WriteConsoleOutputCharacterA';
+  function WriteConsoleOutputCharacter(hConsoleOutput:HANDLE; lpCharacter:LPCSTR; nLength:DWORD; dwWriteCoord:COORD; var lpNumberOfCharsWritten:DWORD):WINBOOL; external 'kernel32' name 'WriteConsoleOutputCharacterA';
 
-  function FillConsoleOutputCharacter(hConsoleOutput:HANDLE; cCharacter:CHAR; nLength:DWORD; dwWriteCoord:COORD; lpNumberOfCharsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'FillConsoleOutputCharacterA';
+  function FillConsoleOutputCharacter(hConsoleOutput:HANDLE; cCharacter:CHAR; nLength:DWORD; dwWriteCoord:COORD; var lpNumberOfCharsWritten:DWORD):WINBOOL; external 'kernel32' name 'FillConsoleOutputCharacterA';
 
-  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; var lpClipRectangle:SMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL; external 'kernel32' name 'ScrollConsoleScreenBufferA';
+  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; lpClipRectangle: PSMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL; external 'kernel32' name 'ScrollConsoleScreenBufferA';
 
   function GetConsoleTitle(lpConsoleTitle:LPSTR; nSize:DWORD):DWORD; external 'kernel32' name 'GetConsoleTitleA';
 
@@ -1852,7 +1852,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.7  1999-01-09 07:29:46  florian
+  Revision 1.8  1999-04-20 11:36:07  peter
+    * compatibility fixes
+
+  Revision 1.7  1999/01/09 07:29:46  florian
     * some updates to compile API units for win32
 
   Revision 1.6  1999/01/07 15:52:22  peter

+ 10 - 7
rtl/win32/ascfun.pp

@@ -816,11 +816,11 @@ unit ascfun;
 
   function EnumSystemCodePagesA(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL;
 
-  function PeekConsoleInputA(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function PeekConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
-  function ReadConsoleInputA(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function ReadConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
-  function WriteConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL;
+  function WriteConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL;
 
   function ReadConsoleOutputA(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL;
 
@@ -1717,11 +1717,11 @@ unit ascfun;
 
   function EnumSystemCodePagesA(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL; external 'kernel32' name 'EnumSystemCodePagesA';
 
-  function PeekConsoleInputA(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputA';
+  function PeekConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputA';
 
-  function ReadConsoleInputA(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputA';
+  function ReadConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputA';
 
-  function WriteConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputA';
+  function WriteConsoleInputA(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputA';
 
   function ReadConsoleOutputA(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL; external 'kernel32' name 'ReadConsoleOutputA';
 
@@ -1850,7 +1850,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.6  1999-01-07 15:52:23  peter
+  Revision 1.7  1999-04-20 11:36:08  peter
+    * compatibility fixes
+
+  Revision 1.6  1999/01/07 15:52:23  peter
     * removed winspool requirement
 
   Revision 1.5  1998/10/27 11:17:09  peter

+ 5 - 2
rtl/win32/base.pp

@@ -523,7 +523,7 @@ interface
 
      LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     PTHREAD_START_ROUTINE = function (_para1:LPVOID):DWORD;
+     PTHREAD_START_ROUTINE = Pointer;
 
      LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
 
@@ -962,7 +962,10 @@ end.
 
 {
   $Log$
-  Revision 1.11  1999-03-30 17:00:22  peter
+  Revision 1.12  1999-04-20 11:36:10  peter
+    * compatibility fixes
+
+  Revision 1.11  1999/03/30 17:00:22  peter
     * fixes for 0.99.10
 
   Revision 1.10  1999/01/09 07:29:47  florian

+ 5 - 2
rtl/win32/defines.pp

@@ -4749,7 +4749,7 @@ unit defines;
      MOUSE_MOVED = 1;
   { INPUT_RECORD structure  }
      KEY_EVENT = 1;
-     {MOUSE_EVENT = 2; conflict with function mouse_event }
+     _MOUSE_EVENT = 2; {conflict with function mouse_event}
      cMOUSE_EVENT = 2;
      WINDOW_BUFFER_SIZE_EVENT = 4;
      MENU_EVENT = 8;
@@ -5718,7 +5718,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.8  1999-01-28 18:24:29  pierre
+  Revision 1.9  1999-04-20 11:36:11  peter
+    * compatibility fixes
+
+  Revision 1.8  1999/01/28 18:24:29  pierre
    * conversion from boolean to longint must be explicit
 
   Revision 1.7  1998/11/12 11:41:05  peter

+ 6 - 3
rtl/win32/filutil.inc

@@ -55,7 +55,7 @@ Function FileRead (Handle : Longint; Var Buffer; Count : longint) : Longint;
 Var res : Longint;
 
 begin
-  if not ReadFile(Handle, @Buffer, Count, @res, nil) then res := -1;
+  if not ReadFile(Handle, Buffer, Count, res, nil) then res := -1;
   FileRead:=Res;
 end;
 
@@ -65,7 +65,7 @@ Function FileWrite (Handle : Longint; Var Buffer; Count : Longint) : Longint;
 Var Res : longint;
 
 begin
-  if not WriteFile(Handle, @Buffer, Count, @Res, nil) then Res:= -1;
+  if not WriteFile(Handle, Buffer, Count, Res, nil) then Res:= -1;
   FileWrite:=Res;
 end;
 
@@ -426,7 +426,10 @@ end;
 
 {
   $Log$
-  Revision 1.9  1999-04-08 12:23:09  peter
+  Revision 1.10  1999-04-20 11:36:13  peter
+    * compatibility fixes
+
+  Revision 1.9  1999/04/08 12:23:09  peter
     * removed os.inc
 
   Revision 1.8  1999/03/18 16:15:59  michael

+ 30 - 27
rtl/win32/func.pp

@@ -1093,7 +1093,7 @@ ExitProcess(
       );
    }
   function CreateThread(lpThreadAttributes:LPSECURITY_ATTRIBUTES; dwStackSize:DWORD; lpStartAddress:LPTHREAD_START_ROUTINE; lpParameter:LPVOID; dwCreationFlags:DWORD;
-             lpThreadId:LPDWORD):HANDLE;
+                var lpThreadId:DWORD):HANDLE;
 
   function CreateRemoteThread(hProcess:HANDLE; lpThreadAttributes:LPSECURITY_ATTRIBUTES; dwStackSize:DWORD; lpStartAddress:LPTHREAD_START_ROUTINE; lpParameter:LPVOID;
              dwCreationFlags:DWORD; lpThreadId:LPDWORD):HANDLE;
@@ -1122,7 +1122,7 @@ ExitProcess(
 
   procedure SetLastError(dwErrCode:DWORD);
 
-  function GetOverlappedResult(hFile:HANDLE; lpOverlapped:LPOVERLAPPED; lpNumberOfBytesTransferred:LPDWORD; bWait:WINBOOL):WINBOOL;
+  function GetOverlappedResult(hFile:HANDLE; const lpOverlapped:TOVERLAPPED; var lpNumberOfBytesTransferred:DWORD; bWait:WINBOOL):WINBOOL;
 
   function CreateIoCompletionPort(FileHandle:HANDLE; ExistingCompletionPort:HANDLE; CompletionKey:DWORD; NumberOfConcurrentThreads:DWORD):HANDLE;
 
@@ -1209,9 +1209,9 @@ ExitProcess(
 
   function SetStdHandle(nStdHandle:DWORD; hHandle:HANDLE):WINBOOL;
 
-  function WriteFile(hFile:HANDLE; lpBuffer:LPCVOID; nNumberOfBytesToWrite:DWORD; lpNumberOfBytesWritten:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL;
+  function WriteFile(hFile:HANDLE; var lpBuffer; nNumberOfBytesToWrite:DWORD; var lpNumberOfBytesWritten:DWORD; lpOverlapped:LPOVERLAPPED):WINBOOL;
 
-  function ReadFile(hFile:HANDLE; lpBuffer:LPVOID; nNumberOfBytesToRead:DWORD; lpNumberOfBytesRead:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL;
+  function ReadFile(hFile:HANDLE; var lpBuffer; nNumberOfBytesToRead:DWORD; var lpNumberOfBytesRead:DWORD; lpOverlapped:LPOVERLAPPED):WINBOOL;
 
   function FlushFileBuffers(hFile:HANDLE):WINBOOL;
 
@@ -1254,15 +1254,15 @@ ExitProcess(
 
   function GetCommConfig(hCommDev:HANDLE; lpCC:LPCOMMCONFIG; lpdwSize:LPDWORD):WINBOOL;
 
-  function GetCommMask(hFile:HANDLE; lpEvtMask:LPDWORD):WINBOOL;
+  function GetCommMask(hFile:HANDLE; var lpEvtMask: DWORD):WINBOOL;
 
-  function GetCommProperties(hFile:HANDLE; lpCommProp:LPCOMMPROP):WINBOOL;
+  function GetCommProperties(hFile:HANDLE; var lpCommProp:TCOMMPROP):WINBOOL;
 
-  function GetCommModemStatus(hFile:HANDLE; lpModemStat:LPDWORD):WINBOOL;
+  function GetCommModemStatus(hFile:HANDLE; var lpModemStat:DWORD):WINBOOL;
 
-  function GetCommState(hFile:HANDLE; lpDCB:LPDCB):WINBOOL;
+  function GetCommState(hFile:HANDLE; var lpDCB:TDCB):WINBOOL;
 
-  function GetCommTimeouts(hFile:HANDLE; lpCommTimeouts:LPCOMMTIMEOUTS):WINBOOL;
+  function GetCommTimeouts(hFile:HANDLE; var lpCommTimeouts:TCOMMTIMEOUTS):WINBOOL;
 
   function PurgeComm(hFile:HANDLE; dwFlags:DWORD):WINBOOL;
 
@@ -1272,13 +1272,13 @@ ExitProcess(
 
   function SetCommMask(hFile:HANDLE; dwEvtMask:DWORD):WINBOOL;
 
-  function SetCommState(hFile:HANDLE; lpDCB:LPDCB):WINBOOL;
+  function SetCommState(hFile:HANDLE; var lpDCB: TDCB):WINBOOL;
 
-  function SetCommTimeouts(hFile:HANDLE; lpCommTimeouts:LPCOMMTIMEOUTS):WINBOOL;
+  function SetCommTimeouts(hFile:HANDLE; var lpCommTimeouts:TCOMMTIMEOUTS):WINBOOL;
 
   function TransmitCommChar(hFile:HANDLE; cChar:char):WINBOOL;
 
-  function WaitCommEvent(hFile:HANDLE; lpEvtMask:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL;
+  function WaitCommEvent(hFile:HANDLE; var lpEvtMask:DWORD; lpOverlapped:LPOVERLAPPED):WINBOOL;
 
   function SetTapePosition(hDevice:HANDLE; dwPositionMethod:DWORD; dwPartition:DWORD; dwOffsetLow:DWORD; dwOffsetHigh:DWORD;
              bImmediate:WINBOOL):DWORD;
@@ -3454,7 +3454,7 @@ in define line 6852 *)
 
     function GetConsoleMode(hConsoleHandle:HANDLE; lpMode:LPDWORD):WINBOOL;
 
-    function GetNumberOfConsoleInputEvents(hConsoleInput:HANDLE; lpNumberOfEvents:LPDWORD):WINBOOL;
+    function GetNumberOfConsoleInputEvents(hConsoleInput:HANDLE; var lpNumberOfEvents:DWORD):WINBOOL;
 
     function GetConsoleScreenBufferInfo(hConsoleOutput:HANDLE; lpConsoleScreenBufferInfo:PCONSOLE_SCREEN_BUFFER_INFO):WINBOOL;
     function GetConsoleScreenBufferInfo(hConsoleOutput:HANDLE; var lpConsoleScreenBufferInfo:CONSOLE_SCREEN_BUFFER_INFO):WINBOOL;
@@ -3885,7 +3885,7 @@ in define line 6852 *)
   function UnhandledExceptionFilter(var ExceptionInfo:emptyrecord):LONG; external 'kernel32' name 'UnhandledExceptionFilter';
 
   function CreateThread(lpThreadAttributes:LPSECURITY_ATTRIBUTES; dwStackSize:DWORD; lpStartAddress:LPTHREAD_START_ROUTINE; lpParameter:LPVOID; dwCreationFlags:DWORD;
-             lpThreadId:LPDWORD):HANDLE; external 'kernel32' name 'CreateThread';
+             var lpThreadId:DWORD):HANDLE; external 'kernel32' name 'CreateThread';
 
   function CreateRemoteThread(hProcess:HANDLE; lpThreadAttributes:LPSECURITY_ATTRIBUTES; dwStackSize:DWORD; lpStartAddress:LPTHREAD_START_ROUTINE; lpParameter:LPVOID;
              dwCreationFlags:DWORD; lpThreadId:LPDWORD):HANDLE; external 'kernel32' name 'CreateRemoteThread';
@@ -3914,7 +3914,7 @@ in define line 6852 *)
 
   procedure SetLastError(dwErrCode:DWORD); external 'kernel32' name 'SetLastError';
 
-  function GetOverlappedResult(hFile:HANDLE; lpOverlapped:LPOVERLAPPED; lpNumberOfBytesTransferred:LPDWORD; bWait:WINBOOL):WINBOOL; external 'kernel32' name 'GetOverlappedResult';
+  function GetOverlappedResult(hFile:HANDLE; const lpOverlapped:TOVERLAPPED; var lpNumberOfBytesTransferred:DWORD; bWait:WINBOOL):WINBOOL; external 'kernel32' name 'GetOverlappedResult';
 
   function CreateIoCompletionPort(FileHandle:HANDLE; ExistingCompletionPort:HANDLE; CompletionKey:DWORD; NumberOfConcurrentThreads:DWORD):HANDLE; external 'kernel32' name 'CreateIoCompletionPort';
 
@@ -3999,9 +3999,9 @@ in define line 6852 *)
 
   function SetStdHandle(nStdHandle:DWORD; hHandle:HANDLE):WINBOOL; external 'kernel32' name 'SetStdHandle';
 
-  function WriteFile(hFile:HANDLE; lpBuffer:LPCVOID; nNumberOfBytesToWrite:DWORD; lpNumberOfBytesWritten:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external 'kernel32' name 'WriteFile';
+  function WriteFile(hFile:HANDLE; var lpBuffer; nNumberOfBytesToWrite:DWORD; var lpNumberOfBytesWritten:DWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external 'kernel32' name 'WriteFile';
 
-  function ReadFile(hFile:HANDLE; lpBuffer:LPVOID; nNumberOfBytesToRead:DWORD; lpNumberOfBytesRead:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external 'kernel32' name 'ReadFile';
+  function ReadFile(hFile:HANDLE; var lpBuffer; nNumberOfBytesToRead:DWORD; var lpNumberOfBytesRead:DWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external 'kernel32' name 'ReadFile';
 
   function FlushFileBuffers(hFile:HANDLE):WINBOOL; external 'kernel32' name 'FlushFileBuffers';
 
@@ -4041,15 +4041,15 @@ in define line 6852 *)
 
   function GetCommConfig(hCommDev:HANDLE; lpCC:LPCOMMCONFIG; lpdwSize:LPDWORD):WINBOOL; external 'kernel32' name 'GetCommConfig';
 
-  function GetCommMask(hFile:HANDLE; lpEvtMask:LPDWORD):WINBOOL; external 'kernel32' name 'GetCommMask';
+  function GetCommMask(hFile:HANDLE; var lpEvtMask:DWORD):WINBOOL; external 'kernel32' name 'GetCommMask';
 
-  function GetCommProperties(hFile:HANDLE; lpCommProp:LPCOMMPROP):WINBOOL; external 'kernel32' name 'GetCommProperties';
+  function GetCommProperties(hFile:HANDLE; var lpCommProp:TCOMMPROP):WINBOOL; external 'kernel32' name 'GetCommProperties';
 
-  function GetCommModemStatus(hFile:HANDLE; lpModemStat:LPDWORD):WINBOOL; external 'kernel32' name 'GetCommModemStatus';
+  function GetCommModemStatus(hFile:HANDLE; var lpModemStat:DWORD):WINBOOL; external 'kernel32' name 'GetCommModemStatus';
 
-  function GetCommState(hFile:HANDLE; lpDCB:LPDCB):WINBOOL; external 'kernel32' name 'GetCommState';
+  function GetCommState(hFile:HANDLE; var lpDCB:TDCB):WINBOOL; external 'kernel32' name 'GetCommState';
 
-  function GetCommTimeouts(hFile:HANDLE; lpCommTimeouts:LPCOMMTIMEOUTS):WINBOOL; external 'kernel32' name 'GetCommTimeouts';
+  function GetCommTimeouts(hFile:HANDLE; var lpCommTimeouts:TCOMMTIMEOUTS):WINBOOL; external 'kernel32' name 'GetCommTimeouts';
 
   function PurgeComm(hFile:HANDLE; dwFlags:DWORD):WINBOOL; external 'kernel32' name 'PurgeComm';
 
@@ -4059,13 +4059,13 @@ in define line 6852 *)
 
   function SetCommMask(hFile:HANDLE; dwEvtMask:DWORD):WINBOOL; external 'kernel32' name 'SetCommMask';
 
-  function SetCommState(hFile:HANDLE; lpDCB:LPDCB):WINBOOL; external 'kernel32' name 'SetCommState';
+  function SetCommState(hFile:HANDLE; var lpDCB:TDCB):WINBOOL; external 'kernel32' name 'SetCommState';
 
-  function SetCommTimeouts(hFile:HANDLE; lpCommTimeouts:LPCOMMTIMEOUTS):WINBOOL; external 'kernel32' name 'SetCommTimeouts';
+  function SetCommTimeouts(hFile:HANDLE; var lpCommTimeouts:TCOMMTIMEOUTS):WINBOOL; external 'kernel32' name 'SetCommTimeouts';
 
   function TransmitCommChar(hFile:HANDLE; cChar:char):WINBOOL; external 'kernel32' name 'TransmitCommChar';
 
-  function WaitCommEvent(hFile:HANDLE; lpEvtMask:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external 'kernel32' name 'WaitCommEvent';
+  function WaitCommEvent(hFile:HANDLE; var lpEvtMask:DWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external 'kernel32' name 'WaitCommEvent';
 
   function SetTapePosition(hDevice:HANDLE; dwPositionMethod:DWORD; dwPartition:DWORD; dwOffsetLow:DWORD; dwOffsetHigh:DWORD;
              bImmediate:WINBOOL):DWORD; external 'kernel32' name 'SetTapePosition';
@@ -6591,7 +6591,7 @@ in define line 6826 *)
 
     function GetConsoleMode(hConsoleHandle:HANDLE; lpMode:LPDWORD):WINBOOL; external 'kernel32' name 'GetConsoleMode';
 
-    function GetNumberOfConsoleInputEvents(hConsoleInput:HANDLE; lpNumberOfEvents:LPDWORD):WINBOOL; external 'kernel32' name 'GetNumberOfConsoleInputEvents';
+    function GetNumberOfConsoleInputEvents(hConsoleInput:HANDLE; var lpNumberOfEvents:DWORD):WINBOOL; external 'kernel32' name 'GetNumberOfConsoleInputEvents';
 
     function GetConsoleScreenBufferInfo(hConsoleOutput:HANDLE; lpConsoleScreenBufferInfo:PCONSOLE_SCREEN_BUFFER_INFO):WINBOOL; external 'kernel32' name 'GetConsoleScreenBufferInfo';
     function GetConsoleScreenBufferInfo(hConsoleOutput:HANDLE; var lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO):WINBOOL; external 'kernel32' name 'GetConsoleScreenBufferInfo';
@@ -6779,7 +6779,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.9  1999-03-30 17:00:23  peter
+  Revision 1.10  1999-04-20 11:36:14  peter
+    * compatibility fixes
+
+  Revision 1.9  1999/03/30 17:00:23  peter
     * fixes for 0.99.10
 
   Revision 1.8  1999/01/09 07:29:48  florian

+ 12 - 2
rtl/win32/redef.inc

@@ -4,7 +4,7 @@
     Copyright (c) 1998 by the Free Pascal development team
 
     This file defines type names as they are used by Delphi
-    
+
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
 
@@ -21,11 +21,18 @@ type
    TIID = TGUID;
    THANDLE = HANDLE;
 
+   PSmallRect = ^TSmallRect;
+   TSmallRect = SMALL_RECT;
+
+   PCharInfo = ^TCharInfo;
+   TCharInfo = _CHAR_INFO;
+
   procedure InitializeCriticalSection(var CriticalSection : TRTLCriticalSection);
   procedure EnterCriticalSection(var CriticalSection : TRTLCriticalSection);
   procedure LeaveCriticalSection(var CriticalSection : TRTLCriticalSection);
   procedure DeleteCriticalSection(var CriticalSection : TRTLCriticalSection);
 
+
   const
      { HRESULT codes, delphilike }
      S_OK    = $00000000;
@@ -93,7 +100,10 @@ type
 
 {
   $Log$
-  Revision 1.2  1999-03-22 22:12:51  florian
+  Revision 1.3  1999-04-20 11:36:16  peter
+    * compatibility fixes
+
+  Revision 1.2  1999/03/22 22:12:51  florian
     + addition and changes to compile the direct draw unit
       of Erik Ungerer (with -dv2com and indirect disabled)
 

+ 7 - 7
rtl/win32/struct.pp

@@ -575,14 +575,13 @@ unit struct;
      TCBTACTIVATESTRUCT = CBTACTIVATESTRUCT;
      PCBTACTIVATESTRUCT = ^CBTACTIVATESTRUCT;
 
+
      CHAR_INFO = record
-          Char : record
               case longint of
-                 0 : ( UnicodeChar : WCHAR );
+                 0 : ( UnicodeChar : WCHAR;
+                       Attributes  : Word);
                  1 : ( AsciiChar : CHAR );
               end;
-          Attributes : WORD;
-       end;
      _CHAR_INFO = CHAR_INFO;
      TCHAR_INFO = CHAR_INFO;
      PCHAR_INFO = ^CHAR_INFO;
@@ -3493,14 +3492,12 @@ unit struct;
 
      INPUT_RECORD = record
           EventType : WORD;
-          Event : record
               case longint of
                  0 : ( KeyEvent : KEY_EVENT_RECORD );
                  1 : ( MouseEvent : MOUSE_EVENT_RECORD );
                  2 : ( WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD );
                  3 : ( MenuEvent : MENU_EVENT_RECORD );
                  4 : ( FocusEvent : FOCUS_EVENT_RECORD );
-              end;
        end;
      PINPUT_RECORD = ^INPUT_RECORD;
      _INPUT_RECORD = INPUT_RECORD;
@@ -6934,7 +6931,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.7  1999-03-22 22:12:52  florian
+  Revision 1.8  1999-04-20 11:36:17  peter
+    * compatibility fixes
+
+  Revision 1.7  1999/03/22 22:12:52  florian
     + addition and changes to compile the direct draw unit
       of Erik Ungerer (with -dv2com and indirect disabled)
 

+ 12 - 9
rtl/win32/unidef.pp

@@ -847,12 +847,12 @@ unit unidef;
 
   function EnumSystemCodePages(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL;
 
-  function PeekConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function PeekConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
-  function ReadConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function ReadConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
 (* Const before type ignored *)
-  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL;
+  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL;
 
   function ReadConsoleOutput(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL;
 
@@ -868,7 +868,7 @@ unit unidef;
 (* Const before type ignored *)
 (* Const before type ignored *)
 (* Const before type ignored *)
-  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; var lpClipRectangle:SMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL;
+  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; lpClipRectangle:PSMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL;
 
   function GetConsoleTitle(lpConsoleTitle:LPWSTR; nSize:DWORD):DWORD;
 
@@ -1774,11 +1774,11 @@ unit unidef;
 
   function EnumSystemCodePages(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL; external 'kernel32' name 'EnumSystemCodePagesW';
 
-  function PeekConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputW';
+  function PeekConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputW';
 
-  function ReadConsoleInput(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputW';
+  function ReadConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputW';
 
-  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputW';
+  function WriteConsoleInput(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputW';
 
   function ReadConsoleOutput(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL; external 'kernel32' name 'ReadConsoleOutputW';
 
@@ -1790,7 +1790,7 @@ unit unidef;
 
   function FillConsoleOutputCharacter(hConsoleOutput:HANDLE; cCharacter:WCHAR; nLength:DWORD; dwWriteCoord:COORD; lpNumberOfCharsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'FillConsoleOutputCharacterW';
 
-  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; var lpClipRectangle:SMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL; external 'kernel32' name 'ScrollConsoleScreenBufferW';
+  function ScrollConsoleScreenBuffer(hConsoleOutput:HANDLE; var lpScrollRectangle:SMALL_RECT; lpClipRectangle:PSMALL_RECT; dwDestinationOrigin:COORD; var lpFill:CHAR_INFO):WINBOOL; external 'kernel32' name 'ScrollConsoleScreenBufferW';
 
   function GetConsoleTitle(lpConsoleTitle:LPWSTR; nSize:DWORD):DWORD; external 'kernel32' name 'GetConsoleTitleW';
 
@@ -1908,7 +1908,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.7  1999-01-29 09:24:46  pierre
+  Revision 1.8  1999-04-20 11:36:19  peter
+    * compatibility fixes
+
+  Revision 1.7  1999/01/29 09:24:46  pierre
   win32.inc
 
   Revision 1.6  1999/01/07 15:52:27  peter

+ 10 - 7
rtl/win32/unifun.pp

@@ -847,12 +847,12 @@ unit unifun;
 
   function EnumSystemCodePagesW(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL;
 
-  function PeekConsoleInputW(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function PeekConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
-  function ReadConsoleInputW(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL;
+  function ReadConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL;
 
 (* Const before type ignored *)
-  function WriteConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL;
+  function WriteConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL;
 
   function ReadConsoleOutputW(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL;
 
@@ -1774,11 +1774,11 @@ unit unifun;
 
   function EnumSystemCodePagesW(lpCodePageEnumProc:CODEPAGE_ENUMPROC; dwFlags:DWORD):WINBOOL; external 'kernel32' name 'EnumSystemCodePagesW';
 
-  function PeekConsoleInputW(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputW';
+  function PeekConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'PeekConsoleInputW';
 
-  function ReadConsoleInputW(hConsoleInput:HANDLE; lpBuffer:PINPUT_RECORD; nLength:DWORD; lpNumberOfEventsRead:LPDWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputW';
+  function ReadConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsRead:DWORD):WINBOOL; external 'kernel32' name 'ReadConsoleInputW';
 
-  function WriteConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:INPUT_RECORD; nLength:DWORD; lpNumberOfEventsWritten:LPDWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputW';
+  function WriteConsoleInputW(hConsoleInput:HANDLE; var lpBuffer:TINPUTRECORD; nLength:DWORD; var lpNumberOfEventsWritten:DWORD):WINBOOL; external 'kernel32' name 'WriteConsoleInputW';
 
   function ReadConsoleOutputW(hConsoleOutput:HANDLE; lpBuffer:PCHAR_INFO; dwBufferSize:COORD; dwBufferCoord:COORD; lpReadRegion:PSMALL_RECT):WINBOOL; external 'kernel32' name 'ReadConsoleOutputW';
 
@@ -1908,7 +1908,10 @@ end.
 {$endif not windows_include_files}
 {
   $Log$
-  Revision 1.6  1999-01-07 15:52:27  peter
+  Revision 1.7  1999-04-20 11:36:21  peter
+    * compatibility fixes
+
+  Revision 1.6  1999/01/07 15:52:27  peter
     * removed winspool requirement
 
   Revision 1.5  1998/10/27 11:17:20  peter