IPMI_PEF.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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. * ipmi_PEF.h
  17. * AppDevice Commands Handler
  18. *
  19. * Author: Govind Kothandapani <govindk@ami.com>
  20. * : Rama Bisa <ramab@ami.com>
  21. * : Basavaraj Astekar <basavaraja@ami.com>
  22. * : Bakka Ravinder Reddy bakkar@ami.com>
  23. *
  24. *****************************************************************/
  25. #ifndef IPMI_PEFDEV_H
  26. #define IPMI_PEFDEV_H
  27. #include "Types.h"
  28. #pragma pack( 1 )
  29. #define ALERT_STR_MAX_BLOCKS 0x3
  30. #define ALERT_STR_BLOCK_SIZE 0x10
  31. #define MAX_ALERT_ENTRIES 127
  32. #define MAX_PEF_ENTRIES 127
  33. #define MAX_ALERT_STRING_LENGTH 48
  34. #define MAX_PEF_CONF_PARAM 0x0F
  35. #define MIN_PEF_OEM_CONF_PARAM 96
  36. #define MAX_PEF_OEM_CONF_PARAM 127
  37. /**
  38. * @struct EvtFilterTblEntry_T
  39. * @brief Event Filter table entry format.
  40. **/
  41. typedef struct
  42. {
  43. INT8U FilterConfig; /**< Filter configuration. */
  44. INT8U EvtFilterAction; /**< Filter Action. */
  45. INT8U AlertPolicyNum; /**< Alert Policy Number. */
  46. INT8U EventSeverity; /**< Event Severity. */
  47. INT8U GenIDByte1; /**< Event Gen ID Byte 1. */
  48. INT8U GenIDByte2; /**< Channel Number/LUN. */
  49. INT8U SensorType; /**< Sensor Type. */
  50. INT8U SensorNum; /**< Sensor Number. */
  51. INT8U EventTrigger; /**< Event Trigger Reading, 0xff - match any. */
  52. INT16U EventData1OffsetMask; /**< Event Data1 offset Mask. */
  53. INT8U EventData1ANDMask; /**< Event Data1 offset AND Mask. */
  54. INT8U EventData1Cmp1; /**< Event Data1 Compare 1 Mask. */
  55. INT8U EventData1Cmp2; /**< Event Data1 Compare 2 Mask. */
  56. INT8U EventData2ANDMask; /**< Event Data1 offset AND Mask. */
  57. INT8U EventData2Cmp1; /**< Event Data1 Compare 1 Mask. */
  58. INT8U EventData2Cmp2; /**< Event Data1 Compare 2 Mask. */
  59. INT8U EventData3ANDMask; /**< Event Data1 offset AND Mask. */
  60. INT8U EventData3Cmp1; /**< Event Data1 Compare 1 Mask. */
  61. INT8U EventData3Cmp2; /**< Event Data1 Compare 2 Mask. */
  62. } PACKED EvtFilterTblEntry_T;
  63. /**
  64. * @struct AlertPolicyTblEntry_T
  65. * @brief Alert Policy Entry structure
  66. **/
  67. typedef struct
  68. {
  69. INT8U AlertNum; /**< Alert policy no. */
  70. INT8U ChannelDestSel; /**< Destination selector. */
  71. INT8U AlertStingkey; /**< Alert String key. */
  72. } PACKED AlertPolicyTblEntry_T;
  73. /**
  74. * @struct AlertStringTbl_T
  75. * Alert String Table
  76. **/
  77. typedef struct
  78. {
  79. INT8U EventFilterSel;
  80. INT8U AlertStringSet;
  81. INT8U AlertString [ALERT_STR_MAX_BLOCKS] [ALERT_STR_BLOCK_SIZE];
  82. } PACKED AlertStringTbl_T;
  83. /* GetPEFCapRes_T */
  84. typedef struct
  85. {
  86. INT8U CompletionCode;
  87. INT8U PEFVersion;
  88. INT8U ActionSupport;
  89. INT8U TotalEntries;
  90. } PACKED GetPEFCapRes_T;
  91. /* ArmPEFTmrRes_T */
  92. typedef struct
  93. {
  94. INT8U CompletionCode;
  95. INT8U PresentTmrVal;
  96. } PACKED ArmPEFTmrRes_T;
  97. /* GetPEFConfigReq_T */
  98. typedef struct
  99. {
  100. INT8U ParamSel;
  101. INT8U SetSel;
  102. INT8U BlockSel;
  103. } PACKED GetPEFConfigReq_T;
  104. /* GetPEFConfigRes_T */
  105. typedef struct
  106. {
  107. INT8U CompletionCode;
  108. INT8U PEFVersion;
  109. } PACKED GetPEFConfigRes_T;
  110. /* SetLastEvtIDReq_T */
  111. typedef struct
  112. {
  113. INT8U SetRecIDType;
  114. INT16U RecordID;
  115. } PACKED SetLastEvtIDReq_T;
  116. /* GetLastEvtIDRes_T */
  117. typedef struct
  118. {
  119. INT8U CompletionCode;
  120. INT32U RecentTimestamp;
  121. INT16U LastSELRecord;
  122. INT16U LastSWProcessedID;
  123. INT16U LastBMCProcessedID;
  124. } PACKED GetLastEvtIDRes_T;
  125. /* AlertImmReq_T */
  126. typedef struct
  127. {
  128. INT8U ChannelNo;
  129. INT8U DestSel;
  130. INT8U AlertStrSel;
  131. INT8U GenID ;
  132. INT8U EvMRev;
  133. INT8U SensorType;
  134. INT8U SensorNum;
  135. INT8U EvtDirType;
  136. INT8U EvtData1;
  137. INT8U EvtData2;
  138. INT8U EvtData3;
  139. } PACKED AlertImmReq_T;
  140. typedef struct
  141. {
  142. INT8U CompletionCode;
  143. INT8U Status;
  144. } PACKED AlertImmRes_T;
  145. /* PETAckReq_T */
  146. typedef struct
  147. {
  148. INT16U SequenceNum;
  149. INT32U Timestamp;
  150. INT8U EventSrcType;
  151. INT8U SensorDevice;
  152. INT8U SensorNum;
  153. INT8U EventData1;
  154. INT8U EventData2;
  155. INT8U EventData3;
  156. } PACKED PETAckReq_T;
  157. #pragma pack( )
  158. #endif /* IPMI_PEFDEV_H */