| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //-----------------------------------------------------------------------------
- // Author : hiyohiyo
- // Mail : hiyohiyo@crystalmark.info
- // Web : http://openlibsys.org/
- // License : The modified BSD license
- //
- // Copyright 2007-2020 OpenLibSys.org. All rights reserved.
- //-----------------------------------------------------------------------------
- // for WinRing0 3.0.x
-
- #pragma once
-
- //-----------------------------------------------------------------------------
- //
- // Type Defines
- //
- //-----------------------------------------------------------------------------
-
- // DLL
- typedef DWORD (WINAPI *_GetDllStatus) ();
- typedef DWORD (WINAPI *_GetDllVersion) (PBYTE major, PBYTE minor, PBYTE revision, PBYTE release);
- typedef DWORD (WINAPI *_GetDriverVersion) (PBYTE major, PBYTE minor, PBYTE revision, PBYTE release);
- typedef DWORD (WINAPI *_GetDriverType) ();
-
- typedef BOOL (WINAPI *_InitializeOls) ();
- typedef VOID (WINAPI *_DeinitializeOls) ();
-
- // CPU
- typedef BOOL (WINAPI *_IsCpuid) ();
- typedef BOOL (WINAPI *_IsMsr) ();
- typedef BOOL (WINAPI *_IsTsc) ();
-
- typedef BOOL (WINAPI *_Hlt) ();
- typedef DWORD (WINAPI *_Rdmsr) (DWORD index, PDWORD eax, PDWORD edx);
- typedef DWORD (WINAPI *_Wrmsr) (DWORD index, DWORD eax, DWORD edx);
- typedef DWORD (WINAPI *_Rdpmc) (DWORD index, PDWORD eax, PDWORD edx);
- typedef DWORD (WINAPI *_Cpuid) (DWORD index, PDWORD eax, PDWORD ebx, PDWORD ecx, PDWORD edx);
- typedef DWORD (WINAPI *_Rdtsc) (PDWORD eax, PDWORD edx);
-
- typedef BOOL (WINAPI *_HltTx) (DWORD_PTR threadAffinityMask);
- typedef DWORD (WINAPI *_RdmsrTx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR threadAffinityMask);
- typedef DWORD (WINAPI *_WrmsrTx) (DWORD index, DWORD eax, DWORD edx, DWORD_PTR threadAffinityMask);
- typedef DWORD (WINAPI *_RdpmcTx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR threadAffinityMask);
- typedef DWORD (WINAPI *_CpuidTx) (DWORD index, PDWORD eax, PDWORD ebx, PDWORD ecx, PDWORD edx, DWORD_PTR threadAffinityMask);
- typedef DWORD (WINAPI *_RdtscTx) (PDWORD eax, PDWORD edx, DWORD_PTR threadAffinityMask);
-
- typedef BOOL (WINAPI *_HltPx) (DWORD_PTR processAffinityMask);
- typedef DWORD (WINAPI *_RdmsrPx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR processAffinityMask);
- typedef DWORD (WINAPI *_WrmsrPx) (DWORD index, DWORD eax, DWORD edx, DWORD_PTR processAffinityMask);
- typedef DWORD (WINAPI *_RdpmcPx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR processAffinityMask);
- typedef DWORD (WINAPI *_CpuidPx) (DWORD index, PDWORD eax, PDWORD ebx, PDWORD ecx, PDWORD edx, DWORD_PTR processAffinityMask);
- typedef DWORD (WINAPI *_RdtscPx) (PDWORD eax, PDWORD edx, DWORD_PTR processAffinityMask);
-
- // I/O
- typedef BYTE (WINAPI *_ReadIoPortByte) (WORD address);
- typedef WORD (WINAPI *_ReadIoPortWord) (WORD address);
- typedef DWORD (WINAPI *_ReadIoPortDword) (WORD address);
-
- typedef BOOL (WINAPI *_ReadIoPortByteEx) (WORD address, PBYTE value);
- typedef BOOL (WINAPI *_ReadIoPortWordEx) (WORD address, PWORD value);
- typedef BOOL (WINAPI *_ReadIoPortDwordEx) (WORD address, PDWORD value);
-
- typedef VOID (WINAPI *_WriteIoPortByte) (WORD address, BYTE value);
- typedef VOID (WINAPI *_WriteIoPortWord) (WORD address, WORD value);
- typedef VOID (WINAPI *_WriteIoPortDword) (WORD address, DWORD value);
-
- typedef BOOL (WINAPI *_WriteIoPortByteEx) (WORD address, BYTE value);
- typedef BOOL (WINAPI *_WriteIoPortWordEx) (WORD address, WORD value);
- typedef BOOL (WINAPI *_WriteIoPortDwordEx) (WORD address, DWORD value);
-
- // PCI
- typedef VOID (WINAPI *_SetPciMaxBusIndex) (BYTE max);
-
- typedef BYTE (WINAPI *_ReadPciConfigByte) (DWORD pciAddress, BYTE regAddress);
- typedef WORD (WINAPI *_ReadPciConfigWord) (DWORD pciAddress, BYTE regAddress);
- typedef DWORD (WINAPI *_ReadPciConfigDword) (DWORD pciAddress, BYTE regAddress);
-
- typedef BOOL (WINAPI *_ReadPciConfigByteEx) (DWORD pciAddress, DWORD regAddress, PBYTE value);
- typedef BOOL (WINAPI *_ReadPciConfigWordEx) (DWORD pciAddress, DWORD regAddress, PWORD value);
- typedef BOOL (WINAPI *_ReadPciConfigDwordEx) (DWORD pciAddress, DWORD regAddress, PDWORD value);
-
- typedef VOID (WINAPI *_WritePciConfigByte) (DWORD pciAddress, BYTE regAddress, BYTE value);
- typedef VOID (WINAPI *_WritePciConfigWord) (DWORD pciAddress, BYTE regAddress, WORD value);
- typedef VOID (WINAPI *_WritePciConfigDword) (DWORD pciAddress, BYTE regAddress, DWORD value);
-
- typedef BOOL (WINAPI *_WritePciConfigByteEx) (DWORD pciAddress, DWORD regAddress, BYTE value);
- typedef BOOL (WINAPI *_WritePciConfigWordEx) (DWORD pciAddress, DWORD regAddress, WORD value);
- typedef BOOL (WINAPI *_WritePciConfigDwordEx) (DWORD pciAddress, DWORD regAddress, DWORD value);
-
- typedef DWORD (WINAPI *_FindPciDeviceById) (WORD vendorId, WORD deviceId, BYTE index);
- typedef DWORD (WINAPI *_FindPciDeviceByClass) (BYTE baseClass, BYTE subClass, BYTE programIf, BYTE index);
-
- // Memory
- #ifdef _PHYSICAL_MEMORY_SUPPORT
- typedef DWORD (WINAPI *_ReadDmiMemory) (PBYTE buffer, DWORD count, DWORD unitSize);
- typedef DWORD (WINAPI *_ReadPhysicalMemory) (DWORD_PTR address, PBYTE buffer, DWORD count, DWORD unitSize);
- typedef DWORD (WINAPI *_WritePhysicalMemory) (DWORD_PTR address, PBYTE buffer, DWORD count, DWORD unitSize);
- #endif
|