Browse Source

* Added some API imports and constants by Vasil.

git-svn-id: trunk@10961 -
yury 17 years ago
parent
commit
5d1582b940
2 changed files with 188 additions and 23 deletions
  1. 11 22
      rtl/wince/wininc/coredll.inc
  2. 177 1
      rtl/wince/wininc/defines.inc

+ 11 - 22
rtl/wince/wininc/coredll.inc

@@ -375,9 +375,6 @@
       694 MD5Init
       694 MD5Init
       695 MD5Update
       695 MD5Update
        17 MainThreadBaseFunc
        17 MainThreadBaseFunc
-      662 MonitorFromPoint
-      663 MonitorFromRect
-      664 MonitorFromWindow
       33C NKDbgPrintfW
       33C NKDbgPrintfW
       3A7 NKTerminateThread
       3A7 NKTerminateThread
       36F NKvDbgPrintfW
       36F NKvDbgPrintfW
@@ -410,7 +407,6 @@
       1CE PegWriteRecordProps
       1CE PegWriteRecordProps
       2F1 PerformCallBack4
       2F1 PerformCallBack4
       267 PlaySoundW
       267 PlaySoundW
-      48D PostKeybdMessage
       3A3 PowerOffSystem
       3A3 PowerOffSystem
       37C PrintTrackedItem
       37C PrintTrackedItem
       373 ProcessDetachAllDLLs
       373 ProcessDetachAllDLLs
@@ -422,7 +418,6 @@
       484 QASetWindowsJournalHook
       484 QASetWindowsJournalHook
       485 QAUnhookWindowsJournalHook
       485 QAUnhookWindowsJournalHook
       2F2 QueryAPISetID
       2F2 QueryAPISetID
-      338 QueryInstructionSet
        91 Random
        91 Random
       1FC RasDeleteEntry
       1FC RasDeleteEntry
       207 RasDevConfigDialogEditW
       207 RasDevConfigDialogEditW
@@ -451,13 +446,11 @@
       1FB RasValidateEntryName
       1FB RasValidateEntryName
       181 ReadFileWithSeek
       181 ReadFileWithSeek
       3C0 ReadRegistryFromOEM
       3C0 ReadRegistryFromOEM
-      52F RealizePalette
       1BE RectangleAnimation
       1BE RectangleAnimation
       383 RefreshKernelAlarm
       383 RefreshKernelAlarm
       2CA RegCopyFile
       2CA RegCopyFile
       159 RegOpenProcessKey
       159 RegOpenProcessKey
       2CB RegRestoreFile
       2CB RegRestoreFile
-      2C8 RegSetValueExW
       178 RegisterAFSEx
       178 RegisterAFSEx
       17A RegisterAFSName
       17A RegisterAFSName
       3B8 RegisterAPISet
       3B8 RegisterAPISet
@@ -486,10 +479,8 @@
       482 SendInput
       482 SendInput
       11B SetACP
       11B SetACP
       1C0 SetAssociatedMenu
       1C0 SetAssociatedMenu
-      522 SetBrushOrgEx
       3A1 SetCleanRebootFlag
       3A1 SetCleanRebootFlag
       2CE SetCurrentUser
       2CE SetCurrentUser
-      33E SetDaylightTime
       3A4 SetDbgZone
       3A4 SetDbgZone
       2FB SetEventData
       2FB SetEventData
       37F SetExceptionHandler
       37F SetExceptionHandler
@@ -513,21 +504,10 @@
       17D SetSystemMemoryDivision
       17D SetSystemMemoryDivision
       3A0 SetTimeZoneBias
       3A0 SetTimeZoneBias
       2CF SetUserData
       2CF SetUserData
-      137 SetUserDefaultLCID
-      14C SetUserDefaultUILanguage
       3B5 SetWDevicePowerHandler
       3B5 SetWDevicePowerHandler
       406 ShellModalEnd
       406 ShellModalEnd
       1C4 ShowStartupWindow
       1C4 ShowStartupWindow
       176 SignalStarted
       176 SignalStarted
-      65E SipEnumIM
-      65F SipGetCurrentIM
-      65C SipGetInfo
-      65A SipRegisterNotification
-      660 SipSetCurrentIM
-      661 SipSetDefaultRect
-      65D SipSetInfo
-      65B SipShowIM
-      659 SipStatus
       361 SleepTillTick
       361 SleepTillTick
       156 StopDeviceNotifications
       156 StopDeviceNotifications
       648 StringCbCatA
       648 StringCbCatA
