/*++ BUILD Version: 0001 // Increment this if a change has global effects Copyright (c) 1985 - 1999, Microsoft Corporation Module Name: machine.h Abstract: This is the include file that defines detect of machine type. Author: kazum 10-Aug-1994 Revision History: */ #ifndef _MACHINE_ID_ #define _MACHINE_ID_ #if defined(i386) // These definition is only for Intel platform. // Hardware platform ID #define PC_AT_COMPATIBLE 0x00000000 #define PC_9800_COMPATIBLE 0x00000001 #define FMR_COMPATIBLE 0x00000002 // NT Vendor ID #define NT_MICROSOFT 0x00010000 #define NT_NEC 0x00020000 #define NT_FUJITSU 0x00040000 // Vendor/Machine IDs // DWORD MachineID // 31 15 0 // +-------------+-------------+ // | Vendor ID | Platform ID | // +-------------+-------------+ #define MACHINEID_MS_PCAT (NT_MICROSOFT|PC_AT_COMPATIBLE) #define MACHINEID_MS_PC98 (NT_MICROSOFT|PC_9800_COMPATIBLE) #define MACHINEID_NEC_PC98 (NT_NEC |PC_9800_COMPATIBLE) #define MACHINEID_FUJITSU_FMR (NT_FUJITSU |FMR_COMPATIBLE) // Build 683 compatibility. // !!! should be removed. #define MACHINEID_MICROSOFT MACHINEID_MS_PCAT // Macros #define ISNECPC98(x) (x == MACHINEID_NEC_PC98) #define ISFUJITSUFMR(x) (x == MACHINEID_FUJITSU_FMR) #define ISMICROSOFT(x) (x == MACHINEID_MS_PCAT) // Functions. // User mode ( NT API ) LONG NtGetMachineIdentifierValue( IN OUT PULONG Value ); // User mode ( Win32 API ) LONG RegGetMachineIdentifierValue( IN OUT PULONG Value ); #endif // defined(i386) #endif // _MACHINE_ID_