123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- /****************************************************************
- ****************************************************************
- ** **
- ** (C)Copyright 2005-2006, American Megatrends Inc. **
- ** **
- ** All Rights Reserved. **
- ** **
- ** 6145-F, Northbelt Parkway, Norcross, **
- ** **
- ** Georgia - 30071, USA. Phone-(770)-246-8600. **
- ** **
- ****************************************************************
- ****************************************************************
- ****************************************************************
- * ipmi_chassis.h
- * IPMI chassis Request and Response structures
- *
- * Author: Rama Bisa <ramab@ami.com>
- *
- ******************************************************************/
- #ifndef IPMI_CHASSIS_DEVICE_H
- #define IPMI_CHASSIS_DEVICE_H
- #ifndef uint8_t
- #define uint8_t unsigned char
- #endif
- #ifndef uint16_t
- #define uint16_t unsigned short
- #endif
- #ifndef uint32_t
- #define uint32_t unsigned long
- #endif
- #pragma pack( 1 )
- /*** Definitions and Macros ***/
- #define MAX_BOOT_INIT_MAILBOX_BLOCKS 5
- #define MAX_BOOT_INIT_MAILBOX_BLOCK_SIZE 16
- #define CHASSIS_IDENTITY_STATE_INFO_SUPPORTED 0x40
- #define CHASSIS_IDENTITY_INDEFINITE_ON 0x20
- #define CHASSIS_IDENTITY_TIMED_ON 0x10
- #define CHASSIS_IDENTITY_OFF 0x00
- /**
- * @struct ChassisCapabilities_T
- * @brief Chassis capabilities
- **/
- typedef struct
- {
- uint8_t CapabilitiesFlags;
- uint8_t FRUInfoAddr;
- uint8_t SDRDeviceAddr;
- uint8_t SELDeviceAddr;
- uint8_t SMDeviceAddr;
- uint8_t ChassBridgeFn;
- } ChassisCapabilities_T;
- /**
- * @struct ChassisPowerState_T
- * @brief Chassis Power state
- **/
- typedef struct
- {
- uint8_t PowerState;
- uint8_t LastPowerEvent;
- uint8_t MiscChassisState;
- uint8_t FPBtnEnables;
- } ChassisPowerState_T;
- /**
- * @struct AMI_BootOpt_T
- * @brief AMI specific Boot options
- **/
- typedef struct
- {
- uint8_t Data1;
- uint8_t Data2;
-
- } AMI_BootOpt_T;
- /* GetChassisCapabilitiesRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- ChassisCapabilities_T ChassisCapabilities;
-
- } GetChassisCapabilitiesRes_T;
- /* GetChassisStatusRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- ChassisPowerState_T ChassisPowerState;
-
- } GetChassisStatusRes_T;
- /* ChassisControlReq_T */
- typedef struct
- {
- uint8_t ChassisControl;
-
- } ChassisControlReq_T;
- /* ChassisControlRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
-
- } ChassisControlRes_T;
- /* ChassisIdentifyReq_T */
- typedef struct
- {
- uint8_t IdentifyInterval;
- uint8_t ForceIdentify;
- } ChassisIdentifyReq_T;
- /* ChassisIdentifyRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
-
- } ChassisIdentifyRes_T;
- /* SetChassisCapabilitiesReq_T */
- typedef struct
- {
- ChassisCapabilities_T ChassisCaps;
-
- } SetChassisCapabilitiesReq_T;
- /* SetChassisCapabilitiesRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
-
- } SetChassisCapabilitiesRes_T;
- /* SetPowerRestorePolicyReq_T */
- typedef struct
- {
- uint8_t PowerRestorePolicy;
-
- } SetPowerRestorePolicyReq_T;
- /* SetPowerRestorePolicyRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t PowerRestorePolicy;
-
- } SetPowerRestorePolicyRes_T;
- /* GetSystemRestartCauseRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t SysRestartCause;
- uint8_t ChannelID;
-
- } GetSystemRestartCauseRes_T;
- /* GetPOHCounterRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t MinutesPerCount;
- uint32_t POHCounterReading;
-
- } GetPOHCounterRes_T;
- /* BootInfoAck_T */
- typedef struct
- {
- uint8_t WriteMask;
- uint8_t BootInitiatorAckData;
-
- } BootInfoAck_T;
- /* BootFlags_T */
- typedef struct
- {
- uint8_t BootFlagsValid;
- uint8_t Data2;
- uint8_t Data3;
- uint8_t Data4;
- uint8_t Data5;
-
- } BootFlags_T;
- /* BootInitiatorInfo_T */
- typedef struct
- {
- uint8_t BootSource;
- uint8_t SessionID [4];
- uint8_t BootInfoTimestamp [4];
-
- } BootInitiatorInfo_T;
- /* BootInitiatorMailbox_T */
- typedef struct
- {
- uint8_t BlockData [MAX_BOOT_INIT_MAILBOX_BLOCK_SIZE];
-
- } BootInitiatorMailbox_T;
- /* BootInitiatorMboxReq_T */
- typedef struct
- {
- uint8_t BlockSel;
- BootInitiatorMailbox_T BootMBox;
-
- } BootInitiatorMboxReq_T;
- #define DEFAULT_BOT_DEV_NUM 0x1
- #define DEFAULT_BOT_DEV_INFO_SIZE 60
- #define ANCH_STR_LEN 4
- #define IP_ADDR_LEN 4
- #define CFG_SCR_NAME_LEN 48
- #define CHAS_GUID_LEN 16
- #define SCT_RSV_LEN 28
- /* OemParamBlkSizeTbl_T */
- typedef struct
- {
- uint8_t AnchorStr[ANCH_STR_LEN]; /* Header */
- uint8_t Checksum;
- uint8_t MajorRev;
- uint8_t MinorRev;
- uint16_t Len;
- uint8_t Reserved1;
- uint8_t SysIfcBlkSize; /* Data */
- uint8_t Reserved2;
- uint8_t IPMBIfcBlkSize;
- uint8_t Reserved3;
- uint8_t LANIfcBlkSize;
- uint8_t Reserved4;
- } OemParamBlkSizeTbl_T;
- /* BootOrderTbl_T */
- typedef struct
- {
- uint8_t AnchorStr[ANCH_STR_LEN]; /* Header */
- uint8_t BOTChecksum;
- uint8_t BOTMajorRev;
- uint8_t BOTMinorRev;
- uint16_t Len;
- uint8_t Reserved;
- uint8_t UpdFlag; /* Data */
- uint8_t *BootOrderInfo;
- uint8_t OrderType;
- uint8_t OrderLen;
- uint8_t *DevOrderList;
- uint8_t *DevNamePath;
- } BootOrderTbl_T;
- /* BootOrderTblReq_T */
- typedef struct
- {
- uint8_t BlockSel;
- BootOrderTbl_T BootOrderTbl;
- } BootOrderTblReq_T;
- /* SlotConfigTbl_T */
- typedef struct
- {
- uint8_t AnchorStr[ANCH_STR_LEN]; /* Header */
- uint8_t SCTChecksum;
- uint8_t SCTMajorRev;
- uint8_t SCTMinorRev;
- uint16_t Len;
- uint8_t Reserved1;
- uint8_t NICIP[IP_ADDR_LEN]; /* Data */
- uint8_t NICNetmask[IP_ADDR_LEN];
- uint8_t NICGateway[IP_ADDR_LEN];
- uint16_t MgmtVLAN;
- uint8_t MgmtIP[IP_ADDR_LEN];
- uint8_t ConfigScriptName[CFG_SCR_NAME_LEN];
- uint8_t ChassisGUID[CHAS_GUID_LEN];
- uint16_t ConfigBootType;
- uint16_t TFTPPort;
- uint16_t SFTPPort;
- uint16_t SCPort;
- uint8_t Reserved2[SCT_RSV_LEN];
- } SlotConfigTbl_T;
- /* BootOptParams_T */
- typedef union
- {
- uint8_t SetInProgress;
- uint8_t ServicePartitionSelector;
- uint8_t ServicePartitionScan;
- uint8_t BootFlagValidBitClearing;
- BootInfoAck_T BootInfoAck;
- BootFlags_T BootFlags;
- BootInitiatorInfo_T BootInitiatorInfo;
- BootInitiatorMboxReq_T BootMailBox;
- AMI_BootOpt_T Oem;
- OemParamBlkSizeTbl_T OemParamBlkSizeTbl;
- BootOrderTblReq_T BootOrderTbl;
- uint8_t BootDevSelector;
- SlotConfigTbl_T SlotConfigTbl;
- } BootOptParams_T;
- /* SetBootOptionsReq_T */
- typedef struct
- {
- uint8_t ParamValidCumParam;
- BootOptParams_T BootParam;
-
- } SetBootOptionsReq_T;
- /* SetBootOptionsRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
-
- } SetBootOptionsRes_T;
- /* BootOptions_T */
- typedef struct
- {
- uint8_t ParameterValid;
- uint8_t u8SetInProgress; /**< Set in progess variable */
- uint8_t ServicePartitionSelector;
- uint8_t ServicePartitionScan;
- uint8_t BootFlagValidBitClearing;
- BootInfoAck_T BootInfoAck;
- BootFlags_T BootFlags;
- BootInitiatorInfo_T BootInitiatorInfo;
- BootInitiatorMailbox_T BootMailBox[MAX_BOOT_INIT_MAILBOX_BLOCKS];
- AMI_BootOpt_T Oem;
- OemParamBlkSizeTbl_T OemParamBlkSizeTbl;
- BootOrderTbl_T *BootOrderTbl;
- uint8_t BootDevSelector;
- SlotConfigTbl_T SlotConfigTbl;
- } BootOptions_T;
- /* GetBootOptionsReq_T */
- typedef struct
- {
- uint8_t ParamSel;
- uint8_t SetSel;
- uint8_t BlockSel;
-
- } GetBootOptionsReq_T;
- /* GetBootOptParams_T */
- typedef union
- {
- uint8_t SetInProgress;
- uint8_t ServicePartitionSelector;
- uint8_t ServicePartitionScan;
- uint8_t BootFlagValidBitClearing;
- BootInfoAck_T BootInfoAck;
- BootFlags_T BootFlags;
- BootInitiatorInfo_T BootInitiatorInfo;
- BootInitiatorMboxReq_T BootMailBox;
- AMI_BootOpt_T Oem;
- OemParamBlkSizeTbl_T OemParamBlkSizeTbl;
- BootOrderTblReq_T BootOrderTbl;
- uint8_t BootDevSelector;
- SlotConfigTbl_T SlotConfigTbl;
- } GetBootOptParams_T;
- /* GetBootOptionsRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t ParamVersion;
- uint8_t ParameterValid;
- GetBootOptParams_T BootParams;
-
- } GetBootOptionsRes_T;
- /* SetFPBtnEnablesReq_T */
- typedef struct
- {
- uint8_t ButtonEnables;
- } SetFPBtnEnablesReq_T;
- /* SetFPBtnEnablesRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } SetFPBtnEnablesRes_T;
- /* SetPowerCycleInteval Req */
- typedef struct
- {
- uint8_t PowerCycleInterval;
-
- } SetPowerCycleIntervalReq_T;
- /* SetPowerRestorePolicyRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
-
- } SetPowerCycleIntervalRes_T;
- #pragma pack( )
- #endif /* IPMI_CHASSIS_DEVICE*/
|