123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737 |
- /*****************************************************************
- ******************************************************************
- *** ***
- *** (C)Copyright 2010, American Megatrends Inc. ***
- *** ***
- *** All Rights Reserved ***
- *** ***
- *** 5555 Oakbrook Parkway, Norcross, GA 30093, USA ***
- *** ***
- *** Phone 770.246.8600 ***
- *** ***
- ******************************************************************
- ******************************************************************
- ******************************************************************
- *
- * IPMI_AMIConf.h
- * AMI specific configuration commands
- *
- * Author: Benson Chuang <bensonchuang@ami.com.tw>
- *
- ******************************************************************/
- #ifndef __IPMI_AMICONF_H__
- #define __IPMI_AMICONF_H__
- #include <Types.h>
- #include "nwcfg.h"
- #include "Iptables.h"
- #include "IPMI_LANConfig.h"
- #include "IPMI_AppDevice.h"
- //#include "IPMI_SDRRecord.h"
- /* Network Interface EnableState */
- #define DISABLE_V4_V6 0x00
- #define ENABLE_V4 0x01
- #define ENABLE_V6 0x02
- #define ENABLE_V4_V6 0x03
- #define GET_CMD_MODE 0x00
- #define SET_CMD_MODE 0x01
- #define AMI_IFACE_STATE_ETH 0x00
- #define AMI_IFACE_STATE_BOND 0x01
- #define AMI_IFACE_BOND_ENABLED 0x02
- #define AMI_GET_IFACE_COUNT 0x03
- #define AMI_GET_IFACE_CHANNEL 0x04
- #define AMI_GET_IFACE_NAME 0x05
- #define AMI_BOND_ACTIVE_SLAVE 0x06
- #define AMI_BOND_VLAN_ENABLED 0x07
- #define MAX_SERVICES 7
- #define SERVICE_NAME_SIZE 16
- #define MAX_LAN_CHANNEL 0x05
- #define MAX_IFACE_NAME 16
- #define FULL_SEL_ENTRIES 0xFF
- #define PARTIAL_SEL_ENTRIES 0x00
- #define SEL_EMPTY_REPOSITORY 0x00
- #define THRESHOLD_RESERVED_BIT 0xC0
- #define DISCRETE_RESERVED_BIT 0x80
- #define AMI_DNS_CONF_HOST_NAME 0x01
- #define AMI_DNS_CONF_REGISTER 0x02
- #define AMI_DNS_CONF_DOMAIN_SETTINGS 0x03
- #define AMI_DNS_CONF_DOMAIN_NAME 0x04
- #define AMI_DNS_CONF_DNS_SETTING 0x05
- #define AMI_DNS_CONF_DNS_IP 0x06
- #define AMI_DNS_CONF_DNS_RESTART 0x07
- #define AMI_DNS_CONF_TSIG_UPLOAD 0x08
- #define AMI_DNS_CONF_DNS_ENABLE 0x09
- #define MAX_DNS_IP_ADDRESS 0x03
- #define MAX_DOMAIN_BLOCK_SIZE 64
- #define MAX_BLOCK 0x04
- #pragma pack (1)
- #define MAX_BOND_IFACE_SLAVES 4
- #define DEFAULT_MII_INTERVAL 100
- //Host loack feature
- #define HOSTUNLOCK_CMD 0x00
- #define HOSTLOCK_CMD 0x01
- #define HLENABLED 0x1
- #define HLDISABLED 0x0
- /*
- * Service related struct
- */
- #define MAX_SERVICE_IFACE_NAME_SIZE 16
- //GET
- typedef struct
- {
- INT32U ServiceID;
- } PACKED AMIGetServiceConfReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT32U ServiceID;
- INT8U Enable;
- /* The following fields are meaningful only when the service is enabled */
- INT8S InterfaceName[MAX_SERVICE_IFACE_NAME_SIZE + 1]; /* Interface name */
- INT32U NonSecureAccessPort; /* Non-secure access port number */
- INT32U SecureAccessPort; /* Secure access port number */
- INTU SessionInactivityTimeout; /* Service session inactivity yimeout in seconds*/
- INT8U MaxAllowSession; /* Maximum allowed simultaneous sessions */
- INT8U CurrentActiveSession; /* Number of current active sessions */
- INTU MinSessionInactivityTimeout; /*Min Allowed value for Session timeout in sec*/
- INTU MaxSessionInactivityTimeout; /*Max Allowed value for Session timeout in sec*/
- } PACKED AMIGetServiceConfRes_T;
- //SET
- typedef struct
- {
- INT32U ServiceID;
- INT8U Enable;
- /* The following fields are meaningful only when the service is enabled */
- INT8S InterfaceName[MAX_SERVICE_IFACE_NAME_SIZE + 1]; /* Interface name */
- INT32U NonSecureAccessPort; /* Non-secure access port number */
- INT32U SecureAccessPort; /* Secure access port number */
- INTU SessionInactivityTimeout; /* Service session inactivity yimeout in seconds*/
- INT8U MaxAllowSession; /* Maximum allowed simultaneous sessions */
- INT8U CurrentActiveSession; /* Number of current active sessions */
- } PACKED AMISetServiceConfReq_T;
- typedef struct
- {
- INT8S ServiceName [SERVICE_NAME_SIZE]; /* Service name */
- AMIGetServiceConfRes_T GetAllSeviceCfg;
- }GetAllServiceConf_T;
- typedef struct
- {
- INT8U ServiceCnt;
- GetAllServiceConf_T ServiceInfo [MAX_SERVICES];
- }GetServiceInfo_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetServiceConfRes_T;
- /*
- * DNS related struct
- */
- typedef struct
- {
- INT8U DomainDHCP;
- INT8U DomainIndex;
- INT8U Domainpriority;
- INT8U DomainLen;
- }PACKED DomainSetting;
- typedef struct
- {
- INT8U DNSDHCP;
- INT8U DNSIndex;
- INT8U IPPriority;
- }PACKED DNSSetting;
- typedef union
- {
- HOSTNAMECONF HName;
- INT8U RegDNSConf[MAX_LAN_CHANNEL];
- INT8U PrivateKey[MAX_TSIG_PRIVKEY_SIZE];
- DomainSetting DomainConf;
- INT8U DomainName[MAX_DOMAIN_BLOCK_SIZE];
- DNSSetting DNSConf;
- INT8U DNSIPAddr[IP6_ADDR_LEN];
- INT8U DNSEnable;
- } DNSConf_T;
- typedef struct
- {
- INT8U ParamSelect;
- INT8U Blockselector;
- DNSConf_T DnsConfig;
- }PACKED AMISetDNSConfReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetDNSConfRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- DNSConf_T DNSCfg;
- }PACKED AMIGetDNSConfRes_T;
- typedef struct
- {
- INT8U Param;
- INT8U Blockselect;
- }PACKED AMIGetDNSConfReq_T;
- /*
- * LinkDown Resilent struct
- */
- typedef struct
- {
- INT8U LinkDownEnable;
- }PACKED AMILinkDownResilentReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U LinkEnableStatus;
- }PACKED AMILinkDownResilentRes_T;
- typedef struct
- {
- INT8U EthIndex;
- INT8U EnableState;
- /* EnableState - Bit 0 is represented IPv4 and Bit 1 is represented IPv6,
- * this byte will be ignored if the command is the "get" command.
- * DISABLE_V4_V6 (0x00) - Disable IPv4 and IPv6
- * ENABLE_V4 (0x01) - Enable IPv4 only
- * ENABLE_V6 (0x02) - Enable IPv6 only is not allowed
- * ENABLE_V4_V6 (0x03) - Enable IPv4 and IPv6
- */
- }PACKED EthIfaceState;
- typedef struct
- {
- INT8U Count;
- INT8U EthIndex[MAX_LAN_CHANNEL];
- }PACKED LANIfcCount_T;
- typedef struct
- {
- INT8U Channel;
- }PACKED GetIfcChannel_T;
- typedef struct
- {
- char IfcName[MAX_IFACE_NAME];
- }PACKED GetIfcName_T;
- typedef struct
- {
- INT8U Enabled;
- INT8U BondIndex;
- }PACKED BondEnabled_T;
- typedef struct
- {
- INT8U BondIndex;
- INT8U ActiveIndex;
- }PACKED ActiveSlave_T;
- typedef struct
- {
- INT8U Enabled;
- }PACKED BondVLAN_T;
- typedef union
- {
- EthIfaceState EthIface;
- BondIface BondIface;
- BondEnabled_T BondEnable;
- LANIfcCount_T LANCount;
- GetIfcChannel_T IfcChannel;
- GetIfcName_T IfcName;
- ActiveSlave_T ActiveSlave;
- BondVLAN_T BondVLAN;
- }PACKED IfaceConfigFn;
- /*
- * Network Interface Enable/Disable struct
- */
- typedef struct
- {
- INT8U Params;
- IfaceConfigFn ConfigData;
- }PACKED AMISetIfaceStateReq_T;
- typedef struct
- {
- INT8U Params;
- INT8U SetSelect;
- INT8U BlockSelect;
- }PACKED AMIGetIfaceStateReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetIfaceStateRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- IfaceConfigFn ConfigData;
-
- }PACKED AMIGetIfaceStateRes_T;
- /*---------------- Function Definitions for Firewall Command Implementation ---------------------*/
- typedef struct
- {
- INT8U Param;
- INT8U State;
- FirewallConfUn_T CMD_INFO;
-
- } PACKED AMISetFirewallReq_T;
- typedef struct
- {
- INT8U CompletionCode;
-
- } PACKED AMISetFirewallRes_T;
- typedef struct
- {
- INT8U Param;
- INT8U EntryNo;
-
- } PACKED AMIGetFirewallReq_T;
- typedef struct
- {
- INT8U CompletionCode;
-
- }PACKED GetFWCC_T;
- typedef union
- {
- INT8U TotalCount;
- INT8U IsBlockAll;
- GetFirewallConf_T Info;
-
- } GetFirewallConfUn_T;
- typedef struct
- {
- GetFWCC_T CCParam;
- GetFirewallConfUn_T FWInfo;
- }PACKED AMIGetFirewallRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U IPMISessionTimeOut;
- }PACKED AMIGetIPMISessionTimeOutRes_T;
- /*------------------------------- End of Firewall Command Declarations -------------------------*/
- //SNMP:
- /*
- * SNMP related struct
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U UserID;
- INT8U snmp_enable;
- INT8U snmp_access_type;
- INT8U snmp_enc_type_1;
- INT8U snmp_enc_type_2;
-
- }PACKED AMIGetSNMPConfRes_T;
- typedef struct
- {
- INT8U UserID;
-
- }PACKED AMIGetSNMPConfReq_T;
- typedef struct
- {
- INT8U UserID;
- INT8U snmp_enable;
- INT8U snmp_access_type;
- INT8U snmp_enc_type_1;
- INT8U snmp_enc_type_2;
- }PACKED AMISetSNMPConfReq_T;
- typedef struct
- {
- INT8U CompletionCode;
-
- }PACKED AMISetSNMPConfRes_T;
- /*
- * AMIGetSELPolicyRes_T
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U SELPolicy;
- } PACKED AMIGetSELPolicyRes_T;
- /*
- * AMISetSELPolicyReq_T
- */
- typedef struct
- {
- INT8U SELPolicy;
- } PACKED AMISetSELPolicyReq_T;
- /*
- * AMISetSELPolicyRes_T
- */
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetSELPolicyRes_T;
- typedef struct
- {
- INT8U ServiceName;
- INT8U SleepSeconds;
- }PACKED RestartService_T;
- typedef struct
- {
- INT32U Noofentretrieved;
- }PACKED AMIGetSELEntriesReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT32U Noofentries;
- INT16U LastRecID;
- INT8U Status;
- }PACKED AMIGetSELEntriesRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT16U Noofentries;
- }PACKED AMIGetSensorInfoRes_T;
- typedef struct
- {
- SDRRecHdr_T hdr;
- INT8U OwnerID;
- INT8U OwnerLUN;
- INT8U SensorNumber;
- INT8U SensorReading;
- INT8U MaxReading;
- INT8U MinReading;
- INT8U Flags;
- INT8U ComparisonStatus;
- INT8U OptionalStatus;
- INT8U SensorTypeCode;
- INT8U EventTypeCode;
- INT8U Units1;
- INT8U Units2;
- INT8U Units3;
- INT8U Linearization;
- INT8U M_LSB;
- INT8U M_MSB_Tolerance;
- INT8U B_LSB;
- INT8U B_MSB_Accuracy;
- INT8U Accuracy_MSB_Exp;
- INT8U RExp_BExp;
- INT8U LowerNonCritical;
- INT8U LowerCritical;
- INT8U LowerNonRecoverable;
- INT8U UpperNonCritical;
- INT8U UpperCritical;
- INT8U UpperNonRecoverable;
- INT8U AssertionEventByte1;
- INT8U AssertionEventByte2;
- INT8U DeassertionEventByte1;
- INT8U DeassertionEventByte2;
- INT8S SensorName[MAX_ID_STR_LEN];
- INT16U Settable_Readable_ThreshMask;
- }PACKED SenInfo_T;
- typedef struct
- {
- INT8U SessionIPAddr[IP6_ADDR_LEN];
- }PACKED AMIGetUDSInfoReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U ChannelNum;
- INT8U ChannelType;
- INT8U BMCInstance;
- }PACKED AMIGetUDSInfoRes_T;
- typedef struct
- {
- INT8U MaxAllowedSession;
- INT8U ActiveSessionCount;
- }PACKED UDSSessionCount_T;
- typedef struct
- {
- INT32U LoggedInSessionID;
- INT8U LoggedInSessionHandle;
- INT8U LoggedInUserID;
- INT8U LoggedInPrivilege;
- INT32U LoggedInTime;
- INT8U UDSChannelNum;
- INT8U ChannelNum;
- INT32U SessionTimeoutValue;
- INT8U AuthenticationMechanism;
- }PACKED UDSLoggedInSessionInfo_T;
- typedef struct
- {
- INT32U ProcessID;
- INT32U ThreadID;
- } PACKED UDSSessionPIDInfo_T;
- typedef union
- {
- UDSSessionCount_T UDSSessionCountInfo;
- UDSLoggedInSessionInfo_T UDSLoggedInSessionInfo;
- UDSSessionPIDInfo_T UDSSessionPIDInfo;
- }PACKED UDSLoggedInInfoUn_T;
- typedef struct
- {
- INT8U UDSSessionParam;
- INT8U UDSSessionHandleOrIDOrIndex[4];
- } PACKED AMIGetUDSSessionInfoReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- UDSLoggedInInfoUn_T UDSLoggedInInfo;
- } PACKED AMIGetUDSSessionInfoRes_T;
- /*
- * RIS related struct
- */
- #define MAX_IMAGE_NAME_LEN 256
- #define MAX_IMAGE_PATH_SIZE 256
- #define MAX_IP_ADDR_LEN 63
- #define MAX_RMS_USERNAME_LEN 256
- #define MAX_RMS_PASSWORD_LEN 32
- #define MAX_SHARE_TYPE_LEN 6
- #define MAX_DOMAIN_LEN 256
- //GET
- typedef union
- {
- INT8S ImageName[MAX_DOMAIN_BLOCK_SIZE + 1]; /* Image name */
- INT8S MountPath[MAX_DOMAIN_BLOCK_SIZE+ 1]; /* Mount Path */
- INT8S RemoteIP[MAX_IP_ADDR_LEN + 1]; /* Remote machine IP address */
- INT8S UserName[MAX_DOMAIN_BLOCK_SIZE + 1];/* Remote machine User Name */
- INT8S Password[MAX_RMS_PASSWORD_LEN + 1]; /* Remote machine Password*/
- INT8S ShareType[MAX_SHARE_TYPE_LEN + 1];/* Remote Share type*/
- INT8S Domain[MAX_DOMAIN_BLOCK_SIZE+ 1] ; /* Remote machine Domain Name*/
- INT8U ProgressBit;
- } RISConfig_T;
- typedef struct
- {
- INT8U MediaType;
- INT8U ParameterSelect;
- } PACKED AMIGetRISConfReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U MediaType;
- INT8U ParameterSelect;
- RISConfig_T Config;
- } PACKED AMIGetRISConfRes_T;
- //SET
- typedef struct
- {
- INT8U MediaType;
- INT8U ParameterSelect;
- INT8U Blockselector;
- RISConfig_T config;
-
- } PACKED AMISetRISConfReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetRISConfRes_T;
- //START/STOP
- typedef struct
- {
- INT8U MediaType;
- INT8U ParameterSelect;
- } PACKED AMIRISStartStopReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIRISStartStopRes_T;
- /*
- * AMIControlDebugMsgReq_T
- */
- typedef struct
- {
- INT8U CtrlDebugMsg;
- }PACKED AMIControlDebugMsgReq_T;
- /*
- * AMIControlDebugMsgRes_T
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U DebugMsgStatus;
- }PACKED AMIControlDebugMsgRes_T;
- /*
- * AMIGetDebugMsgStatusRes_T
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U DebugMsgStatus;
- }PACKED AMIGetDebugMsgStatusRes_T;
- /**
- * @struct AMIGetExtendedPrivReq_T
- * @brief get user extended previlege value
- */
- typedef struct
- {
- INT8U UserID;
- }PACKED AMIGetExtendedPrivReq_T;
- /**
- * @struct AMIGetExtendedPrivRes_T
- * @brief get user extended privilege field
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT32U Extendedpriv;
- }PACKED AMIGetExtendedPrivRes_T;
- /**
- * @struct AMISetExtendedPrivReq_T
- * @brief set user extended privilege field
- */
- typedef struct
- {
- INT8U UserID;
- INT32U Extendedpriv;
- }PACKED AMISetExtendedPrivReq_T;
- /**
- * @struct AMIGetHostLockStatusRes_T
- * @brief get Host Monitor Lock Status
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U LockStatus;
- }PACKED AMIGetHostAutoLockStatusRes_T;
- /**
- * @struct AMISetHostLockStatusReq_T
- * @brief set Host Monitor Lock Status
- */
- typedef struct
- {
- INT8U LockStatus;
- }PACKED AMISetHostAutoLockStatusReq_T;
- /**
- * @struct AMISetHostLockStatusReq_T
- * @brief set Host Monitor Lock Status
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetHostAutoLockStatusRes_T;
- /**
- * @struct AMIGetHostLockFeatureStatusRes_T
- * @brief get Host Monitor Lock Feature Status
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U LockFeatureStatus;
- }PACKED AMIGetHostLockFeatureStatusRes_T;
- /**
- * @struct AMISetHostLockFeatureStatusReq_T
- * @brief set Host Monitor Lock Feature Status
- */
- typedef struct
- {
- INT8U LockFeatureStatus;
- }PACKED AMISetHostLockFeatureStatusReq_T;
- /**
- * @struct AMISetHostLockStatusReq_T
- * @brief set Host Monitor Lock Status
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetHostLockFeatureStatusRes_T;
- typedef struct
- {
- INT8U ChannelNumber;
- }PACKED AMIGetChannelTypeReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U ChannelNumber;
- INT8U ChannelType;
- }PACKED AMIGetChannelTypeRes_T;
- #pragma pack ()
- #endif //__IPMI_AMICONF_H__
|