SDRRecord.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /*****************************************************************
  2. *****************************************************************
  3. *** **
  4. *** (C)Copyright 2005-2006, American Megatrends Inc. **
  5. *** **
  6. *** All Rights Reserved. **
  7. *** **
  8. *** 6145-F, Northbelt Parkway, Norcross, **
  9. *** **
  10. *** Georgia - 30071, USA. Phone-(770)-246-8600. **
  11. *** **
  12. *****************************************************************
  13. *****************************************************************
  14. *****************************************************************
  15. *
  16. * SDRRecord.h
  17. * SDR record structures.
  18. *
  19. * Author: Govind Kothandapani <govindk@ami.com>
  20. *
  21. ******************************************************************/
  22. #ifndef SDR_RECORD_H
  23. #define SDR_RECORD_H
  24. #include "Types.h"
  25. //#include "IPMI_SDRRecord.h"
  26. #include "IPMI_IPM.h"
  27. #pragma pack( 1 )
  28. /*** External Definitions */
  29. #define SHARED_RECD_COUNT 0x000F
  30. /**
  31. * @brief Number of various record types
  32. **/
  33. #define SDR_REPOSITORY_HEADER 16
  34. /**
  35. * @struct HdrFullSensorRec_T
  36. * @brief Record Tables With Valid & Length Fields Header
  37. **/
  38. typedef struct
  39. {
  40. INT8U Valid;
  41. INT8U Len;
  42. FullSensorRec_T FullSensorRec;
  43. } PACKED HdrFullSensorRec_T;
  44. /**
  45. * @struct HdrMgmtCtrlrConfirmRec_T
  46. * @brief Management Controller Confirmation Record
  47. **/
  48. typedef struct
  49. {
  50. INT8U Valid;
  51. INT8U Len;
  52. MgmtCtrlrConfirmRec_T MgmtCtrlrConfirmRec;
  53. } PACKED HdrMgmtCtrlrConfirmRec_T;
  54. /**
  55. * @struct HdrMgmtCtrlrDevLocator_T
  56. * @brief Management Controller Device Locator Record
  57. **/
  58. typedef struct
  59. {
  60. INT8U Valid;
  61. INT8U Len;
  62. MgmtCtrlrDevLocator_T MgmtCtrlrDevLocator;
  63. } PACKED HdrMgmtCtrlrDevLocator_T;
  64. /**
  65. * @struct HdrBMCMsgChannelInfoRec_T
  66. * @brief BMC Message Channel Information Record
  67. **/
  68. typedef struct
  69. {
  70. INT8U Valid;
  71. INT8U Len;
  72. BMCMsgChannelInfoRec_T BMCMsgChannelInfoRec;
  73. } PACKED HdrBMCMsgChannelInfoRec_T;
  74. /**
  75. * @struct HdrGnrcDevLocatorRec_T
  76. * @brief Generic Device Locator Record
  77. **/
  78. typedef struct
  79. {
  80. INT8U Valid;
  81. INT8U Len;
  82. GnrcDevLocatorRec_T GnrcDevLocatorRec;
  83. } PACKED HdrGnrcDevLocatorRec_T;
  84. /**
  85. * @struct HdrCompactSensorRec_T
  86. * @brief Compact Sensor Record
  87. **/
  88. typedef struct
  89. {
  90. INT8U Valid;
  91. INT8U Len;
  92. CompactSensorRec_T CompactSensorRec;
  93. } PACKED HdrCompactSensorRec_T;
  94. /**
  95. * @struct SDRRepository_T
  96. * @brief SDR Repository organisation
  97. **/
  98. typedef struct
  99. {
  100. INT8U Signature [4]; /* $SDR */
  101. INT16U NumRecords; /* Number of records */
  102. INT16U Size; /* Size of the SDR Records Data */
  103. INT32U AddTimeStamp; /* Most recent addition timestamp */
  104. INT32U EraseTimeStamp; /* Most recent erase timestamp */
  105. /* NOTE: If anything addede here - update SDR_NUM_FREE_BYTES */
  106. //INT8U FreeBytes [SDR_NUM_FREE_BYTES]; /* Free Record bytes */
  107. } PACKED SDRRepository_T;
  108. #pragma pack( )
  109. #endif /* SDR_RECORD_H */