IPMI_OPMA.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  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. * OPMACommands.h
  17. * Header file for OPMACommands.c
  18. *
  19. * Author: Shivaranjani Chelladurai <shivaranjanic@ami.com>
  20. *
  21. ******************************************************************/
  22. #ifndef __OPMA_COMMANDS_H__
  23. #define __OPMA_COMMANDS_H__
  24. #include "Types.h"
  25. #include "PMConfig.h"
  26. /*OPMA specific definitions */
  27. #define OPMA_VERSION 0x0120
  28. #define M1_CLASS_LAN_SUPP 0x01
  29. #define M2_CLASS_LAN_SUPP 0x02
  30. #define M3_CLASS_LAN_SUPP 0x03
  31. #define OUT_OF_BAND_SUPP_ENABLED 0x01
  32. #define OUT_OF_BAND_SUPP_DISABLED 0x02
  33. #define TERMINAL_MODE_SUPPORT_ENABLED 0x01
  34. #define TERMINAL_MODE_SUPPORT_DISABLED 0x02
  35. #define SENSOR_SCANNING_ACTIVE 0x01
  36. #define SENSOR_SCANNING_INACTIVE 0x02
  37. #define VIRTUAL_COMM1_SUPPORTED 0x01
  38. #define VIRTUAL_COMM1_NOT_SUPPORTED 0x00
  39. #define VIRTUAL_FLOPPY_SUPPORTED 0x01
  40. #define VIRTUAL_FLOPPY_NOT_SUPPORTED 0x00
  41. #define CC_SUPP_FP_LOCK_NOT_SUPP 0xC1
  42. #define CMD_OPMA_SET_SENSOR_RD_OFFSET 0x04
  43. #define CMD_OPMA_GET_SENSOR_RD_OFFSET 0x05
  44. #define CMD_OPMA_SET_SYS_TYPE_ID 0xA0
  45. #define CMD_OPMA_GET_SYS_TYPE_ID 0xA1
  46. #define CMD_OPMA_GET_MCARD_CAP 0xA2
  47. #define CMD_OPMA_CLR_CMOS 0xA3
  48. #define CMD_OPMA_SET_LOCAL_LOCKOUT 0xA4
  49. #define CMD_OPMA_GET_LOCAL_LOCKOUT 0xA5
  50. #define CMD_OPMA_GET_SUPPORTED_HOST_IDS 0xA6
  51. #define LED_OVERALL_HEALTH 0x0
  52. #define LED_FAULT_TEMP 0x1
  53. #define LED_FAULT_FAN 0x2
  54. #define LED_FAULT_PS 0x3
  55. #define LED_FAULT_CPU 0x4
  56. #define LED_FAULT_HDD 0x5
  57. #define LED_FAULT_ECC_CE 0x6
  58. #define LED_FAULT_ECC_UE 0x7
  59. #define LED_STATE_OFF 0x0 /* off from one source*/
  60. #define LED_STATE_ON 0x1 /* on from one source*/
  61. #define LED_STATE_RESET 0x2 /* all off and reset*/
  62. #pragma pack(1)
  63. /* Structures for OPMA comamnds request and response */
  64. /*
  65. * SystemTypeIdentifier Structure
  66. */
  67. typedef struct
  68. {
  69. INT16U OemId;
  70. INT16U ImplemenationId;
  71. INT16U OPMASpecComplaince;
  72. } PACKED SystemTypeIdentifier_T;
  73. /*
  74. *SetSensorReadingOffsetReq_T
  75. */
  76. typedef struct
  77. {
  78. INT8U SensorLUN;
  79. INT8U SensorNo;
  80. INT8S Offset;
  81. } PACKED SetSensorReadingOffsetReq_T;
  82. /*
  83. *SetSensorReadingOffsetRes_T
  84. */
  85. typedef struct
  86. {
  87. INT8U CompletionCode;
  88. } PACKED SetSensorReadingOffsetRes_T;
  89. /*
  90. * GetSensorReadingOffsetReq_T
  91. */
  92. typedef struct
  93. {
  94. INT8U SensorLUN;
  95. INT8U SensorNo;
  96. } PACKED GetSensorReadingOffsetReq_T;
  97. /*
  98. * GetSensorReadingOffsetRes_T
  99. */
  100. typedef struct
  101. {
  102. INT8U CompletionCode;
  103. INT8S Offset;
  104. } PACKED GetSensorReadingOffsetRes_T;
  105. /*
  106. * SetSystemTypeIdentifierReq_T
  107. */
  108. typedef SystemTypeIdentifier_T SetSystemTypeIdentifierReq_T;
  109. /*
  110. * SetSystemTypeIdentifierRes_T
  111. */
  112. typedef struct
  113. {
  114. INT8U CompletionCode;
  115. } PACKED SetSystemTypeIdentifierRes_T;
  116. /*
  117. * GetSystemTypeIdentifierRes_T
  118. */
  119. typedef struct
  120. {
  121. INT8U CompletionCode;
  122. INT16U OemId;
  123. INT16U ImplemenationId;
  124. INT16U OPMASpecComplaince;
  125. } PACKED GetSystemTypeIdentifierRes_T;
  126. /*
  127. * GetmCardCapabilitiesRes_T
  128. */
  129. typedef struct
  130. {
  131. INT8U CompletionCode;
  132. INT16U SubsysSpecComp;
  133. INT8U LanSupportType;
  134. INT8U LanSupportStatus;
  135. INT8U TerSupportStatus;
  136. INT8U IPMIInterfaceSupport;
  137. INT8U SensorScanStatus;
  138. INT8U VirtualPort1;
  139. INT8U VirtualFloppyInterface;
  140. } PACKED GetmCardCapabilitiesRes_T;
  141. /*
  142. * SetSystemTypeIdentifierRes_T
  143. */
  144. typedef struct
  145. {
  146. INT8U CompletionCode;
  147. } PACKED ClearCMOSRes_T;
  148. /*
  149. * SetLocalAccessLockOutStateReq_T
  150. */
  151. typedef struct
  152. {
  153. INT8U LockState;
  154. } PACKED SetLocalAccessLockOutStateReq_T;
  155. /*
  156. * SetLocalAccessLockOutStateRes_T
  157. */
  158. typedef struct
  159. {
  160. INT8U CompletionCode;
  161. } PACKED SetLocalAccessLockOutStateRes_T;
  162. /*
  163. * GetLocalAccessLockOutStateRes_T
  164. */
  165. typedef struct
  166. {
  167. INT8U CompletionCode;
  168. INT8U LockState;
  169. } PACKED GetLocalAccessLockOutStateRes_T;
  170. /*
  171. * GetSupportedHostIDsRes_T
  172. */
  173. typedef struct
  174. {
  175. INT8U CompletionCode;
  176. INT8U SupportedSysCount;
  177. OPMA_IDPair_T IDPairs [MAX_ID_PAIRS];
  178. } PACKED GetSupportedHostIDsRes_T;
  179. #pragma pack()
  180. #endif //__OPMA_COMMANDS_H__