/**************************************************************************** CPUDET32.H TMi0SDGL R2 32-bit DLL import header file Version 2.15 Too-Much-in-0ne-So-Don't-Get-Lost(tm) Revision 2 CPU/FPU Detection Library Copyright(c) 1996-2000 by B-coolWare. Written by Bobby Z. **************************************************************************** To use CPUDET32.DLL in your Windows application, add this header file and CPUDET32.LIB Import Library to your project. If you do not have an import library or it is not in format, compatible with your compiler/linker, then you can create one by typing magic words "IMPLIB CPUDET32.LIB CPUDET32.DLL" at the command prompt in the directory where CPUDET32.DLL resides. */ /* defines that affect compilation: __need_fp_cpu_Speed__ type: define default: not defined purpose: whether to link fcpu_Speed() if defined, compiler will link in extra code for floating point error control, etc. */ #ifdef __CPUDET16_H__ You can only use 16-bit or 32-bit version of the DLL in your application, not both... #endif #ifndef __CPUDET32_H__ /* avoid subsequent inclusion of this file */ #define __CPUDET32_H__ typedef unsigned char byte; typedef unsigned short int word; typedef unsigned int dword; typedef void * pointer; /* extra flags */ #define efHasFPUonChip 0x0001 #define efWeitekPresent 0x0002 #define efCPUIDSupport 0x0004 #define efDXType efCPUIDSupport+efHasFPUonChip #define efEmulatedFPU 0x0008 #define efCentaurLevel 0x0010 #define efTSCSupport 0x0020 /* CPU type constants */ #define i8088 0 #define i8086 1 #define i80C88 2 #define i80C86 3 #define i80188 4 #define i80186 5 #define necV20 6 #define necV30 7 #define i80286 8 #define i80386SX 9 #define i80386DX 10 #define i386SL 11 #define ibm386SLC 12 #define Am386SX 13 #define Am386DX 14 #define CT38600 15 #define CT38600SX 16 #define RapidCAD 17 #define i486SX 18 #define i486DX 19 #define ibm486SLC 20 #define ibm486SLC2 21 #define ibm486BL3 22 #define Cx486 23 #define umcU5S 24 #define umcU5D 25 #define Am486 26 #define iPentium 27 #define iP54C 28 #define CxM1 29 #define AmdK5 30 #define Nx586 31 #define iPentiumPro 32 #define AmdK6 33 #define iP7 34 #define iP8 35 #define CxM2 36 #define Am486DX 37 #define AmdK5_2 38 #define WinChipC6 39 #define i486SL 40 #define AmdK7 41 #define WinChip2 42 #define Rise_mP6 43 #define i376 44 #define WinChip3 45 #define CxIII 46 #define MaxCPU CxIII /* FPU type constants */ #define fpuInternal 100 #define fpuNone 0 #define i8087 1 #define i80287 2 #define i80287XL 3 #define i80387 4 #define rCAD 5 #define cx287 6 #define cx387 7 #define cx487 8 #define cxEMC87 9 #define iit287 10 #define iit387 11 #define iit487 12 #define ct387 13 #define ulsi387 14 #define ulsi487 15 #define i487sx 16 #define Nx587 17 #define iit487DLC 18 #define i387SLMobile 19 typedef struct { dword eax; dword ebx; dword ecx; dword edx; } customCpuid; /* imported functions */ #ifdef __cplusplus extern "C" { #endif extern char* __stdcall cpu_Type(); extern char* __stdcall fpu_Type(); extern int __stdcall cpu_Speed(); extern int __stdcall ncpu_Speed(); #ifdef __need_fp_cpu_Speed__ extern double __stdcall fcpu_Speed(); #endif extern void __stdcall CxCPUIDEnable(); extern void __stdcall getCPUID( dword Level, customCpuid * Result ); extern byte __stdcall getCPU(); extern byte __stdcall getFPU(); extern char* __stdcall getVendorString(); extern dword __stdcall getSteppingInfo(); extern dword __stdcall getCPUFeatures(); extern word __stdcall getExtraFlags(); extern char* __stdcall getCPUSerialNumber(); extern word __stdcall getVersion(); #ifdef __cplusplus } #endif #endif /* __CPUDET32_H__ */