| 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*/
 
 
  |