Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
1.8 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) 1985 - 1999, Microsoft Corporation
  3. Module Name:
  4. machine.h
  5. Abstract:
  6. This is the include file that defines detect of machine type.
  7. Author:
  8. kazum 10-Aug-1994
  9. Revision History:
  10. --*/
  11. #ifndef _MACHINE_ID_
  12. #define _MACHINE_ID_
  13. #if defined(i386)
  14. //
  15. // These definition is only for Intel platform.
  16. //
  17. //
  18. // Hardware platform ID
  19. //
  20. #define PC_AT_COMPATIBLE 0x00000000
  21. #define PC_9800_COMPATIBLE 0x00000001
  22. #define FMR_COMPATIBLE 0x00000002
  23. //
  24. // NT Vendor ID
  25. //
  26. #define NT_MICROSOFT 0x00010000
  27. #define NT_NEC 0x00020000
  28. #define NT_FUJITSU 0x00040000
  29. //
  30. // Vendor/Machine IDs
  31. //
  32. // DWORD MachineID
  33. //
  34. // 31 15 0
  35. // +-------------+-------------+
  36. // | Vendor ID | Platform ID |
  37. // +-------------+-------------+
  38. //
  39. #define MACHINEID_MS_PCAT (NT_MICROSOFT|PC_AT_COMPATIBLE)
  40. #define MACHINEID_MS_PC98 (NT_MICROSOFT|PC_9800_COMPATIBLE)
  41. #define MACHINEID_NEC_PC98 (NT_NEC |PC_9800_COMPATIBLE)
  42. #define MACHINEID_FUJITSU_FMR (NT_FUJITSU |FMR_COMPATIBLE)
  43. //
  44. // Build 683 compatibility.
  45. //
  46. // !!! should be removed.
  47. #define MACHINEID_MICROSOFT MACHINEID_MS_PCAT
  48. //
  49. // Macros
  50. //
  51. #define ISNECPC98(x) (x == MACHINEID_NEC_PC98)
  52. #define ISFUJITSUFMR(x) (x == MACHINEID_FUJITSU_FMR)
  53. #define ISMICROSOFT(x) (x == MACHINEID_MS_PCAT)
  54. //
  55. // Functions.
  56. //
  57. //
  58. // User mode ( NT API )
  59. //
  60. LONG
  61. NtGetMachineIdentifierValue(
  62. IN OUT PULONG Value
  63. );
  64. //
  65. // User mode ( Win32 API )
  66. //
  67. LONG
  68. RegGetMachineIdentifierValue(
  69. IN OUT PULONG Value
  70. );
  71. #endif // defined(i386)
  72. #endif // _MACHINE_ID_