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.

83 lines
1.9 KiB

  1. /*** smbios.h - SMBIOS spec
  2. *
  3. * Copyright (c) 1998-1999 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * Author: Yan Leshinsky (YanL)
  6. * Created 10/04/98
  7. *
  8. * MODIFICATION HISTORY
  9. */
  10. #ifndef _SMBIOS_H
  11. #define _SMBIOS_H
  12. #include <pshpack1.h>
  13. #define SMBIOS_SEARCH_RANGE_BEGIN 0xF0000 // physical address where we begin searching for the RSDP
  14. #define SMBIOS_SEARCH_RANGE_END 0xFFFFF
  15. #define SMBIOS_SEARCH_RANGE_LENGTH ((ULONG)(SMBIOS_SEARCH_RANGE_END-SMBIOS_SEARCH_RANGE_BEGIN+1))
  16. #define SMBIOS_SEARCH_INTERVAL 16 // search on 16 byte boundaries
  17. #define PNP_SIGNATURE 0x506E5024 // "$PnP"
  18. #define SM_SIGNATURE 0x5F4D535F // "_SM_"
  19. #define SMBIOS_BIOS_INFO_TABLE 0
  20. #define SMBIOS_SYSTEM_INFO_TABLE 1
  21. typedef struct _PNPBIOSINIT
  22. {
  23. DWORD dwSignature;
  24. BYTE bRevision;
  25. BYTE bLength;
  26. WORD wControl;
  27. BYTE bChecksum;
  28. DWORD dwEventNotify;
  29. WORD wRealOffset;
  30. WORD wRealSegment;
  31. WORD wProtectedOffset;
  32. DWORD dwProtectedSegment;
  33. DWORD dwOEMID;
  34. WORD wRealDataSegment;
  35. DWORD dwProtectedDataSegment;
  36. } PNPBIOSINIT, * PPNPBIOSINIT;
  37. typedef struct _SMBIOSENTRY
  38. {
  39. DWORD dwSignature;
  40. BYTE bChecksum;
  41. BYTE bLength;
  42. BYTE bMajorVersion;
  43. BYTE bMinorVersion;
  44. WORD wMaxStructSize;
  45. BYTE bRevision;
  46. BYTE abFormatedArea[5];
  47. BYTE abOldSignature[5]; // _DMI_
  48. BYTE bOldChecksum;
  49. WORD wStructTableLength;
  50. DWORD dwStructTableAddress;
  51. WORD wNumberOfStructs;
  52. BYTE bBCDRevision;
  53. } SMBIOSENTRY, * PSMBIOSENTRY;
  54. typedef struct _SMBIOSHEADER
  55. {
  56. BYTE bType;
  57. BYTE bLength;
  58. WORD wHandle;
  59. } SMBIOSHEADER, * PSMBIOSHEADER;
  60. typedef struct _SMBIOSSYSINFO
  61. {
  62. BYTE bType;
  63. BYTE bLength;
  64. WORD wHandle;
  65. BYTE bManufacturer;
  66. BYTE bProductName;
  67. BYTE bVersion;
  68. BYTE bSerialNumber;
  69. BYTE abUUID[16];
  70. BYTE bWakeUpType;
  71. } SMBIOSSYSINFO, * PSMBIOSSYSINFO;
  72. #endif //_SMBIOS_H