@@ -2730,6 +2710,9 @@ function memset(dest:LPWSTR; c:WideChar; count:SIZE_T):LPWSTR; external KernelDl
 function MessageBeep(uType:UINT):WINBOOL; external KernelDLL name 'MessageBeep';
 function MessageBeep(uType:UINT):WINBOOL; external KernelDLL name 'MessageBeep';
 function MessageBox(hWnd:HWND; lpText:LPCWSTR; lpCaption:LPCWSTR; uType:UINT):longint; external KernelDLL name 'MessageBoxW'; //~winuser, result declared as int
 function MessageBox(hWnd:HWND; lpText:LPCWSTR; lpCaption:LPCWSTR; uType:UINT):longint; external KernelDLL name 'MessageBoxW'; //~winuser, result declared as int
 function MessageBoxW(hWnd:HWND; lpText:LPCWSTR; lpCaption:LPCWSTR; uType:UINT):longint; external KernelDLL name 'MessageBoxW'; //~winuser, result declared as int
 function MessageBoxW(hWnd:HWND; lpText:LPCWSTR; lpCaption:LPCWSTR; uType:UINT):longint; external KernelDLL name 'MessageBoxW'; //~winuser, result declared as int
+function MonitorFromPoint(pt:POINT; dwFlags:DWORD):HMONITOR; external KernelDLL name 'MonitorFromPoint'; // index 662
+function MonitorFromRect(lprc:LPRECT; dwFlags:DWORD):HMONITOR; external KernelDLL name 'MonitorFromRect'; // index 663
+function MonitorFromWindow(hWin:HWND; dwFlags:DWORD):HMONITOR; external KernelDLL name 'MonitorFromWindow'; // index 664
 procedure mouse_event(dwFlags:DWORD; dx:DWORD; dy:DWORD; cButtons:DWORD; dwExtraInfo:DWORD); external KernelDLL name 'mouse_event';
 procedure mouse_event(dwFlags:DWORD; dx:DWORD; dy:DWORD; cButtons:DWORD; dwExtraInfo:DWORD); external KernelDLL name 'mouse_event';
 function MoveToEx(_para1:HDC; _para2:longint; _para3:longint; _para4:LPPOINT):WINBOOL; external KernelDLL name 'MoveToEx';
 function MoveToEx(_para1:HDC; _para2:longint; _para3:longint; _para4:LPPOINT):WINBOOL; external KernelDLL name 'MoveToEx';
 procedure MoveMemory(Destination:PVOID; Source:pointer; Length:DWORD);
 procedure MoveMemory(Destination:PVOID; Source:pointer; Length:DWORD);
@@ -2750,6 +2733,8 @@ procedure OutputDebugStringW(lpOutputString:LPCWSTR); external KernelDLL name 'O
 function PatBlt(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:DWORD):WINBOOL; external KernelDLL name 'PatBlt';
 function PatBlt(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:DWORD):WINBOOL; external KernelDLL name 'PatBlt';
 function PeekMessage(lpMsg:LPMSG; hWnd:HWND; wMsgFilterMin:UINT; wMsgFilterMax:UINT; wRemoveMsg:UINT):WINBOOL; external KernelDLL name 'PeekMessageW';
 function PeekMessage(lpMsg:LPMSG; hWnd:HWND; wMsgFilterMin:UINT; wMsgFilterMax:UINT; wRemoveMsg:UINT):WINBOOL; external KernelDLL name 'PeekMessageW';
 function PeekMessageW(lpMsg:LPMSG; hWnd:HWND; wMsgFilterMin:UINT; wMsgFilterMax:UINT; wRemoveMsg:UINT):WINBOOL; external KernelDLL name 'PeekMessageW';
 function PeekMessageW(lpMsg:LPMSG; hWnd:HWND; wMsgFilterMin:UINT; wMsgFilterMax:UINT; wRemoveMsg:UINT):WINBOOL; external KernelDLL name 'PeekMessageW';
