PMConfig.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852
  1. /*****************************************************************
  2. *****************************************************************
  3. *** **
  4. *** (C)Copyright 2005-2006, American Megatrends Inc. **
  5. *** **
  6. *** All Rights Reserved. **
  7. *** **
  8. *** 6145-F, Northbelt Parkway, Norcross, **
  9. *** **
  10. *** Georgia - 30071, USA. Phone-(770)-246-8600. **
  11. *** **
  12. *****************************************************************
  13. *****************************************************************
  14. ******************************************************************
  15. *
  16. * PMConfig.h
  17. * Platform management configuration structures
  18. *
  19. * Author: Govind Kothandapani <govindk@ami.com>
  20. * Basavaraj Astekar <basavaraja@ami.com>
  21. * Ravinder Reddy <bakkar@ami.com>
  22. ******************************************************************/
  23. #ifndef PMCONFIG_H
  24. #define PMCONFIG_H
  25. //#include "Support.h"
  26. //#include "IPMI_PEF.h"
  27. #include "com_IPMI_AppDevice.h"
  28. //#include "OemDefs.h"
  29. //#include "IPMI_LANConfig.h"
  30. //#include "IPMI_ChassisDevice.h"
  31. #include <stdint.h>
  32. /*** External Definitions ***/
  33. #define MAX_PRIVILEGE_TYPES 7
  34. #define MAX_CHFILE_NAME 50
  35. #define MAX_EVT_FILTER_ENTRIES 40
  36. #define ALERT_POLICY_SET_SIZE 4
  37. #define ALERT_POLICY_PER_CHANNEL 15
  38. #define LAN_DESTINATIONS_PER_CHANNEL 15
  39. #define NUM_LAN_DESTINATION LAN_DESTINATIONS_PER_CHANNEL
  40. #define MAX_ALERT_POLICY_ENTRIES (ALERT_POLICY_PER_CHANNEL * 4)
  41. //Added to Support 20 Alert Strings in Set/Get Pef Config.Parms ../
  42. /* It should equal to number of Event filter entries */
  43. #define MAX_ALERT_STRINGS MAX_EVT_FILTER_ENTRIES
  44. #define PEF_MAX_OEM_PARAMETERS 0x20
  45. #define MAX_SIZE_PET_GUID 0x11
  46. #define MAX_PLD_ENABLES_TYPES 4
  47. #define MAX_FF_CMD_CFGS 255
  48. /* RMCP+ Definitions */
  49. #define MAX_ALGORITHMS 2
  50. #define MAX_PAYLOADS 3
  51. #define HASH_KEY_LEN 20
  52. #define MAX_ID_PAIRS 7
  53. #define IPMI_CONFIG_VERSION 17
  54. #define MAX_ENCRYPTED_PSWD_LEN 24
  55. /* The maximum no. of users that can be configured
  56. via MDS */
  57. #define MAX_USER_CFG_MDS 0x10
  58. /* The maximum no. of channel users that can be configured
  59. via MDS */
  60. #define MAX_NUM_CH_USERS_MDS 0x10
  61. /* The IPMI configuration version is maintained in IPMI_CONFIG_VERSION macro and the version
  62. number should be incremented in counts of '1' whenever there are changes in CDF files used in
  63. MDS and in CDF related structures used in this file.One should make sure that the version number incremented
  64. in IPMI_CONFIG_VERSION and version number maintained in libipmipar package should be same.
  65. The CDF version number for libipmipar should be configured using MDS. The IPMI Config version check
  66. will be done only when CONFIG_SPX_FEATURE_IPMI_CONFIG_VER_CHECK feature is enabled
  67. in PRJ file*/
  68. #pragma pack( 1 )
  69. /**
  70. * @struct WDTConfig_T
  71. * @brief Watchdog Timer configuration information.
  72. **/
  73. typedef struct
  74. {
  75. uint8_t TmrUse;
  76. uint8_t TmrActions;
  77. uint8_t PreTimeOutInterval;
  78. uint8_t ExpirationFlag;
  79. uint16_t InitCountDown;
  80. uint8_t PreTimeoutActionTaken;
  81. } WDTConfig_T;
  82. ///**
  83. // * @struct PEFConfig_T
  84. // * PEF Configuration structure.
  85. //**/
  86. //typedef struct
  87. //{
  88. // uint8_t PEFControl;
  89. // uint8_t PEFActionGblControl;
  90. // uint8_t PEFStartupDly;
  91. // uint8_t PEFAlertStartupDly;
  92. // EvtFilterTblEntry_T EvtFilterTblEntry [MAX_EVT_FILTER_ENTRIES];
  93. // AlertPolicyTblEntry_T AlertPolicyTblEntry [MAX_ALERT_POLICY_ENTRIES];
  94. // uint8_t SystemGUID [MAX_SIZE_PET_GUID];
  95. // AlertStringTbl_T AlertStringEntry [MAX_ALERT_STRINGS];
  96. // uint8_t OEMParams [PEF_MAX_OEM_PARAMETERS];
  97. // uint8_t NumAlertPolicyEntries;
  98. //} PEFConfig_T;
  99. ///**
  100. // * @struct PEFRecordDetailsConfig_T
  101. // * Record ID Configuration structure.
  102. //**/
  103. //typedef struct
  104. //{
  105. // uint16_t LastBMCProcessedEventID;
  106. // uint16_t LastSWProcessedEventID;
  107. // uint16_t LastSELRecordID;
  108. // uint32_t LastProcessedTimestamp;
  109. // uint8_t LastActionDone;
  110. //} PEFRecordDetailsConfig_T;
  111. /**
  112. * @struct ChannelUserInfo_T
  113. * Structure for user information per channel.
  114. **/
  115. typedef struct
  116. {
  117. uint32_t ID;
  118. uint8_t UserId;
  119. uint32_t AccessLimit:4;
  120. uint32_t LinkAuth:1;
  121. uint32_t UserAccessCallback:1;
  122. uint32_t UserAccessCBCPCallback:1;
  123. uint8_t UserCallbackCapabilities;
  124. uint8_t CBCPNegOptions;
  125. uint8_t CallBack1;
  126. uint8_t CallBack2;
  127. uint8_t CallBack3;
  128. uint8_t FailureAttempts;
  129. uint8_t Lock;
  130. uint32_t LockedTime;
  131. uint8_t PayloadEnables [MAX_PLD_ENABLES_TYPES];
  132. uint8_t IPMIMessaging;
  133. uint8_t ActivatingSOL;
  134. } ChannelUserInfo_T;
  135. /**
  136. * @struct DefaultChCfg_T
  137. * Structure of channel Information.
  138. **/
  139. typedef struct
  140. {
  141. uint32_t ID;
  142. uint32_t ChannelIndex;
  143. uint32_t ChannelNumber:4;
  144. uint32_t ChannelType:7; /* Channel Type */
  145. uint32_t ChannelMedium:7;
  146. uint32_t ChannelProtocol:5;
  147. uint32_t SessionSupport:2; /**< session support. */
  148. uint32_t ActiveSession:6; /**< No of active session in this channel. */
  149. uint8_t AuthType [MAX_PRIVILEGE_TYPES]; /**< Authentication according to privilege. */
  150. uint8_t ProtocolVendorId [3];
  151. uint8_t AuxiliaryInfo [2];
  152. uint32_t ReceiveMsgQ:1; /**< enable/disable message to Receive Message Queue. */
  153. uint32_t AccessMode:4; /**< channel access mode - disabled/perboot/always/shared. */
  154. uint32_t AccessModeSupported:4; /**< access mode supported by this channel. */
  155. uint32_t Alerting:1; /**< enable/disable alerting through this channel. */
  156. uint32_t PerMessageAuth:1; /**< enable/disable per message Auth through this channel. */
  157. uint32_t UserLevelAuth:1; /**< enable/disable userlevel Auth through this channel. */
  158. uint32_t MaxPrivilege:4; /**< max privilage level allowed by this channel. */
  159. uint32_t reserved:1;
  160. uint32_t SetUserAccess:1; /**< set user access command not allowed. */
  161. uint32_t SetChPrivilege:2;
  162. uint32_t SessionLimit:6;
  163. uint32_t LoginStatusNUP:1;
  164. uint32_t LoginStatusNUNP:1;
  165. uint32_t LoginStatusNNU:1;
  166. uint32_t MaxUser:6;
  167. uint32_t NoCurrentUser:6;
  168. uint32_t NoFixedUser:6;
  169. uint32_t ChannelIndexRam:4;
  170. uint32_t ChannelIndexNvRam:4;
  171. ChannelUserInfo_T ChannelUserInfo [MAX_NUM_CH_USERS_MDS];
  172. } ChannelInfo_T;
  173. ///**
  174. // * @struct ChassisConfig_T
  175. // * Chassis Configuration.
  176. //**/
  177. //typedef struct
  178. //{
  179. // uint8_t SysRestartCause;
  180. // uint8_t PowerRestorePolicy;
  181. // ChassisPowerState_T ChassisPowerState;
  182. // ChassisCapabilities_T ChassisCapabilities;
  183. // uint8_t PowerCycleInterval;
  184. // AMI_BootOpt_T OemBootOpt; /**< AMI OEM BootOptions */
  185. // uint8_t SysPartitionScan;
  186. //} ChassisConfig_T;
  187. ///**
  188. // * @struct VLANDestTags_T
  189. // * VLAN Destination Tags.
  190. //**/
  191. //typedef struct
  192. //{
  193. // uint8_t AddressFormat;
  194. // uint16_t VLANTag;
  195. //} VLANDestTags_T;
  196. ///**
  197. // * @struct LANConfig_T
  198. // * LAN Configuration.
  199. //**/
  200. //typedef struct {
  201. // uint8_t AuthTypeSupport;
  202. // AuthTypeEnables_T AuthTypeEnables;
  203. // uint8_t IPAddr [IP_ADDR_LEN];
  204. // uint8_t IPAddrSrc;
  205. // uint8_t MACAddr [MAC_ADDR_LEN];
  206. // uint8_t SubNetMask [4];
  207. // IPv4HdrParams_T Ipv4HdrParam;
  208. // uint16_t PrimaryRMCPPort;
  209. // uint16_t SecondaryPort;
  210. // uint8_t BMCGeneratedARPControl;
  211. // uint8_t GratitousARPInterval;
  212. // uint8_t DefaultGatewayIPAddr [IP_ADDR_LEN];
  213. // uint8_t DefaultGatewayMACAddr [MAC_ADDR_LEN];
  214. // uint8_t BackupGatewayIPAddr [IP_ADDR_LEN];
  215. // uint8_t BackupGatewayMACAddr [MAC_ADDR_LEN];
  216. // uint8_t CommunityStr [MAX_COMM_STRING_SIZE];
  217. // uint8_t NumDest;
  218. // LANDestType_T DestType [NUM_LAN_DESTINATION];
  219. // LANDestAddr_T DestAddr [NUM_LAN_DESTINATION];
  220. // LANDestv6Addr_T Destv6Addr [NUM_LAN_DESTINATION];
  221. // uint16_t VLANID;
  222. // uint8_t VLANPriority;
  223. // uint8_t CipherSuitePrivLevels [MAX_NUM_CIPHER_SUITE_PRIV_LEVELS];
  224. // VLANDestTags_T VLANDestTags [NUM_LAN_DESTINATION];
  225. // BadPassword_T BadPasswd;
  226. // uint8_t IPv6_Enable;
  227. // uint8_t IPv6_IPAddrSrc;
  228. // uint8_t IPv6_IPAddr [16][IP6_ADDR_LEN];
  229. // uint8_t IPv6_PrefixLen[16];
  230. // uint8_t IPv6_GatewayIPAddr[IP6_ADDR_LEN];
  231. // uint8_t IPv4_Enable;
  232. // uint8_t AutoNegotiationEnable;
  233. // uint16_t Speed;
  234. // uint8_t Duplex;
  235. // uint16_t MTU_size;
  236. //} LANConfig_T;
  237. ///**
  238. // * @struct PayloadSupport_T
  239. // * Payload support.
  240. //**/
  241. //typedef struct
  242. //{
  243. // uint8_t StandPldtype1;
  244. // uint8_t StandPldtype2;
  245. // uint8_t SessStpPldtype1;
  246. // uint8_t SessStpPldtype2;
  247. // uint8_t OemPldtype1;
  248. // uint8_t OemPldtype2;
  249. //} PayloadSupport_T;
  250. ///**
  251. // * @struct PayloadInfo_T
  252. // * Payload information.
  253. //**/
  254. //typedef struct
  255. //{
  256. // uint8_t Type;
  257. // uint8_t OemPldIANA [3];
  258. // uint8_t OemPldID [2];
  259. // uint8_t Version;
  260. //} PayloadInfo_T;
  261. ///**
  262. // * @struct RMCPPlus_T
  263. // * RMCP+ information.
  264. //**/
  265. //typedef struct
  266. //{
  267. // bool LockKey [2];
  268. // uint8_t KGHashKey [HASH_KEY_LEN];
  269. // uint8_t PseudoGenKey [HASH_KEY_LEN];
  270. // uint8_t Algorithm [MAX_PAYLOADS] [MAX_PRIVILEGE_TYPES];
  271. // PayloadSupport_T PayloadSupport;
  272. // PayloadInfo_T PayloadInfo [MAX_PYLDS_SUPPORT];
  273. //} RMCPPlus_T;
  274. ///**
  275. // * @struct FFCmdConfigTbl_T
  276. // * Firmware Firewall Command Configuration Tbl.
  277. //**/
  278. //typedef struct
  279. //{
  280. // uint8_t NetFn;
  281. // uint8_t Cmd;
  282. // uint8_t Config;
  283. //} FFCmdConfigTbl_T;
  284. ///**
  285. // * @struct SOLConfig_T
  286. // * SOL Configuration.
  287. //**/
  288. //typedef struct
  289. //{
  290. // uint8_t SOLEnable;
  291. // uint8_t SOLAuth;
  292. // uint16_t CharAccThresh;
  293. // uint8_t SOLRetryCount;
  294. // uint8_t SOLRetryInterval;
  295. // uint8_t NVBitRate;
  296. // uint8_t VBitRate;
  297. // uint8_t PayldChannel;
  298. // uint16_t PayldPortNum;
  299. //} SOLConfig_T;
  300. ///**
  301. // * @struct SystemInfoConfig_T
  302. // * Get / Set System Info Parameters info.
  303. //**/
  304. //typedef struct
  305. //{
  306. // SysFWVersion_T SysFWVersion;
  307. // SysName_T SysName;
  308. // PrimaryOSName_T PrimaryOSName;
  309. //} SystemInfoConfig_T;
  310. ///**
  311. // * @struct DCMIThermalCfg_T
  312. // * brief Temperature limit for inlet sensors
  313. //**/
  314. //typedef struct
  315. //{
  316. // uint8_t Valid;
  317. // uint8_t ExceptionAction;
  318. // uint8_t TemperatureLimit;
  319. // uint16_t ExceptionTime;
  320. //} DCMIThermalCfg_T;
  321. //typedef struct
  322. //{
  323. // bool IsValid;
  324. // uint8_t ActivePowerLimit;
  325. // uint8_t ExceptionAction;
  326. // uint16_t PwrLimitInWatts;
  327. // uint32_t CorrectionTimeLimitInMsec;
  328. // uint16_t MangSamplingTimeInSecs;
  329. // DCMIThermalCfg_T ThermalCfg[MAX_TEMP_INSTANCE];
  330. //} DCMICfg_T;
  331. //typedef struct
  332. //{
  333. // uint8_t CurrentNoUser;
  334. // uint32_t POHCounterReading;
  335. // /* SEL Time UTC Offset information */
  336. // uint16_t SELTimeUTCOffset;
  337. // uint32_t SDREraseTime;
  338. // /*Location of time (asia/calcutta)*/
  339. // uint8_t TimeZone[64];
  340. //} GENConfig_T;
  341. ///**
  342. // * @struct ChcfgInfo_T
  343. // * Channel Configuration Information taken from respective channel .i files.
  344. //**/
  345. //typedef struct
  346. //{
  347. // uint8_t ChType;
  348. // ChannelInfo_T ChannelInfo;
  349. //} ChcfgInfo_T;
  350. ///**
  351. // * @struct AuthTypeEnable_T
  352. // * @brief Authentication Enables.
  353. //**/
  354. //typedef struct
  355. //{
  356. // uint8_t Callback;
  357. // uint8_t User;
  358. // uint8_t Operator;
  359. // uint8_t Admin;
  360. // uint8_t oem;
  361. //} AuthTypeEnable_T;
  362. ///**
  363. // * @struct ChannelCallbackCtrl_T
  364. // * @brief Channel Callback Control.
  365. //**/
  366. //typedef struct
  367. //{
  368. // uint8_t CallBackEnable;
  369. // uint8_t CBCPnegopt;
  370. // uint8_t CallBackDes1;
  371. // uint8_t CallBackDes2;
  372. // uint8_t CallBackDes3;
  373. //} ChannelCallbackCtrl_T;
  374. ///**
  375. // * @struct IpmiMsgCommSettings_T
  376. // * @brief Communication Settings.
  377. //**/
  378. //typedef struct
  379. //{
  380. // uint8_t FlowCtrl;
  381. // uint8_t BitRate;
  382. //} IpmiMsgCommSettings_T;
  383. ///**
  384. // * @struct MuxSwitchCtrl_T
  385. // * @brief MUX Switch Control.
  386. //**/
  387. //typedef struct
  388. //{
  389. // uint8_t Data1;
  390. // uint8_t Data2;
  391. //} MuxSwitchCtrl_T;
  392. ///**
  393. // * @struct ModemRingTime_T
  394. // * @brief Modem Ring Time.
  395. //**/
  396. //typedef struct
  397. //{
  398. // uint8_t RingDuration;
  399. // uint8_t RingDeadTime;
  400. //} ModemRingTime_T;
  401. ///**
  402. // * @struct DestInfo_T
  403. // * @brief Destination Information.
  404. //**/
  405. //typedef struct
  406. //{
  407. // uint8_t DesType;
  408. // uint8_t AlertAckTimeout;
  409. // uint8_t Retries;
  410. // uint8_t DesTypeSpecific;
  411. //} DestInfo_T;
  412. ///**
  413. // * @struct ModemDestCommSettings_T
  414. // * @brief Modem Destination Communication Settings.
  415. //**/
  416. //typedef struct
  417. //{
  418. // uint8_t FlowControl;
  419. // uint8_t BitRate;
  420. //} ModemDestCommSettings_T;
  421. ///**
  422. // * @struct DestIPAddr_T
  423. // * @brief Destination IP Address.
  424. //**/
  425. //typedef struct
  426. //{
  427. // uint8_t ip [IP_ADDR_LEN];
  428. //} DestIPAddr_T;
  429. ///**
  430. // * @struct TAPServiceSettings_T
  431. // * @brief TAP Service Settings.
  432. //**/
  433. //typedef struct
  434. //{
  435. // uint8_t TAPConfirmation;
  436. // uint8_t TAPServiceTypeChars [3];
  437. // uint32_t TAPCtrlESCMask;
  438. // uint8_t TimeOutParam1;
  439. // uint8_t TimeOutParam2;
  440. // uint8_t TimeOutParam3;
  441. // uint8_t RetryParam1;
  442. // uint8_t RetryParam2;
  443. //} TAPServiceSettings_T;
  444. ///**
  445. // * @struct TermConfig_T
  446. // * @brief Terminal Configuration Data.
  447. //**/
  448. //typedef struct
  449. //{
  450. // uint8_t Data1; /* Config Data1 deals with feature configuration */
  451. // uint8_t Data2; /* Config Data2 deals with i/o termination sequence */
  452. //} TermConfig_T;
  453. ///**
  454. // * @struct PPPProtocolOptions_T
  455. // * @brief PPP Protocol Options.
  456. //**/
  457. //typedef struct
  458. //{
  459. // uint8_t SnoopControl;
  460. // uint8_t NegControl;
  461. // uint8_t NegConfig;
  462. //} PPPProtocolOptions_T;
  463. ///**
  464. // * @struct PPPAccm_T
  465. // * @brief PPP ACCM.
  466. //**/
  467. //typedef struct
  468. //{
  469. // uint32_t ReceiveACCM;
  470. // uint32_t TransmitACCM;
  471. //} PPPAccm_T;
  472. ///**
  473. // * @struct PPPSnoopAccm_T
  474. // * @brief PPP Snoop ACCM
  475. //**/
  476. //typedef struct
  477. //{
  478. // uint32_t ReceiveACCM;
  479. //} PPPSnoopAccm_T;
  480. ///**
  481. // * @struct PPPUDPProxyIPHeaderData_T
  482. // * @brief PPP UDP Proxy Header Data.
  483. //**/
  484. //typedef struct
  485. //{
  486. // uint8_t SrcIPAddress [IP_ADDR_LEN];
  487. // uint8_t DestIPAddress [IP_ADDR_LEN];
  488. //} PPPUDPProxyIPHeaderData_T;
  489. ///**
  490. // * @struct SMConfig_T
  491. // * @brief Serial/Modem Configuration.
  492. //**/
  493. //typedef struct
  494. //{
  495. // uint8_t SetInProgress;
  496. // uint8_t AuthTypeSupport;
  497. // AuthTypeEnable_T AuthTypeEnable;
  498. // uint8_t ConnectionMode;
  499. // uint8_t SessionInactivity;
  500. // ChannelCallbackCtrl_T ChannelCallBackCtrl;
  501. // uint8_t SessionTermination;
  502. // IpmiMsgCommSettings_T IpmiMsgCommSet;
  503. // MuxSwitchCtrl_T MUXSwitchCtrl;
  504. // ModemRingTime_T RingTime;
  505. // uint8_t ModemInitString [4] [16];
  506. // uint8_t ModemEscapeSeq [MAX_MODEM_ESC_SEQ_SIZE + 1]; /*+1 for NULL Termination when */
  507. // uint8_t ModemHangup [MAX_MODEM_HANG_UP_SEQ_SIZE + 1]; /*full non null chars are provided*/
  508. // uint8_t ModemDialCmd [MAX_MODEM_DIAL_CMD_SIZE + 1];
  509. // uint8_t PageBlockOut;
  510. // uint8_t CommunityString [MAX_COMM_STRING_SIZE + 1];
  511. // uint8_t TotalAlertDest;
  512. // DestInfo_T DestinationInfo [MAX_SERIAL_ALERT_DESTINATIONS];
  513. // uint8_t CallRetryInterval;
  514. // ModemDestCommSettings_T DestComSet [MAX_SERIAL_ALERT_DESTINATIONS];
  515. // uint8_t TotalDialStr;
  516. // uint8_t DestDialStrings [MAX_MODEM_DIAL_STRS] [MAX_MODEM_DIAL_STR_BLOCKS] [MAX_MODEM_DIAL_STR_BLOCK_SIZE];
  517. // uint8_t TotalDestIP;
  518. // DestIPAddr_T DestAddr [MAX_MODEM_ALERT_DEST_IP_ADDRS];
  519. // uint8_t TotalTAPAcc;
  520. // uint8_t TAPAccountSelector [MAX_MODEM_TAP_ACCOUNTS];
  521. // uint8_t TAPPasswd [MAX_MODEM_TAP_ACCOUNTS] [TAP_PASSWORD_SIZE + 1];
  522. // uint8_t TAPPagerIDStrings [MAX_MODEM_TAP_ACCOUNTS] [TAP_PAGER_ID_STRING_SIZE + 1];
  523. // TAPServiceSettings_T TAPServiceSettings [MAX_MODEM_TAP_ACCOUNTS];
  524. // TermConfig_T Termconfig;
  525. // PPPProtocolOptions_T PPPProtocolOptions;
  526. // uint16_t PPPPrimaryRMCPPort;
  527. // uint16_t PPPSecondaryRMCPPort;
  528. // uint8_t PPPLinkAuth;
  529. // uint8_t CHAPName [MAX_MODEM_CHAP_NAME_SIZE];
  530. // PPPAccm_T PPPACCM;
  531. // PPPSnoopAccm_T PPPSnoopACCM;
  532. // uint8_t TotalPPPAcc;
  533. // uint8_t PPPAccDialStrSel [MAX_MODEM_PPP_ACCOUNTS];
  534. // uint8_t PPPAccIPAddress [MAX_MODEM_PPP_ACCOUNTS] [IP_ADDR_LEN];
  535. // uint8_t PPPAccUserNames [MAX_MODEM_PPP_ACCOUNTS] [PPP_ACC_USER_NAME_DOMAIN_PASSWD_SIZE + 1 ];
  536. // uint8_t PPPAccUserDomain [MAX_MODEM_PPP_ACCOUNTS] [PPP_ACC_USER_NAME_DOMAIN_PASSWD_SIZE + 1];
  537. // uint8_t PPPAccUserPasswd [MAX_MODEM_PPP_ACCOUNTS] [PPP_ACC_USER_NAME_DOMAIN_PASSWD_SIZE + 1];
  538. // uint8_t PPPAccAuthSettings [MAX_MODEM_PPP_ACCOUNTS];
  539. // uint8_t PPPAccConnHoldTimes [MAX_MODEM_PPP_ACCOUNTS];
  540. // PPPUDPProxyIPHeaderData_T PPPUDPProxyIPHeadData;
  541. // uint16_t PPPUDPProxyTransmitBuffSize;
  542. // uint16_t PPPUDPProxyReceiveBuffSize;
  543. // uint8_t PPPRemoteConsoleIPAdd [IP_ADDR_LEN];
  544. // BadPassword_T BadPasswd;
  545. //} SMConfig_T;
  546. /*
  547. * SensorOffsetInfo_T Structure
  548. */
  549. typedef struct {
  550. uint8_t SensorLUN;
  551. uint8_t SensorNo;
  552. int8_t Offset;
  553. uint8_t valid;
  554. } SensorOffsetInfo_T;
  555. /*
  556. * OPMA_IDPair_T Structure
  557. */
  558. typedef struct
  559. {
  560. uint16_t OemId;
  561. uint16_t ImplementationId;
  562. } OPMA_IDPair_T;
  563. ///*
  564. // * OPMA Config Structure
  565. // * The OPMA specific Data are stored in this Structure
  566. // */
  567. //typedef struct
  568. //{
  569. // SensorOffsetInfo_T SensorOffsetInfo [256];
  570. // uint8_t SupportedSysCount;
  571. // OPMA_IDPair_T OPMA_IdPairs [ MAX_ID_PAIRS ];
  572. // OPMA_IDPair_T SystemIdentifier ;
  573. // uint8_t SysLocalAccessLockout;
  574. // uint16_t OPMASpecComplaince;
  575. //} OPMA_Config_T;
  576. //typedef struct
  577. //{
  578. // uint8_t EnableDisableSMTP;
  579. // uint8_t EnableDisableSmtpAuth;
  580. // uint8_t ServerAddr [ IP_ADDR_LEN ];
  581. // uint8_t IP6_ServerAddr [ IP6_ADDR_LEN ];
  582. // uint8_t UserName [ MAX_SMTP_USERNAME_LEN ];
  583. // uint8_t Passwd [MAX_SMTP_PASSWD_LEN];
  584. // uint8_t NoofDestinations;
  585. // uint8_t Subject [MAX_EMAIL_DESTINATIONS+1][MAX_SUB_BLOCK_SIZE * MAX_SUB_BLOCKS];
  586. // uint8_t Msg [MAX_EMAIL_DESTINATIONS+1][MAX_MSG_BLOCK_SIZE * MAX_MSG_BLOCKS];
  587. // uint8_t SenderAddr[MAX_EMAIL_BLOCK_SIZE * MAX_EMAIL_ADDR_BLOCKS];
  588. // uint8_t Servername[MAX_SRV_NAME_BLOCK_SIZE * MAX_SRV_NAME_BLOCKS];
  589. // uint16_t SmtpPort;
  590. // uint8_t UserID[MAX_EMAIL_DESTINATIONS+1];
  591. // uint8_t EnableDisableSMTP2;
  592. // uint8_t EnableDisableSmtp2Auth;
  593. // uint8_t Server2Addr [ IP_ADDR_LEN ];
  594. // uint8_t IP6_Server2Addr [ IP6_ADDR_LEN ];
  595. // uint8_t UserName2 [ MAX_SMTP_USERNAME_LEN ];
  596. // uint8_t Passwd2 [MAX_SMTP_PASSWD_LEN];
  597. // uint8_t Sender2Addr[MAX_EMAIL_BLOCK_SIZE * MAX_EMAIL_ADDR_BLOCKS];
  598. // uint8_t Server2name[MAX_SRV_NAME_BLOCK_SIZE * MAX_SRV_NAME_BLOCKS];
  599. // uint16_t Smtp2Port;
  600. //} Smtp_Config_T;
  601. /**
  602. * @struct TriggerEventCfg_T
  603. * Trigger Event Configuration.
  604. **/
  605. typedef struct
  606. {
  607. uint8_t CriticalFlag;
  608. uint8_t NONCriticalFlag;
  609. uint8_t NONRecoverableFlag;
  610. uint8_t FanTroubled;
  611. uint8_t WDTTimeExpire;
  612. uint8_t SysDConFlag;
  613. uint8_t SysDCoffFlag;
  614. uint8_t SysResetFlag;
  615. uint8_t LPCResetFlag;
  616. uint8_t SpecDateTime;
  617. uint32_t Time;
  618. } TriggerEventCfg_T;
  619. /**
  620. * @struct LoginAuditConfig_T
  621. * Login Audit Configuration.
  622. **/
  623. typedef struct
  624. {
  625. uint8_t WebEventMask;
  626. uint8_t IPMIEventMask;
  627. uint8_t TelnetEventMask;
  628. uint8_t SSHEventMask;
  629. uint8_t KVMEventMask;
  630. } LoginAuditConfig_T;
  631. /**
  632. * @struct AMIConfig_T
  633. * @brief AMI Specific Configuration.
  634. **/
  635. typedef struct
  636. {
  637. uint8_t CircularSEL;
  638. uint8_t CircularSELFlag;
  639. } AMIConfig_T;
  640. ///**
  641. // * @struct SSIConfig_T
  642. // * @brief SSI Configuration.
  643. //**/
  644. //typedef struct
  645. //{
  646. // OpState CurrentState;
  647. // uint32_t CurrentConditions;
  648. // uint8_t CurrentPowerLevel;
  649. // uint8_t CMMIPAddr[IP_ADDR_LEN];
  650. //} SSIConfig_T;
  651. typedef struct
  652. {
  653. uint32_t Version;
  654. } VersionConfig_T;
  655. typedef struct
  656. {
  657. uint8_t Host[200];
  658. uint8_t Path[200];
  659. uint8_t Retry;
  660. } ConnectionInfo_T;
  661. typedef struct
  662. {
  663. uint8_t ProtocolType;
  664. ConnectionInfo_T ConnectionInfo;
  665. } FWConfig_T;
  666. typedef struct
  667. {
  668. char EncryptedPswd[MAX_ENCRYPTED_PSWD_LEN];
  669. } EncryptedUserInfo_T;
  670. #pragma pack( )
  671. /**
  672. * @brief Initialize PM configuration information.
  673. * @return 0 if success, -1 if error.
  674. **/
  675. extern int InitPMConfig (int BMCInst);
  676. /**
  677. *@fn InitChannelConfigs
  678. *@brief This function is Initialize to load all Channel Configs from NVRAM to RAM
  679. */
  680. extern int InitChannelConfigs(int BMCInst);
  681. /**
  682. *@fn InitDCMIConfig
  683. *@brief This function is invoked to Initialize all DCMI Configs from NVRAM to RAM
  684. */
  685. extern int initDCMIConfig(int BMCInst);
  686. /**
  687. *@fn InitUserConfig
  688. *@brief This function is invoked to Initialize UserConfigs from NVRAM to RAM
  689. */
  690. extern int InitUserConfig(int BMCInst);
  691. /**
  692. *@fn InitTriggerEventConfig
  693. *@brief This function is invoked to Initialize TriggerEventConfig from NVRAM to RAM
  694. */
  695. extern int InitTriggerEventConfig(int BMCInst);
  696. /**
  697. *@fn InitLoginAuditConfig
  698. *@brief This function is invoked to Initialize the login audit configuration from NVRAM to RAM
  699. */
  700. extern int InitLoginAuditConfig(int BMCInst);
  701. /**
  702. *@fn InitEncUserPswdConfig
  703. *@brief This function is invoked to Initialize EncUserPasswordsConfigs from NVRAM to RAM
  704. */
  705. extern int InitEncUserPswdConfig(int BMCInst);
  706. /**
  707. *@fn InitChannelPriv
  708. *@brief Add Channel Groups
  709. **/
  710. extern void InitChannelPrivtbl(int BMCInst);
  711. /**
  712. *@fn AddUserToChGroups
  713. *@brief Add users to Channel Groups
  714. **/
  715. extern void AddUserToChGroups(int BMCInst);
  716. #endif /* PMCONFIG_H */