BmcType.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #ifndef __BMC_TYPE_H__
  2. #define __BMC_TYPE_H__
  3. #include <stdint.h>
  4. #include "Session.h"
  5. #include "com_IPMI_ChassisDevice.h"
  6. #include "PMConfig.h"
  7. #include "SensorMonitor.h"
  8. #include "com_BmcType.h"
  9. #pragma pack(1)
  10. /***************************************** IPMI ******************************************************/
  11. typedef struct
  12. {
  13. char FirstPowerOnStr[32]; //first power on the bmc
  14. uint8_t SendMsgTimeout;
  15. uint8_t SessionTimeOut;
  16. uint32_t ChassisTimerInterval;
  17. uint8_t PrimaryIPMBSupport ;
  18. uint8_t SerialIfcSupport ;
  19. uint8_t SerialTerminalSupport;
  20. uint8_t LANIfcSupport ;
  21. uint8_t SYSIfcSupport;
  22. uint8_t SecondaryIPMBSupport ;
  23. uint8_t GrpExtnSupport ;
  24. uint32_t FanControlInterval;
  25. //channel
  26. uint8_t PrimaryIPMBCh;
  27. uint8_t SecondaryIPMBCh;
  28. //chassis config
  29. uint8_t SysRestartCause;
  30. uint8_t PowerRestorePolicy;
  31. ChassisPowerState_T ChassisPowerState;
  32. ChassisCapabilities_T ChassisCapabilities;
  33. uint8_t PowerCycleInterval;
  34. uint8_t SysPartitionScan;
  35. uint8_t RearmSetSensorThreshold;
  36. int16_t SELTimeUTCOffset;
  37. uint32_t LogOutTimeout;
  38. } IPMIConfig_T;
  39. typedef struct
  40. {
  41. IPMIConfig_T IpmiConfig;
  42. OemFRUData_T FRU;
  43. uint8_t* pSDR;
  44. uint8_t* pSEL;
  45. //time
  46. uint32_t CurTimerTick; //uint: 1ms
  47. uint32_t CurTimerSecond;
  48. uint32_t BootValidMinutes; //This work time
  49. uint32_t TotalBootValidMinutes; //Total work time
  50. uint32_t SELTimeSecond; //seconds from 1970-1-1 00:00:00, UTC
  51. //chassis
  52. uint8_t SlotID;
  53. uint8_t chassisID;
  54. uint32_t PrimaryIPMBBus;
  55. uint32_t SecondaryIPMBBus;
  56. uint8_t PrimaryIPMBAddr;
  57. uint8_t SecondaryIPMBAddr;
  58. uint8_t PowerGoodFlag;
  59. uint8_t FirstPowerOn;
  60. uint8_t SelfTestByte;
  61. uint8_t ChassisIdentifyForce;
  62. uint8_t ChassisIdentifyTimeout;
  63. uint8_t ChassisIdentify;
  64. uint8_t HealthLevel;
  65. SensorSharedMem_T SensorSharedMem;
  66. SENSOR_T SenConfig;
  67. //message handler
  68. uint8_t SendMsgSeqNum;
  69. SDR_T SDRConfig;
  70. SEL_T SELConfig;
  71. uint8_t DeviceGUID[16];
  72. // OEM_FLAGS_T OemFlags;
  73. SessionInfo_T LanSession;
  74. //bool loginOk;
  75. //uint32_t logOutCnt;
  76. UserInfo_T UserInfoTbl[MAX_USER_NUM];
  77. UserInfo_T *pUserInfo;
  78. uint8_t CurrentNoUser;
  79. uint8_t FwMajorVer;
  80. uint8_t FwMinorVer;
  81. } BMCInfo_t;
  82. #pragma pack()
  83. #endif /* __BMC_TYPE_H__ */