+function PostKeybdMessage(hWin:HWND; VKey:UINT; KeyStateFlags:UINT{KEY_STATE_FLAGS};
+                          cCharacters:UINT; pShiftStateBuffer:PUINT; pCharacterBuffer:PUINT):BOOL; external KernelDLL name 'PostKeybdMessage'; // index 48D
 function PostMessage(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external KernelDLL name 'PostMessageW';
 function PostMessage(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external KernelDLL name 'PostMessageW';
 function PostMessageW(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external KernelDLL name 'PostMessageW';
 function PostMessageW(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external KernelDLL name 'PostMessageW';
 procedure PostQuitMessage(nExitCode:longint); external KernelDLL name 'PostQuitMessage';
 procedure PostQuitMessage(nExitCode:longint); external KernelDLL name 'PostQuitMessage';
@@ -2780,12 +2765,13 @@ function PtInRect(lprc:LPRECT; pt:POINT):WINBOOL; external KernelDLL name 'PtInR
 function PtInRegion(_para1:HRGN; _para2:longint; _para3:longint):WINBOOL; external KernelDLL name 'PtInRegion';
 function PtInRegion(_para1:HRGN; _para2:longint; _para3:longint):WINBOOL; external KernelDLL name 'PtInRegion';
 function PulseEvent(hEvent:HANDLE):WINBOOL;
 function PulseEvent(hEvent:HANDLE):WINBOOL;
 function PurgeComm(hFile:HANDLE; dwFlags:DWORD):WINBOOL; external KernelDLL name 'PurgeComm';
 function PurgeComm(hFile:HANDLE; dwFlags:DWORD):WINBOOL; external KernelDLL name 'PurgeComm';
+function QueryInstructionSet(dwInstructionSet:DWORD; lpdwCurrentInstructionSet:LPDWORD):BOOL; external KernelDLL name 'QueryInstructionSet'; // index 338
 function QueryPerformanceCounter(lpPerformanceCount:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceCounter';
 function QueryPerformanceCounter(lpPerformanceCount:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceCounter';
 function QueryPerformanceFrequency(lpFrequency:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceFrequency';
 function QueryPerformanceFrequency(lpFrequency:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceFrequency';
 procedure RaiseException(dwExceptionCode:DWORD; dwExceptionFlags:DWORD; nNumberOfArguments:DWORD; lpArguments:LPDWORD); external KernelDLL name 'RaiseException';
 procedure RaiseException(dwExceptionCode:DWORD; dwExceptionFlags:DWORD; nNumberOfArguments:DWORD; lpArguments:LPDWORD); external KernelDLL name 'RaiseException';
-function ReadFile(hFile:HANDLE; lpBuffer:LPVOID; nNumberOfBytesToRead:DWORD; lpNumberOfBytesRead:LPDWORD; lpOverlapped:LPOVERLAPPED):BOOL;  external KernelDLL name 'ReadFile'; // index F4
+function ReadFile(hFile:HANDLE; lpBuffer:LPVOID; nNumberOfBytesToRead:DWORD; lpNumberOfBytesRead:LPDWORD; lpOverlapped:LPOVERLAPPED):BOOL; external KernelDLL name 'ReadFile'; // index F4
 function ReadProcessMemory(hProcess:HANDLE; lpBaseAddress:LPCVOID; lpBuffer:LPVOID; nSize:DWORD; lpNumberOfBytesRead:LPDWORD):WINBOOL; external KernelDLL name 'ReadProcessMemory';
 function ReadProcessMemory(hProcess:HANDLE; lpBaseAddress:LPCVOID; lpBuffer:LPVOID; nSize:DWORD; lpNumberOfBytesRead:LPDWORD):WINBOOL; external KernelDLL name 'ReadProcessMemory';
-function RealizePalette(_para1:HDC):UINT; external KernelDLL name 'RealizePalette';
+function RealizePalette(_para1:HDC):UINT; external KernelDLL name 'RealizePalette'; // index 52F
 function RectInRegion(_para1:HRGN; const _para2:RECT):WINBOOL; external KernelDLL name 'RectInRegion';
 function RectInRegion(_para1:HRGN; const _para2:RECT):WINBOOL; external KernelDLL name 'RectInRegion';
 function RectVisible(_para1:HDC; const _para2:RECT):WINBOOL; external KernelDLL name 'RectVisible';
 function RectVisible(_para1:HDC; const _para2:RECT):WINBOOL; external KernelDLL name 'RectVisible';
 function Rectangle(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint):WINBOOL; external KernelDLL name 'Rectangle';
 function Rectangle(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint):WINBOOL; external KernelDLL name 'Rectangle';
@@ -2874,6 +2860,7 @@ function SetCommState(hFile:HANDLE; lpDCB:LPDCB):WINBOOL; external KernelDLL nam
 function SetCommTimeouts(hFile:HANDLE; lpCommTimeouts:LPCOMMTIMEOUTS):WINBOOL; external KernelDLL name 'SetCommTimeouts';
 function SetCommTimeouts(hFile:HANDLE; lpCommTimeouts:LPCOMMTIMEOUTS):WINBOOL; external KernelDLL name 'SetCommTimeouts';
 function SetCursor(hCursor:HCURSOR):HCURSOR; external KernelDLL name 'SetCursor';
 function SetCursor(hCursor:HCURSOR):HCURSOR; external KernelDLL name 'SetCursor';
 function SetCursorPos(X:longint; Y:longint):WINBOOL; external KernelDLL name 'SetCursorPos';
 function SetCursorPos(X:longint; Y:longint):WINBOOL; external KernelDLL name 'SetCursorPos';
+procedure SetDaylightTime(dst:DWORD); external KernelDLL name 'SetDaylightTime'; // index 33E
 function SetDIBColorTable(_para1:HDC; _para2:UINT; _para3:UINT; var _para4:RGBQUAD):UINT; external KernelDLL name 'SetDIBColorTable';
 function SetDIBColorTable(_para1:HDC; _para2:UINT; _para3:UINT; var _para4:RGBQUAD):UINT; external KernelDLL name 'SetDIBColorTable';
 function SetDIBitsToDevice(_para1:HDC; _para2:longint; _para3:longint; _para4:DWORD; _para5:DWORD;_para6:longint; _para7:longint; _para8:UINT; _para9:UINT; _para10:pointer;var _para11:BITMAPINFO; _para12:UINT):longint;
 function SetDIBitsToDevice(_para1:HDC; _para2:longint; _para3:longint; _para4:DWORD; _para5:DWORD;_para6:longint; _para7:longint; _para8:UINT; _para9:UINT; _para10:pointer;var _para11:BITMAPINFO; _para12:UINT):longint;
   external KernelDLL name 'SetDIBitsToDevice';
   external KernelDLL name 'SetDIBitsToDevice';
@@ -2916,6 +2903,8 @@ function SetTimer(hWnd:HWND; nIDEvent:UINT; uElapse:UINT; lpTimerFunc:TIMERPROC)
 function SetThreadPriority(hThread:HANDLE; nPriority:longint):WINBOOL; external KernelDLL name 'SetThreadPriority';
 function SetThreadPriority(hThread:HANDLE; nPriority:longint):WINBOOL; external KernelDLL name 'SetThreadPriority';
 function SetTimeZoneInformation(lpTimeZoneInformation:LPTIME_ZONE_INFORMATION):WINBOOL; external KernelDLL name 'SetTimeZoneInformation';
 function SetTimeZoneInformation(lpTimeZoneInformation:LPTIME_ZONE_INFORMATION):WINBOOL; external KernelDLL name 'SetTimeZoneInformation';
 function SetupComm(hFile:HANDLE; dwInQueue:DWORD; dwOutQueue:DWORD):WINBOOL; external KernelDLL name 'SetupComm';
 function SetupComm(hFile:HANDLE; dwInQueue:DWORD; dwOutQueue:DWORD):WINBOOL; external KernelDLL name 'SetupComm';
+function SetUserDefaultLCID(_locale:LCID):BOOL; external KernelDLL name 'SetUserDefaultLCID'; // index 137
+function SetUserDefaultUILanguage(_langid:LANGID):BOOL; external KernelDLL name 'SetUserDefaultUILanguage'; // index 14C
 function SetViewportOrgEx(_para1:HDC; _para2:longint; _para3:longint; _para4:LPPOINT):WINBOOL; external KernelDLL name 'SetViewportOrgEx';
 function SetViewportOrgEx(_para1:HDC; _para2:longint; _para3:longint; _para4:LPPOINT):WINBOOL; external KernelDLL name 'SetViewportOrgEx';
 function SetWindowPos(hWnd:HWND; hWndInsertAfter:HWND; X:longint; Y:longint; cx:longint;cy:longint; uFlags:UINT):WINBOOL; external KernelDLL name 'SetWindowPos';
 function SetWindowPos(hWnd:HWND; hWndInsertAfter:HWND; X:longint; Y:longint; cx:longint;cy:longint; uFlags:UINT):WINBOOL; external KernelDLL name 'SetWindowPos';
 function SetWindowRgn(hWnd:HWND; hRgn:HRGN; bRedraw:WINBOOL):longint; external KernelDLL name 'SetWindowRgn';
 function SetWindowRgn(hWnd:HWND; hRgn:HRGN; bRedraw:WINBOOL):longint; external KernelDLL name 'SetWindowRgn';

+ 177 - 1
rtl/wince/wininc/defines.inc

@@ -4088,8 +4088,182 @@
      PROCESSOR_INTEL_386 = 386;
      PROCESSOR_INTEL_386 = 386;
      PROCESSOR_INTEL_486 = 486;
      PROCESSOR_INTEL_486 = 486;
      PROCESSOR_INTEL_PENTIUM = 586;
      PROCESSOR_INTEL_PENTIUM = 586;
-     PROCESSOR_MIPS_R4000 = 4000;
+     PROCESSOR_MIPS_R4000 = 4000; // incl R4101 & R3910 for Windows CE
      PROCESSOR_ALPHA_21064 = 21064;
      PROCESSOR_ALPHA_21064 = 21064;
+
+     PROCESSOR_INTEL_PENTIUMII = 686;
+     PROCESSOR_MIPS_R5000      = 5000;  // incl R5432 for Windows CE
+     PROCESSOR_PPC_403         = 403;
+     PROCESSOR_PPC_601         = 601;
+     PROCESSOR_PPC_603         = 603;
+     PROCESSOR_PPC_604         = 604;
+     PROCESSOR_PPC_620         = 620;
+     PROCESSOR_HITACHI_SH3     = 10003;   // Windows CE
+     PROCESSOR_HITACHI_SH3E    = 10004;   // Windows CE
+     PROCESSOR_HITACHI_SH4     = 10005;   // Windows CE
+     PROCESSOR_MOTOROLA_821    = 821;     // Windows CE
+     PROCESSOR_SHx_SH3         = 103;     // Windows CE
+     PROCESSOR_SHx_SH3DSP      = 105;     // Windows CE
+     PROCESSOR_SHx_SH4         = 104;     // Windows CE
+     PROCESSOR_STRONGARM       = 2577;    // Windows CE - 0xA11
+     PROCESSOR_ARM720          = 1824;    // Windows CE - 0x720
+     PROCESSOR_ARM820          = 2080;    // Windows CE - 0x820
+     PROCESSOR_ARM920          = 2336;    // Windows CE - 0x920
+     PROCESSOR_ARM_7TDMI       = 70001;   // Windows CE
+
+     PROCESSOR_ARCHITECTURE_INTEL = 0;
+     PROCESSOR_ARCHITECTURE_MIPS  = 1;
+     PROCESSOR_ARCHITECTURE_ALPHA = 2;
+     PROCESSOR_ARCHITECTURE_PPC   = 3;
+     PROCESSOR_ARCHITECTURE_SHX   = 4;
+     PROCESSOR_ARCHITECTURE_ARM   = 5;
+     PROCESSOR_ARCHITECTURE_IA64  = 6;
+     PROCESSOR_ARCHITECTURE_ALPHA64 = 7;
+     PROCESSOR_ARCHITECTURE_UNKNOWN = $FFFF;
+
+     PROCESSOR_X86_32BIT_CORE                = 1;
+
+     PROCESSOR_MIPS16_CORE                   = 1;
+     PROCESSOR_MIPSII_CORE                   = 2;
+     PROCESSOR_MIPSIV_CORE                   = 3;
+
+     PROCESSOR_HITACHI_SH3_CORE              = 1;
+     PROCESSOR_HITACHI_SH4_CORE              = 2;
+
+     PROCESSOR_ARM_V4_CORE                   = 1;
+     PROCESSOR_ARM_V4I_CORE                  = 2;
+     PROCESSOR_ARM_V4T_CORE                  = 3;
+
+     PROCESSOR_FEATURE_NOFP                  = 0;
+     PROCESSOR_FEATURE_FP                    = 1;
+     PROCESSOR_FEATURE_DSP                   = PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_QUERY_INSTRUCTION             = $00000000;
+
+{
+#define PROCESSOR_INSTRUCTION_CODE(arch, core, feature)      \
+    ((arch) << 24 | (core) << 16 | (feature))
+}
+     
+     PROCESSOR_X86_32BIT_INSTRUCTION = (PROCESSOR_ARCHITECTURE_INTEL shl 24) or
+                                       (PROCESSOR_X86_32BIT_CORE shl 16) or
+                                       PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_MIPS_MIPS16_INSTRUCTION = (PROCESSOR_ARCHITECTURE_MIPS shl 24) or
+                                         (PROCESSOR_MIPS16_CORE shl 16) or
+                                         PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_MIPS_MIPSII_INSTRUCTION = (PROCESSOR_ARCHITECTURE_MIPS shl 24) or
+                                         (PROCESSOR_MIPSII_CORE shl 16) or
+                                         PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION = (PROCESSOR_ARCHITECTURE_MIPS shl 24) or
+                                           (PROCESSOR_MIPSII_CORE shl 16) or
+                                           PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_MIPS_MIPSIV_INSTRUCTION = (PROCESSOR_ARCHITECTURE_MIPS shl 24) or
+                                         (PROCESSOR_MIPSIV_CORE shl 16) or
+                                         PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION = (PROCESSOR_ARCHITECTURE_MIPS shl 24) or
+                                           (PROCESSOR_MIPSIV_CORE shl 16) or
+                                           PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_HITACHI_SH3_INSTRUCTION = (PROCESSOR_ARCHITECTURE_SHX shl 24) or
+                                         (PROCESSOR_HITACHI_SH3_CORE shl 16) or
+                                         PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_HITACHI_SH3DSP_INSTRUCTION = (PROCESSOR_ARCHITECTURE_SHX shl 24) or
+                                            (PROCESSOR_HITACHI_SH3_CORE shl 16) or
+                                            PROCESSOR_FEATURE_DSP;
+
+     PROCESSOR_HITACHI_SH4_INSTRUCTION = (PROCESSOR_ARCHITECTURE_SHX shl 24) or
+                                         (PROCESSOR_HITACHI_SH4_CORE shl 16) or
+                                         PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_ARM_V4_INSTRUCTION = (PROCESSOR_ARCHITECTURE_ARM shl 24) or
+                                    (PROCESSOR_ARM_V4_CORE shl 16) or
+                                    PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_ARM_V4FP_INSTRUCTION = (PROCESSOR_ARCHITECTURE_ARM shl 24) or
+                                      (PROCESSOR_ARM_V4_CORE shl 16) or
+                                      PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_ARM_V4I_INSTRUCTION = (PROCESSOR_ARCHITECTURE_ARM shl 24) or
+                                     (PROCESSOR_ARM_V4I_CORE shl 16) or
+                                     PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_ARM_V4IFP_INSTRUCTION = (PROCESSOR_ARCHITECTURE_ARM shl 24) or
+                                       (PROCESSOR_ARM_V4I_CORE shl 16) or
+                                       PROCESSOR_FEATURE_FP;
+
+     PROCESSOR_ARM_V4T_INSTRUCTION = (PROCESSOR_ARCHITECTURE_ARM shl 24) or
+                                     (PROCESSOR_ARM_V4T_CORE shl 16) or
+                                     PROCESSOR_FEATURE_NOFP;
+
+     PROCESSOR_ARM_V4TFP_INSTRUCTION = (PROCESSOR_ARCHITECTURE_ARM shl 24) or
+                                       (PROCESSOR_ARM_V4T_CORE shl 16) or
+                                       PROCESSOR_FEATURE_FP;
+
+     PF_FLOATING_POINT_PRECISION_ERRATA  = 0;
+     PF_FLOATING_POINT_EMULATED          = 1;
+     PF_COMPARE_EXCHANGE_DOUBLE          = 2;
+     PF_MMX_INSTRUCTIONS_AVAILABLE       = 3;
+     PF_PPC_MOVEMEM_64BIT_OK             = 4;
+     PF_ALPHA_BYTE_INSTRUCTIONS          = 5;
+     PF_XMMI_INSTRUCTIONS_AVAILABLE      = 6;
+     PF_3DNOW_INSTRUCTIONS_AVAILABLE     = 7;
+     PF_RDTSC_INSTRUCTION_AVAILABLE      = 8;
+     PF_PAE_ENABLED                      = 9;
+     PF_XMMI64_INSTRUCTIONS_AVAILABLE    = 10;
+
+{ Table from MSDN. Instruction set compatibility.
+OS instructions set                    Supported instruction sets
+--------------------------------------------------------------------------------
+PROCESSOR_X86_32BIT_INSTRUCTION        PROCESSOR_X86_32BIT_INSTRUCTION
+
+PROCESSOR_MIPS_MIPS16_INSTRUCTION      PROCESSOR_MIPS_MIPS16_INSTRUCTION
+                                       PROCESSOR_MIPS_MIPSII_INSTRUCTION
+
+PROCESSOR_MIPS_MIPSII_INSTRUCTION      PROCESSOR_MIPS_MIPSII_INSTRUCTION
+
+PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION    PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION
+
+PROCESSOR_MIPS_MIPSIV_INSTRUCTION      PROCESSOR_MIPS_MIPSIV_INSTRUCTION
+
+PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION    PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION
+
+PROCESSOR_HITACHI_SH3_INSTRUCTION      PROCESSOR_HITACHI_SH3_INSTRUCTION
+
+PROCESSOR_HITACHI_SH3DSP_INSTRUCTION   PROCESSOR_HITACHI_SH3DSP_INSTRUCTION
+                                       PROCESSOR_HITACHI_SH3_INSTRUCTION
+
+PROCESSOR_HITACHI_SH4_INSTRUCTION      PROCESSOR_HITACHI_SH4_INSTRUCTION
+
+PROCESSOR_ARM_V4_INSTRUCTION           PROCESSOR_ARM_V4_INSTRUCTION
+
+PROCESSOR_ARM_V4FP_INSTRUCTION         PROCESSOR_ARM_V4FP_INSTRUCTION
+                                       PROCESSOR_ARM_V4_INSTRUCTION
+
+PROCESSOR_ARM_V4I_INSTRUCTION          PROCESSOR_ARM_V4I_INSTRUCTION
+                                       PROCESSOR_ARM_V4T_INSTRUCTION
+
+PROCESSOR_ARM_V4IFP_INSTRUCTION        PROCESSOR_ARM_V4IFP_INSTRUCTION
+                                       PROCESSOR_ARM_V4TFP_INSTRUCTION
+                                       PROCESSOR_ARM_V4I_INSTRUCTION
+                                       PROCESSOR_ARM_V4T_INSTRUCTION
+
+PROCESSOR_ARM_V4T_INSTRUCTION          PROCESSOR_ ARM_V4I_INSTRUCTION
+                                       PROCESSOR_ARM_V4T_INSTRUCTION
+
+PROCESSOR_ARM_V4TFP_INSTRUCTION        PROCESSOR_ARM_V4TFP_INSTRUCTION
+                                       PROCESSOR_ARM_V4IFP_INSTRUCTION
+                                       PROCESSOR_ARM_V4I_INSTRUCTION
+                                       PROCESSOR_ARM_V4T_INSTRUCTION
+}
+
+
+
   { FSCTL_SET_COMPRESSION  }
   { FSCTL_SET_COMPRESSION  }
      COMPRESSION_FORMAT_NONE = 0;
      COMPRESSION_FORMAT_NONE = 0;
      COMPRESSION_FORMAT_DEFAULT = 1;
      COMPRESSION_FORMAT_DEFAULT = 1;
@@ -5269,10 +5443,12 @@
      STATUS_STACK_OVERFLOW = $C00000FD;
      STATUS_STACK_OVERFLOW = $C00000FD;
      STATUS_CONTROL_C_EXIT = $C000013A;
      STATUS_CONTROL_C_EXIT = $C000013A;
 {$define EXCEPTION_CTRL_C}
 {$define EXCEPTION_CTRL_C}
+{ Declared above.
      PROCESSOR_ARCHITECTURE_INTEL = 0;
      PROCESSOR_ARCHITECTURE_INTEL = 0;
      PROCESSOR_ARCHITECTURE_MIPS = 1;
      PROCESSOR_ARCHITECTURE_MIPS = 1;
      PROCESSOR_ARCHITECTURE_ALPHA = 2;
      PROCESSOR_ARCHITECTURE_ALPHA = 2;
      PROCESSOR_ARCHITECTURE_PPC = 3;
      PROCESSOR_ARCHITECTURE_PPC = 3;
+}
   { was #define dname(params) def_expr }
   { was #define dname(params) def_expr }
   function FreeModule(h:HINST):WINBOOL;
   function FreeModule(h:HINST):WINBOOL;