Source code of Windows XP (NT5)
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.

141 lines
2.9 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. machinep.h
  5. Abstract:
  6. This is the include file that defines detect of machine type.
  7. This file is only included from following files
  8. + \machine\*.c
  9. + \utils\ulib\machine.cxx
  10. And same definition is in
  11. + \public\sdk\inc\machine.h
  12. + \ntos\config\i386.h
  13. + \ntos\fastfat\fatinit.c
  14. + \ntos\dd\scsidisk\disk.c
  15. And this library will be linked with following module.
  16. + winsrv.dll ( usersrvl.lib )
  17. + main.cpl
  18. + display.cpl
  19. + winfile.exe
  20. + winlogon.exe
  21. + msgina.dll
  22. Author:
  23. Revision History:
  24. --*/
  25. #ifndef _MACHINEP_ID_
  26. #define _MACHINEP_ID_
  27. #if defined(_X86_)
  28. //
  29. // Registry Key
  30. //
  31. //
  32. // UNICODE
  33. //
  34. #define REGISTRY_HARDWARE_DESCRIPTION_W \
  35. L"\\Registry\\Machine\\Hardware\\DESCRIPTION\\System"
  36. #define REGISTRY_HARDWARE_SYSTEM_W \
  37. L"Hardware\\DESCRIPTION\\System"
  38. #define REGISTRY_MACHINE_IDENTIFIER_W \
  39. L"Identifier"
  40. #define FUJITSU_FMR_NAME_W L"FUJITSU FMR-"
  41. #define NEC_PC98_NAME_W L"NEC PC-98"
  42. //
  43. // ANSI
  44. //
  45. #define REGISTRY_HARDWARE_DESCRIPTION_A \
  46. "\\Registry\\Machine\\Hardware\\DESCRIPTION\\System"
  47. #define REGISTRY_HARDWARE_SYSTEM_A \
  48. "Hardware\\DESCRIPTION\\System"
  49. #define REGISTRY_MACHINE_IDENTIFIER_A \
  50. "Identifier"
  51. #define FUJITSU_FMR_NAME_A "FUJITSU FMR-"
  52. #define NEC_PC98_NAME_A "NEC PC-98"
  53. //
  54. // Automatic
  55. //
  56. #define REGISTRY_HARDWARE_DESCRIPTION \
  57. TEXT("\\Registry\\Machine\\Hardware\\DESCRIPTION\\System")
  58. #define REGISTRY_HARDWARE_SYSTEM \
  59. TEXT("Hardware\\DESCRIPTION\\System")
  60. #define REGISTRY_MACHINE_IDENTIFIER \
  61. TEXT("Identifier")
  62. #define FUJITSU_FMR_NAME TEXT("FUJITSU FMR-")
  63. #define NEC_PC98_NAME TEXT("NEC PC-98")
  64. //
  65. // These definition are only for Intel platform.
  66. //
  67. //
  68. // Hardware platform ID
  69. //
  70. #define PC_AT_COMPATIBLE 0x00000000
  71. #define PC_9800_COMPATIBLE 0x00000001
  72. #define FMR_COMPATIBLE 0x00000002
  73. //
  74. // NT Vendor ID
  75. //
  76. #define NT_MICROSOFT 0x00010000
  77. #define NT_NEC 0x00020000
  78. #define NT_FUJITSU 0x00040000
  79. //
  80. // Vendor/Machine IDs
  81. //
  82. // DWORD MachineID
  83. //
  84. // 31 15 0
  85. // +-------------+-------------+
  86. // | Vendor ID | Platform ID |
  87. // +-------------+-------------+
  88. //
  89. #define MACHINEID_MS_PCAT (NT_MICROSOFT|PC_AT_COMPATIBLE)
  90. #define MACHINEID_MS_PC98 (NT_MICROSOFT|PC_9800_COMPATIBLE)
  91. #define MACHINEID_NEC_PC98 (NT_NEC |PC_9800_COMPATIBLE)
  92. #define MACHINEID_FUJITSU_FMR (NT_FUJITSU |FMR_COMPATIBLE)
  93. //
  94. // Macros
  95. //
  96. #define ISNECPC98(x) (x == MACHINEID_NEC_PC98)
  97. #define ISFUJITSUFMR(x) (x == MACHINEID_FUJITSU_FMR)
  98. #define ISMICROSOFT(x) (x == MACHINEID_MS_PCAT)
  99. #endif // defined(i386)
  100. #endif // _MACHINE_ID_