BmcType.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 SerialIfcSupport ;
  18. uint8_t SerialTerminalSupport;
  19. uint8_t LANIfcSupport ;
  20. uint8_t SYSIfcSupport;
  21. uint8_t GrpExtnSupport ;
  22. uint32_t FanControlInterval;
  23. //IPMB
  24. uint8_t PrimaryIPMBSupport ;
  25. uint8_t SecondaryIPMBSupport ;
  26. uint32_t PrimaryIPMBBus;
  27. uint32_t SecondaryIPMBBus;
  28. uint8_t PrimaryIPMBAddr; //8bit
  29. uint8_t SecondaryIPMBAddr; //8bit
  30. //chassis config
  31. uint8_t SysRestartCause;
  32. uint8_t PowerRestorePolicy;
  33. ChassisPowerState_T ChassisPowerState;
  34. ChassisCapabilities_T ChassisCapabilities;
  35. uint8_t PowerCycleInterval;
  36. uint8_t SysPartitionScan;
  37. uint8_t RearmSetSensorThreshold;
  38. int16_t SELTimeUTCOffset;
  39. uint32_t LogOutTimeout;
  40. } IPMIConfig_T;
  41. typedef struct
  42. {
  43. IPMIConfig_T IpmiConfig;
  44. OemFRUData_T FRU;
  45. uint8_t* pSDR;
  46. uint8_t* pSEL;
  47. //time
  48. uint32_t CurTimerTick; //uint: 1ms
  49. uint32_t CurTimerSecond;
  50. uint32_t BootValidMinutes; //This work time
  51. uint32_t TotalBootValidMinutes; //Total work time
  52. uint32_t SELTimeSecond; //seconds from 1970-1-1 00:00:00, UTC
  53. //chassis
  54. uint8_t SlotID;
  55. uint8_t chassisID;
  56. uint8_t PowerGoodFlag;
  57. uint8_t FirstPowerOn;
  58. uint8_t SelfTestByte;
  59. uint8_t ChassisIdentifyForce;
  60. uint8_t ChassisIdentifyTimeout;
  61. uint8_t ChassisIdentify;
  62. uint8_t HealthLevel;
  63. SensorSharedMem_T SensorSharedMem;
  64. SENSOR_T SenConfig;
  65. //message handler
  66. uint8_t SendMsgSeqNum;
  67. SDR_T SDRConfig;
  68. SEL_T SELConfig;
  69. uint8_t DeviceGUID[16];
  70. // OEM_FLAGS_T OemFlags;
  71. SessionInfo_T LanSession;
  72. //bool loginOk;
  73. //uint32_t logOutCnt;
  74. UserInfo_T UserInfoTbl[MAX_USER_NUM];
  75. UserInfo_T *pUserInfo;
  76. uint8_t CurrentNoUser;
  77. uint8_t FwMajorVer;
  78. uint8_t FwMinorVer;
  79. } BMCInfo_t;
  80. #pragma pack()
  81. #endif /* __BMC_TYPE_H__ */