IPMI_AMIConf.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737
  1. /*****************************************************************
  2. ******************************************************************
  3. *** ***
  4. *** (C)Copyright 2010, American Megatrends Inc. ***
  5. *** ***
  6. *** All Rights Reserved ***
  7. *** ***
  8. *** 5555 Oakbrook Parkway, Norcross, GA 30093, USA ***
  9. *** ***
  10. *** Phone 770.246.8600 ***
  11. *** ***
  12. ******************************************************************
  13. ******************************************************************
  14. ******************************************************************
  15. *
  16. * IPMI_AMIConf.h
  17. * AMI specific configuration commands
  18. *
  19. * Author: Benson Chuang <bensonchuang@ami.com.tw>
  20. *
  21. ******************************************************************/
  22. #ifndef __IPMI_AMICONF_H__
  23. #define __IPMI_AMICONF_H__
  24. #include <Types.h>
  25. #include "nwcfg.h"
  26. #include "Iptables.h"
  27. #include "IPMI_LANConfig.h"
  28. #include "IPMI_AppDevice.h"
  29. //#include "IPMI_SDRRecord.h"
  30. /* Network Interface EnableState */
  31. #define DISABLE_V4_V6 0x00
  32. #define ENABLE_V4 0x01
  33. #define ENABLE_V6 0x02
  34. #define ENABLE_V4_V6 0x03
  35. #define GET_CMD_MODE 0x00
  36. #define SET_CMD_MODE 0x01
  37. #define AMI_IFACE_STATE_ETH 0x00
  38. #define AMI_IFACE_STATE_BOND 0x01
  39. #define AMI_IFACE_BOND_ENABLED 0x02
  40. #define AMI_GET_IFACE_COUNT 0x03
  41. #define AMI_GET_IFACE_CHANNEL 0x04
  42. #define AMI_GET_IFACE_NAME 0x05
  43. #define AMI_BOND_ACTIVE_SLAVE 0x06
  44. #define AMI_BOND_VLAN_ENABLED 0x07
  45. #define MAX_SERVICES 7
  46. #define SERVICE_NAME_SIZE 16
  47. #define MAX_LAN_CHANNEL 0x05
  48. #define MAX_IFACE_NAME 16
  49. #define FULL_SEL_ENTRIES 0xFF
  50. #define PARTIAL_SEL_ENTRIES 0x00
  51. #define SEL_EMPTY_REPOSITORY 0x00
  52. #define THRESHOLD_RESERVED_BIT 0xC0
  53. #define DISCRETE_RESERVED_BIT 0x80
  54. #define AMI_DNS_CONF_HOST_NAME 0x01
  55. #define AMI_DNS_CONF_REGISTER 0x02
  56. #define AMI_DNS_CONF_DOMAIN_SETTINGS 0x03
  57. #define AMI_DNS_CONF_DOMAIN_NAME 0x04
  58. #define AMI_DNS_CONF_DNS_SETTING 0x05
  59. #define AMI_DNS_CONF_DNS_IP 0x06
  60. #define AMI_DNS_CONF_DNS_RESTART 0x07
  61. #define AMI_DNS_CONF_TSIG_UPLOAD 0x08
  62. #define AMI_DNS_CONF_DNS_ENABLE 0x09
  63. #define MAX_DNS_IP_ADDRESS 0x03
  64. #define MAX_DOMAIN_BLOCK_SIZE 64
  65. #define MAX_BLOCK 0x04
  66. #pragma pack (1)
  67. #define MAX_BOND_IFACE_SLAVES 4
  68. #define DEFAULT_MII_INTERVAL 100
  69. //Host loack feature
  70. #define HOSTUNLOCK_CMD 0x00
  71. #define HOSTLOCK_CMD 0x01
  72. #define HLENABLED 0x1
  73. #define HLDISABLED 0x0
  74. /*
  75. * Service related struct
  76. */
  77. #define MAX_SERVICE_IFACE_NAME_SIZE 16
  78. //GET
  79. typedef struct
  80. {
  81. INT32U ServiceID;
  82. } PACKED AMIGetServiceConfReq_T;
  83. typedef struct
  84. {
  85. INT8U CompletionCode;
  86. INT32U ServiceID;
  87. INT8U Enable;
  88. /* The following fields are meaningful only when the service is enabled */
  89. INT8S InterfaceName[MAX_SERVICE_IFACE_NAME_SIZE + 1]; /* Interface name */
  90. INT32U NonSecureAccessPort; /* Non-secure access port number */
  91. INT32U SecureAccessPort; /* Secure access port number */
  92. INTU SessionInactivityTimeout; /* Service session inactivity yimeout in seconds*/
  93. INT8U MaxAllowSession; /* Maximum allowed simultaneous sessions */
  94. INT8U CurrentActiveSession; /* Number of current active sessions */
  95. INTU MinSessionInactivityTimeout; /*Min Allowed value for Session timeout in sec*/
  96. INTU MaxSessionInactivityTimeout; /*Max Allowed value for Session timeout in sec*/
  97. } PACKED AMIGetServiceConfRes_T;
  98. //SET
  99. typedef struct
  100. {
  101. INT32U ServiceID;
  102. INT8U Enable;
  103. /* The following fields are meaningful only when the service is enabled */
  104. INT8S InterfaceName[MAX_SERVICE_IFACE_NAME_SIZE + 1]; /* Interface name */
  105. INT32U NonSecureAccessPort; /* Non-secure access port number */
  106. INT32U SecureAccessPort; /* Secure access port number */
  107. INTU SessionInactivityTimeout; /* Service session inactivity yimeout in seconds*/
  108. INT8U MaxAllowSession; /* Maximum allowed simultaneous sessions */
  109. INT8U CurrentActiveSession; /* Number of current active sessions */
  110. } PACKED AMISetServiceConfReq_T;
  111. typedef struct
  112. {
  113. INT8S ServiceName [SERVICE_NAME_SIZE]; /* Service name */
  114. AMIGetServiceConfRes_T GetAllSeviceCfg;
  115. }GetAllServiceConf_T;
  116. typedef struct
  117. {
  118. INT8U ServiceCnt;
  119. GetAllServiceConf_T ServiceInfo [MAX_SERVICES];
  120. }GetServiceInfo_T;
  121. typedef struct
  122. {
  123. INT8U CompletionCode;
  124. } PACKED AMISetServiceConfRes_T;
  125. /*
  126. * DNS related struct
  127. */
  128. typedef struct
  129. {
  130. INT8U DomainDHCP;
  131. INT8U DomainIndex;
  132. INT8U Domainpriority;
  133. INT8U DomainLen;
  134. }PACKED DomainSetting;
  135. typedef struct
  136. {
  137. INT8U DNSDHCP;
  138. INT8U DNSIndex;
  139. INT8U IPPriority;
  140. }PACKED DNSSetting;
  141. typedef union
  142. {
  143. HOSTNAMECONF HName;
  144. INT8U RegDNSConf[MAX_LAN_CHANNEL];
  145. INT8U PrivateKey[MAX_TSIG_PRIVKEY_SIZE];
  146. DomainSetting DomainConf;
  147. INT8U DomainName[MAX_DOMAIN_BLOCK_SIZE];
  148. DNSSetting DNSConf;
  149. INT8U DNSIPAddr[IP6_ADDR_LEN];
  150. INT8U DNSEnable;
  151. } DNSConf_T;
  152. typedef struct
  153. {
  154. INT8U ParamSelect;
  155. INT8U Blockselector;
  156. DNSConf_T DnsConfig;
  157. }PACKED AMISetDNSConfReq_T;
  158. typedef struct
  159. {
  160. INT8U CompletionCode;
  161. }PACKED AMISetDNSConfRes_T;
  162. typedef struct
  163. {
  164. INT8U CompletionCode;
  165. DNSConf_T DNSCfg;
  166. }PACKED AMIGetDNSConfRes_T;
  167. typedef struct
  168. {
  169. INT8U Param;
  170. INT8U Blockselect;
  171. }PACKED AMIGetDNSConfReq_T;
  172. /*
  173. * LinkDown Resilent struct
  174. */
  175. typedef struct
  176. {
  177. INT8U LinkDownEnable;
  178. }PACKED AMILinkDownResilentReq_T;
  179. typedef struct
  180. {
  181. INT8U CompletionCode;
  182. INT8U LinkEnableStatus;
  183. }PACKED AMILinkDownResilentRes_T;
  184. typedef struct
  185. {
  186. INT8U EthIndex;
  187. INT8U EnableState;
  188. /* EnableState - Bit 0 is represented IPv4 and Bit 1 is represented IPv6,
  189. * this byte will be ignored if the command is the "get" command.
  190. * DISABLE_V4_V6 (0x00) - Disable IPv4 and IPv6
  191. * ENABLE_V4 (0x01) - Enable IPv4 only
  192. * ENABLE_V6 (0x02) - Enable IPv6 only is not allowed
  193. * ENABLE_V4_V6 (0x03) - Enable IPv4 and IPv6
  194. */
  195. }PACKED EthIfaceState;
  196. typedef struct
  197. {
  198. INT8U Count;
  199. INT8U EthIndex[MAX_LAN_CHANNEL];
  200. }PACKED LANIfcCount_T;
  201. typedef struct
  202. {
  203. INT8U Channel;
  204. }PACKED GetIfcChannel_T;
  205. typedef struct
  206. {
  207. char IfcName[MAX_IFACE_NAME];
  208. }PACKED GetIfcName_T;
  209. typedef struct
  210. {
  211. INT8U Enabled;
  212. INT8U BondIndex;
  213. }PACKED BondEnabled_T;
  214. typedef struct
  215. {
  216. INT8U BondIndex;
  217. INT8U ActiveIndex;
  218. }PACKED ActiveSlave_T;
  219. typedef struct
  220. {
  221. INT8U Enabled;
  222. }PACKED BondVLAN_T;
  223. typedef union
  224. {
  225. EthIfaceState EthIface;
  226. BondIface BondIface;
  227. BondEnabled_T BondEnable;
  228. LANIfcCount_T LANCount;
  229. GetIfcChannel_T IfcChannel;
  230. GetIfcName_T IfcName;
  231. ActiveSlave_T ActiveSlave;
  232. BondVLAN_T BondVLAN;
  233. }PACKED IfaceConfigFn;
  234. /*
  235. * Network Interface Enable/Disable struct
  236. */
  237. typedef struct
  238. {
  239. INT8U Params;
  240. IfaceConfigFn ConfigData;
  241. }PACKED AMISetIfaceStateReq_T;
  242. typedef struct
  243. {
  244. INT8U Params;
  245. INT8U SetSelect;
  246. INT8U BlockSelect;
  247. }PACKED AMIGetIfaceStateReq_T;
  248. typedef struct
  249. {
  250. INT8U CompletionCode;
  251. }PACKED AMISetIfaceStateRes_T;
  252. typedef struct
  253. {
  254. INT8U CompletionCode;
  255. IfaceConfigFn ConfigData;
  256. }PACKED AMIGetIfaceStateRes_T;
  257. /*---------------- Function Definitions for Firewall Command Implementation ---------------------*/
  258. typedef struct
  259. {
  260. INT8U Param;
  261. INT8U State;
  262. FirewallConfUn_T CMD_INFO;
  263. } PACKED AMISetFirewallReq_T;
  264. typedef struct
  265. {
  266. INT8U CompletionCode;
  267. } PACKED AMISetFirewallRes_T;
  268. typedef struct
  269. {
  270. INT8U Param;
  271. INT8U EntryNo;
  272. } PACKED AMIGetFirewallReq_T;
  273. typedef struct
  274. {
  275. INT8U CompletionCode;
  276. }PACKED GetFWCC_T;
  277. typedef union
  278. {
  279. INT8U TotalCount;
  280. INT8U IsBlockAll;
  281. GetFirewallConf_T Info;
  282. } GetFirewallConfUn_T;
  283. typedef struct
  284. {
  285. GetFWCC_T CCParam;
  286. GetFirewallConfUn_T FWInfo;
  287. }PACKED AMIGetFirewallRes_T;
  288. typedef struct
  289. {
  290. INT8U CompletionCode;
  291. INT8U IPMISessionTimeOut;
  292. }PACKED AMIGetIPMISessionTimeOutRes_T;
  293. /*------------------------------- End of Firewall Command Declarations -------------------------*/
  294. //SNMP:
  295. /*
  296. * SNMP related struct
  297. */
  298. typedef struct
  299. {
  300. INT8U CompletionCode;
  301. INT8U UserID;
  302. INT8U snmp_enable;
  303. INT8U snmp_access_type;
  304. INT8U snmp_enc_type_1;
  305. INT8U snmp_enc_type_2;
  306. }PACKED AMIGetSNMPConfRes_T;
  307. typedef struct
  308. {
  309. INT8U UserID;
  310. }PACKED AMIGetSNMPConfReq_T;
  311. typedef struct
  312. {
  313. INT8U UserID;
  314. INT8U snmp_enable;
  315. INT8U snmp_access_type;
  316. INT8U snmp_enc_type_1;
  317. INT8U snmp_enc_type_2;
  318. }PACKED AMISetSNMPConfReq_T;
  319. typedef struct
  320. {
  321. INT8U CompletionCode;
  322. }PACKED AMISetSNMPConfRes_T;
  323. /*
  324. * AMIGetSELPolicyRes_T
  325. */
  326. typedef struct
  327. {
  328. INT8U CompletionCode;
  329. INT8U SELPolicy;
  330. } PACKED AMIGetSELPolicyRes_T;
  331. /*
  332. * AMISetSELPolicyReq_T
  333. */
  334. typedef struct
  335. {
  336. INT8U SELPolicy;
  337. } PACKED AMISetSELPolicyReq_T;
  338. /*
  339. * AMISetSELPolicyRes_T
  340. */
  341. typedef struct
  342. {
  343. INT8U CompletionCode;
  344. } PACKED AMISetSELPolicyRes_T;
  345. typedef struct
  346. {
  347. INT8U ServiceName;
  348. INT8U SleepSeconds;
  349. }PACKED RestartService_T;
  350. typedef struct
  351. {
  352. INT32U Noofentretrieved;
  353. }PACKED AMIGetSELEntriesReq_T;
  354. typedef struct
  355. {
  356. INT8U CompletionCode;
  357. INT32U Noofentries;
  358. INT16U LastRecID;
  359. INT8U Status;
  360. }PACKED AMIGetSELEntriesRes_T;
  361. typedef struct
  362. {
  363. INT8U CompletionCode;
  364. INT16U Noofentries;
  365. }PACKED AMIGetSensorInfoRes_T;
  366. typedef struct
  367. {
  368. SDRRecHdr_T hdr;
  369. INT8U OwnerID;
  370. INT8U OwnerLUN;
  371. INT8U SensorNumber;
  372. INT8U SensorReading;
  373. INT8U MaxReading;
  374. INT8U MinReading;
  375. INT8U Flags;
  376. INT8U ComparisonStatus;
  377. INT8U OptionalStatus;
  378. INT8U SensorTypeCode;
  379. INT8U EventTypeCode;
  380. INT8U Units1;
  381. INT8U Units2;
  382. INT8U Units3;
  383. INT8U Linearization;
  384. INT8U M_LSB;
  385. INT8U M_MSB_Tolerance;
  386. INT8U B_LSB;
  387. INT8U B_MSB_Accuracy;
  388. INT8U Accuracy_MSB_Exp;
  389. INT8U RExp_BExp;
  390. INT8U LowerNonCritical;
  391. INT8U LowerCritical;
  392. INT8U LowerNonRecoverable;
  393. INT8U UpperNonCritical;
  394. INT8U UpperCritical;
  395. INT8U UpperNonRecoverable;
  396. INT8U AssertionEventByte1;
  397. INT8U AssertionEventByte2;
  398. INT8U DeassertionEventByte1;
  399. INT8U DeassertionEventByte2;
  400. INT8S SensorName[MAX_ID_STR_LEN];
  401. INT16U Settable_Readable_ThreshMask;
  402. }PACKED SenInfo_T;
  403. typedef struct
  404. {
  405. INT8U SessionIPAddr[IP6_ADDR_LEN];
  406. }PACKED AMIGetUDSInfoReq_T;
  407. typedef struct
  408. {
  409. INT8U CompletionCode;
  410. INT8U ChannelNum;
  411. INT8U ChannelType;
  412. INT8U BMCInstance;
  413. }PACKED AMIGetUDSInfoRes_T;
  414. typedef struct
  415. {
  416. INT8U MaxAllowedSession;
  417. INT8U ActiveSessionCount;
  418. }PACKED UDSSessionCount_T;
  419. typedef struct
  420. {
  421. INT32U LoggedInSessionID;
  422. INT8U LoggedInSessionHandle;
  423. INT8U LoggedInUserID;
  424. INT8U LoggedInPrivilege;
  425. INT32U LoggedInTime;
  426. INT8U UDSChannelNum;
  427. INT8U ChannelNum;
  428. INT32U SessionTimeoutValue;
  429. INT8U AuthenticationMechanism;
  430. }PACKED UDSLoggedInSessionInfo_T;
  431. typedef struct
  432. {
  433. INT32U ProcessID;
  434. INT32U ThreadID;
  435. } PACKED UDSSessionPIDInfo_T;
  436. typedef union
  437. {
  438. UDSSessionCount_T UDSSessionCountInfo;
  439. UDSLoggedInSessionInfo_T UDSLoggedInSessionInfo;
  440. UDSSessionPIDInfo_T UDSSessionPIDInfo;
  441. }PACKED UDSLoggedInInfoUn_T;
  442. typedef struct
  443. {
  444. INT8U UDSSessionParam;
  445. INT8U UDSSessionHandleOrIDOrIndex[4];
  446. } PACKED AMIGetUDSSessionInfoReq_T;
  447. typedef struct
  448. {
  449. INT8U CompletionCode;
  450. UDSLoggedInInfoUn_T UDSLoggedInInfo;
  451. } PACKED AMIGetUDSSessionInfoRes_T;
  452. /*
  453. * RIS related struct
  454. */
  455. #define MAX_IMAGE_NAME_LEN 256
  456. #define MAX_IMAGE_PATH_SIZE 256
  457. #define MAX_IP_ADDR_LEN 63
  458. #define MAX_RMS_USERNAME_LEN 256
  459. #define MAX_RMS_PASSWORD_LEN 32
  460. #define MAX_SHARE_TYPE_LEN 6
  461. #define MAX_DOMAIN_LEN 256
  462. //GET
  463. typedef union
  464. {
  465. INT8S ImageName[MAX_DOMAIN_BLOCK_SIZE + 1]; /* Image name */
  466. INT8S MountPath[MAX_DOMAIN_BLOCK_SIZE+ 1]; /* Mount Path */
  467. INT8S RemoteIP[MAX_IP_ADDR_LEN + 1]; /* Remote machine IP address */
  468. INT8S UserName[MAX_DOMAIN_BLOCK_SIZE + 1];/* Remote machine User Name */
  469. INT8S Password[MAX_RMS_PASSWORD_LEN + 1]; /* Remote machine Password*/
  470. INT8S ShareType[MAX_SHARE_TYPE_LEN + 1];/* Remote Share type*/
  471. INT8S Domain[MAX_DOMAIN_BLOCK_SIZE+ 1] ; /* Remote machine Domain Name*/
  472. INT8U ProgressBit;
  473. } RISConfig_T;
  474. typedef struct
  475. {
  476. INT8U MediaType;
  477. INT8U ParameterSelect;
  478. } PACKED AMIGetRISConfReq_T;
  479. typedef struct
  480. {
  481. INT8U CompletionCode;
  482. INT8U MediaType;
  483. INT8U ParameterSelect;
  484. RISConfig_T Config;
  485. } PACKED AMIGetRISConfRes_T;
  486. //SET
  487. typedef struct
  488. {
  489. INT8U MediaType;
  490. INT8U ParameterSelect;
  491. INT8U Blockselector;
  492. RISConfig_T config;
  493. } PACKED AMISetRISConfReq_T;
  494. typedef struct
  495. {
  496. INT8U CompletionCode;
  497. } PACKED AMISetRISConfRes_T;
  498. //START/STOP
  499. typedef struct
  500. {
  501. INT8U MediaType;
  502. INT8U ParameterSelect;
  503. } PACKED AMIRISStartStopReq_T;
  504. typedef struct
  505. {
  506. INT8U CompletionCode;
  507. } PACKED AMIRISStartStopRes_T;
  508. /*
  509. * AMIControlDebugMsgReq_T
  510. */
  511. typedef struct
  512. {
  513. INT8U CtrlDebugMsg;
  514. }PACKED AMIControlDebugMsgReq_T;
  515. /*
  516. * AMIControlDebugMsgRes_T
  517. */
  518. typedef struct
  519. {
  520. INT8U CompletionCode;
  521. INT8U DebugMsgStatus;
  522. }PACKED AMIControlDebugMsgRes_T;
  523. /*
  524. * AMIGetDebugMsgStatusRes_T
  525. */
  526. typedef struct
  527. {
  528. INT8U CompletionCode;
  529. INT8U DebugMsgStatus;
  530. }PACKED AMIGetDebugMsgStatusRes_T;
  531. /**
  532. * @struct AMIGetExtendedPrivReq_T
  533. * @brief get user extended previlege value
  534. */
  535. typedef struct
  536. {
  537. INT8U UserID;
  538. }PACKED AMIGetExtendedPrivReq_T;
  539. /**
  540. * @struct AMIGetExtendedPrivRes_T
  541. * @brief get user extended privilege field
  542. */
  543. typedef struct
  544. {
  545. INT8U CompletionCode;
  546. INT32U Extendedpriv;
  547. }PACKED AMIGetExtendedPrivRes_T;
  548. /**
  549. * @struct AMISetExtendedPrivReq_T
  550. * @brief set user extended privilege field
  551. */
  552. typedef struct
  553. {
  554. INT8U UserID;
  555. INT32U Extendedpriv;
  556. }PACKED AMISetExtendedPrivReq_T;
  557. /**
  558. * @struct AMIGetHostLockStatusRes_T
  559. * @brief get Host Monitor Lock Status
  560. */
  561. typedef struct
  562. {
  563. INT8U CompletionCode;
  564. INT8U LockStatus;
  565. }PACKED AMIGetHostAutoLockStatusRes_T;
  566. /**
  567. * @struct AMISetHostLockStatusReq_T
  568. * @brief set Host Monitor Lock Status
  569. */
  570. typedef struct
  571. {
  572. INT8U LockStatus;
  573. }PACKED AMISetHostAutoLockStatusReq_T;
  574. /**
  575. * @struct AMISetHostLockStatusReq_T
  576. * @brief set Host Monitor Lock Status
  577. */
  578. typedef struct
  579. {
  580. INT8U CompletionCode;
  581. }PACKED AMISetHostAutoLockStatusRes_T;
  582. /**
  583. * @struct AMIGetHostLockFeatureStatusRes_T
  584. * @brief get Host Monitor Lock Feature Status
  585. */
  586. typedef struct
  587. {
  588. INT8U CompletionCode;
  589. INT8U LockFeatureStatus;
  590. }PACKED AMIGetHostLockFeatureStatusRes_T;
  591. /**
  592. * @struct AMISetHostLockFeatureStatusReq_T
  593. * @brief set Host Monitor Lock Feature Status
  594. */
  595. typedef struct
  596. {
  597. INT8U LockFeatureStatus;
  598. }PACKED AMISetHostLockFeatureStatusReq_T;
  599. /**
  600. * @struct AMISetHostLockStatusReq_T
  601. * @brief set Host Monitor Lock Status
  602. */
  603. typedef struct
  604. {
  605. INT8U CompletionCode;
  606. }PACKED AMISetHostLockFeatureStatusRes_T;
  607. typedef struct
  608. {
  609. INT8U ChannelNumber;
  610. }PACKED AMIGetChannelTypeReq_T;
  611. typedef struct
  612. {
  613. INT8U CompletionCode;
  614. INT8U ChannelNumber;
  615. INT8U ChannelType;
  616. }PACKED AMIGetChannelTypeRes_T;
  617. #pragma pack ()
  618. #endif //__IPMI_AMICONF_H__