Windows2000/private/ntos/w32/ntcon/inc/machine.h
2020-09-30 17:12:32 +02:00

99 lines
1.6 KiB
C

/*++ 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_