cmdselect.c 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926
  1. /******************************************************************
  2. ******************************************************************
  3. *** **
  4. *** (C)Copyright 2011, American Megatrends Inc. **
  5. *** **
  6. *** All Rights Reserved. **
  7. *** **
  8. *** 5555 , Oakbrook Pkwy, Norcross, **
  9. *** **
  10. *** Georgia - 30093, USA. Phone-(770)-246-8600. **
  11. *** **
  12. ******************************************************************
  13. ******************************************************************
  14. ******************************************************************
  15. *
  16. * cmdselect.c
  17. * OEM can enable or disable IPMI Command accoring to requirements
  18. *
  19. * Author: Winston <winstonv@amiindia.co.in>
  20. ******************************************************************/
  21. #include <stdio.h>
  22. #include "com_BmcType.h"
  23. #include "cmdselect.h"
  24. #include "com_IPMI_App.h"
  25. #include "com_IPMI_Bridge.h"
  26. #include "com_IPMI_PICMG.h"
  27. #include "com_IPMI_Chassis.h"
  28. #include "com_IPMI_SensorEvent.h"
  29. #include "com_IPMI_Storage.h"
  30. #include "OemSMMCmds.h"
  31. #include "Storlead.h"
  32. //#include "com_IPMI_Transport.h"
  33. #include "com_IPMI_DeviceConfig.h"
  34. //#include "OemSMMCmds.h"
  35. //#include "main.h"
  36. #define ENABLED 0x1
  37. #define DISABLED 0xff
  38. const NetFnCmds_T g_App [] =
  39. {
  40. /* IPM Device Commands */
  41. {CMD_GET_DEV_ID , ENABLED},
  42. {CMD_BROADCAST_GET_DEV_ID ,DISABLED},
  43. {CMD_COLD_RESET ,ENABLED},
  44. {CMD_WARM_RESET ,ENABLED},
  45. {CMD_GET_SELF_TEST_RESULTS ,ENABLED},
  46. {CMD_MFG_TEST_ON ,ENABLED},
  47. {CMD_SET_ACPI_PWR_STATE ,ENABLED},
  48. {CMD_GET_ACPI_PWR_STATE ,ENABLED},
  49. {CMD_GET_DEV_GUID ,ENABLED},
  50. {CMD_GET_NETFN_SUP ,ENABLED},
  51. {CMD_GET_CMD_SUP ,ENABLED},
  52. {CMD_GET_SUBFN_SUP ,DISABLED},
  53. {CMD_GET_CONFIG_CMDS ,ENABLED},
  54. {CMD_GET_CONFIG_SUB_FNS ,DISABLED},
  55. {CMD_SET_CMD_ENABLES ,ENABLED},
  56. {CMD_GET_CMD_ENABLES ,ENABLED},
  57. {CMD_SET_SUBFN_ENABLES ,DISABLED},
  58. {CMD_GET_SUBFN_ENABLES ,DISABLED},
  59. {CMD_GET_OEM_NETFN_IANA_SUPPORT ,ENABLED},
  60. /* WatchDog Timer Commands */
  61. {CMD_RESET_WDT ,ENABLED},
  62. {CMD_SET_WDT ,ENABLED},
  63. {CMD_GET_WDT ,ENABLED},
  64. /* BMC Device and Messaging Commands */
  65. { CMD_SET_BMC_GBL_ENABLES ,ENABLED},
  66. { CMD_GET_BMC_GBL_ENABLES ,ENABLED},
  67. { CMD_CLR_MSG_FLAGS ,ENABLED},
  68. { CMD_GET_MSG_FLAGS ,ENABLED},
  69. { CMD_ENBL_MSG_CH_RCV ,ENABLED},
  70. { CMD_GET_MSG ,ENABLED},
  71. { CMD_SEND_MSG ,ENABLED},
  72. { CMD_READ_EVT_MSG_BUFFER ,ENABLED},
  73. { CMD_GET_BTIFC_CAP ,ENABLED},
  74. { CMD_GET_SYSTEM_GUID ,ENABLED},
  75. { CMD_GET_CH_AUTH_CAP ,ENABLED},
  76. { CMD_GET_SESSION_CHALLENGE ,ENABLED},
  77. { CMD_ACTIVATE_SESSION ,ENABLED},
  78. { CMD_SET_SESSION_PRIV_LEVEL ,ENABLED},
  79. { CMD_CLOSE_SESSION ,ENABLED},
  80. { CMD_GET_SESSION_INFO ,ENABLED},
  81. { CMD_GET_AUTH_CODE ,ENABLED},
  82. { CMD_SET_CH_ACCESS ,ENABLED},
  83. { CMD_GET_CH_ACCESS ,ENABLED},
  84. { CMD_GET_CH_INFO ,ENABLED},
  85. { CMD_SET_USER_ACCESS ,ENABLED},
  86. { CMD_GET_USER_ACCESS ,ENABLED},
  87. { CMD_SET_USER_NAME ,ENABLED},
  88. { CMD_GET_USER_NAME ,ENABLED},
  89. { CMD_SET_USER_PASSWORD ,ENABLED},
  90. { CMD_MASTER_WRITE_READ ,ENABLED},
  91. { CMD_SET_SYSTEM_INFO_PARAM ,ENABLED},
  92. { CMD_GET_SYSTEM_INFO_PARAM ,ENABLED},
  93. /*------------------------ IPMI 2.0 specific Commands ------------------*/
  94. { CMD_ACTIVATE_PAYLOAD ,ENABLED},
  95. { CMD_DEACTIVATE_PAYLOAD ,ENABLED},
  96. { CMD_GET_PAYLD_ACT_STATUS ,ENABLED},
  97. { CMD_GET_PAYLD_INST_INFO ,ENABLED},
  98. { CMD_SET_USR_PAYLOAD_ACCESS ,ENABLED},
  99. { CMD_GET_USR_PAYLOAD_ACCESS ,ENABLED},
  100. { CMD_GET_CH_PAYLOAD_SUPPORT ,ENABLED},
  101. { CMD_GET_CH_PAYLOAD_VER ,ENABLED},
  102. { CMD_GET_CH_OEM_PAYLOAD_INFO ,ENABLED},
  103. { CMD_GET_CH_CIPHER_SUITES ,ENABLED},
  104. { CMD_SUS_RES_PAYLOAD_ENCRYPT ,ENABLED},
  105. { CMD_SET_CH_SECURITY_KEYS ,ENABLED},
  106. { CMD_GET_SYS_IFC_CAPS ,ENABLED},
  107. {0 ,0 },
  108. };
  109. const NetFnCmds_T g_Chassis [] =
  110. {
  111. /*--------------------- Chassis Commands ---------------------------------*/
  112. { CMD_GET_CHASSIS_CAPABILITIES ,ENABLED},
  113. { CMD_GET_CHASSIS_STATUS ,ENABLED},
  114. { CMD_CHASSIS_CONTROL ,ENABLED},
  115. { CMD_CHASSIS_RESET ,DISABLED},
  116. { CMD_CHASSIS_IDENTIFY ,ENABLED},
  117. { CMD_SET_CHASSIS_CAPABILITIES ,ENABLED},
  118. { CMD_SET_POWER_RESTORE_POLICY ,ENABLED},
  119. { CMD_GET_SYSTEM_RESTART_CAUSE ,ENABLED},
  120. { CMD_SET_SYSTEM_BOOT_OPTIONS ,ENABLED},
  121. { CMD_GET_SYSTEM_BOOT_OPTIONS ,ENABLED},
  122. { CMD_GET_POH_COUNTER ,ENABLED},
  123. { CMD_SET_FP_BTN_ENABLES ,ENABLED},
  124. { CMD_SET_POWER_CYCLE_INTERVAL ,ENABLED},
  125. {0, 0 }
  126. };
  127. const NetFnCmds_T g_Bridge [] =
  128. {
  129. /*----------------------- Bridge Management Commands --------------------------------*/
  130. { CMD_GET_BRIDGE_STATE ,ENABLED},
  131. { CMD_SET_BRIDGE_STATE ,ENABLED},
  132. { CMD_GET_ICMB_ADDR ,ENABLED},
  133. { CMD_SET_ICMB_ADDR ,ENABLED},
  134. { CMD_SET_BRIDGE_PROXY_ADDR ,ENABLED},
  135. { CMD_GET_BRIDGE_STATISTICS ,ENABLED},
  136. { CMD_GET_ICMB_CAPABILITIES ,ENABLED},
  137. { CMD_CLEAR_BRIDGE_STATISTICS ,ENABLED},
  138. { CMD_GET_BRIDGE_PROXY_ADDR ,ENABLED},
  139. { CMD_GET_ICMB_CONNECTOR_INFO ,ENABLED},
  140. { CMD_GET_ICMB_CONNECTION_ID ,DISABLED},
  141. { CMD_SEND_ICMB_CONNECTION_ID ,DISABLED},
  142. /*---------------------- Bridge Discovery Commands -----------------------------------*/
  143. { CMD_PREPARE_FOR_DISCOVERY ,ENABLED},
  144. { CMD_GET_ADDRESSES ,ENABLED},
  145. { CMD_SET_DISCOVERED ,ENABLED},
  146. { CMD_GET_CHASSIS_DEVICE_ID ,ENABLED},
  147. { CMD_SET_CHASSIS_DEVICE_ID ,ENABLED},
  148. /*----------------------- Bridging Commands ------------------------------------------*/
  149. { CMD_BRIDGE_REQUEST ,ENABLED},
  150. { CMD_BRIDGE_MESSAGE ,ENABLED},
  151. /*---------------------- Bridge Event Commands ---------------------------------------*/
  152. { CMD_GET_EVENT_COUNT ,ENABLED},
  153. { CMD_SET_EVENT_DESTINATION ,ENABLED},
  154. { CMD_SET_EVENT_RECEPTION_STATE ,ENABLED},
  155. { CMD_SEND_ICMB_EVENT_MESSAGE ,ENABLED},
  156. { CMD_GET_EVENT_DESTINATION ,ENABLED},
  157. { CMD_GET_EVENT_RECEPTION_STATE ,ENABLED},
  158. { 0 ,0 }
  159. };
  160. const NetFnCmds_T g_Sensor [] =
  161. {
  162. { CMD_SET_EVENT_RECEIVER ,ENABLED},
  163. { CMD_GET_EVENT_RECEIVER ,ENABLED},
  164. { CMD_PLATFORM_EVENT ,ENABLED},
  165. { CMD_GET_PEF_CAPABILITIES ,ENABLED},
  166. { CMD_ARM_PEF_POSTPONE_TIMER ,ENABLED},
  167. { CMD_SET_PEF_CONFIG_PARAMS ,ENABLED},
  168. { CMD_GET_PEF_CONFIG_PARAMS ,ENABLED},
  169. { CMD_SET_LAST_PROCESSED_EVENT_ID ,ENABLED},
  170. { CMD_GET_LAST_PROCESSED_EVENT_ID ,ENABLED},
  171. { CMD_ALERT_IMMEDIATE ,ENABLED},
  172. { CMD_PET_ACKNOWLEDGE ,ENABLED},
  173. { CMD_GET_DEV_SDR_INFO ,ENABLED},
  174. { CMD_GET_DEV_SDR ,ENABLED},
  175. { CMD_RESERVE_DEV_SDR_REPOSITORY ,ENABLED},
  176. { CMD_GET_SENSOR_READING_FACTORS ,ENABLED},
  177. { CMD_SET_SENSOR_HYSTERISIS ,ENABLED},
  178. { CMD_GET_SENSOR_HYSTERISIS ,ENABLED},
  179. { CMD_SET_SENSOR_THRESHOLDS ,ENABLED},
  180. { CMD_GET_SENSOR_THRESHOLDS ,ENABLED},
  181. { CMD_SET_SENSOR_EVENT_ENABLE ,ENABLED},
  182. { CMD_GET_SENSOR_EVENT_ENABLE ,ENABLED},
  183. { CMD_REARM_SENSOR_EVENTS ,ENABLED},
  184. { CMD_GET_SENSOR_EVENT_STATUS ,ENABLED},
  185. { CMD_GET_SENSOR_READING ,ENABLED},
  186. { CMD_SET_SENSOR_TYPE ,ENABLED},
  187. { CMD_GET_SENSOR_TYPE ,ENABLED},
  188. { CMD_SET_SENSOR_READING ,ENABLED},
  189. {0, 0 }
  190. };
  191. const NetFnCmds_T g_Storage [] =
  192. {
  193. /*--------------------- FRU Device Commands ---------------------------------*/
  194. { CMD_FRU_INVENTORY_AREA_INFO ,ENABLED},
  195. { CMD_READ_FRU_DATA ,ENABLED},
  196. { CMD_WRITE_FRU_DATA ,ENABLED},
  197. /*--------------------- SDR Device Commands ---------------------------------*/
  198. { CMD_GET_SDR_REPOSITORY_INFO ,ENABLED},
  199. { CMD_GET_SDR_REPOSITORY_ALLOCATION_INFO ,ENABLED},
  200. { CMD_RESERVE_SDR_REPOSITORY ,ENABLED},
  201. { CMD_GET_SDR ,ENABLED},
  202. { CMD_ADD_SDR ,ENABLED},
  203. { CMD_PARTIAL_ADD_SDR ,ENABLED},
  204. { CMD_DELETE_SDR ,DISABLED},
  205. { CMD_CLEAR_SDR_REPOSITORY ,ENABLED},
  206. { CMD_GET_SDR_REPOSITORY_TIME ,ENABLED},
  207. { CMD_SET_SDR_REPOSITORY_TIME ,DISABLED},
  208. { CMD_ENTER_SDR_REPOSITORY_UPDATE_MODE ,DISABLED},
  209. { CMD_EXIT_SDR_REPOSITORY_UPDATE_MODE ,DISABLED},
  210. { CMD_RUN_INITIALIZATION_AGENT ,ENABLED},
  211. /*--------------------- SEL Device Commands ----------------------------------*/
  212. { CMD_GET_SEL_INFO ,ENABLED},
  213. { CMD_GET_SEL_ALLOCATION_INFO ,ENABLED},
  214. { CMD_RESERVE_SEL ,ENABLED},
  215. { CMD_GET_SEL_ENTRY ,ENABLED},
  216. { CMD_ADD_SEL_ENTRY ,ENABLED},
  217. { CMD_PARTIAL_ADD_SEL_ENTRY ,ENABLED},
  218. { CMD_DELETE_SEL_ENTRY ,ENABLED},
  219. { CMD_CLEAR_SEL ,ENABLED},
  220. { CMD_GET_SEL_TIME ,ENABLED},
  221. { CMD_SET_SEL_TIME ,ENABLED},
  222. { CMD_GET_AUXILIARY_LOG_STATUS ,DISABLED},
  223. { CMD_SET_AUXILIARY_LOG_STATUS ,DISABLED},
  224. { CMD_GET_SEL_TIME_UTC_OFFSET ,ENABLED},
  225. { CMD_SET_SEL_TIME_UTC_OFFSET ,ENABLED},
  226. { 0, 0 }
  227. };
  228. const NetFnCmds_T g_Transport [] =
  229. {
  230. /*------------------------- IPM Device Commands --------------------------------------*/
  231. { CMD_SET_LAN_CONFIGURATION_PARAMETERS ,ENABLED},
  232. { CMD_GET_LAN_CONFIGURATION_PARAMETERS ,ENABLED},
  233. { CMD_SUSPEND_BMC_ARPS ,ENABLED},
  234. { CMD_GET_IP_UDP_RMCP_STATISTICS ,DISABLED},
  235. /*--------------------- Serial/Modem Device Commands ---------------------------------*/
  236. { CMD_SET_SERIAL_MODEM_CONFIG ,ENABLED},
  237. { CMD_GET_SERIAL_MODEM_CONFIG ,ENABLED},
  238. { CMD_SET_SERIAL_MODEM_MUX ,ENABLED},
  239. { CMD_SERIAL_MODEM_CONNECTION_ACTIVITY ,DISABLED},
  240. { CMD_CALLBACK ,ENABLED},
  241. { CMD_SET_USER_CALLBACK_OPTION ,ENABLED},
  242. { CMD_GET_USER_CALLBACK_OPTION ,ENABLED},
  243. { CMD_GET_TAP_RES_CODES ,ENABLED},
  244. /*------------------------- Serial Over LAN Commands ---------------------------------*/
  245. { CMD_GET_SOL_CONFIGURATION ,ENABLED},
  246. { CMD_SET_SOL_CONFIGURATION ,ENABLED},
  247. { 0 ,0 }
  248. };
  249. //const NetFnCmds_T g_AMI [] =
  250. //{
  251. // /* ---------------YAFU Commands -----------------------------*/
  252. // { CMD_AMI_YAFU_SWITCH_FLASH_DEVICE ,ENABLED},
  253. // { CMD_AMI_YAFU_RESTORE_FLASH_DEVICE ,ENABLED},
  254. // { CMD_AMI_YAFU_GET_FLASH_INFO ,ENABLED},
  255. // { CMD_AMI_YAFU_GET_FIRMWARE_INFO ,ENABLED},
  256. // { CMD_AMI_YAFU_GET_FMH_INFO ,ENABLED},
  257. // { CMD_AMI_YAFU_GET_STATUS ,ENABLED},
  258. // { CMD_AMI_YAFU_ACTIVATE_FLASH ,ENABLED},
  259. // { CMD_AMI_YAFU_ALLOCATE_MEMORY ,ENABLED},
  260. // { CMD_AMI_YAFU_FREE_MEMORY ,ENABLED},
  261. // { CMD_AMI_YAFU_READ_FLASH ,ENABLED},
  262. // { CMD_AMI_YAFU_WRITE_FLASH ,ENABLED},
  263. // { CMD_AMI_YAFU_ERASE_FLASH ,ENABLED},
  264. // { CMD_AMI_YAFU_PROTECT_FLASH ,ENABLED},
  265. // { CMD_AMI_YAFU_ERASE_COPY_FLASH ,ENABLED},
  266. // { CMD_AMI_YAFU_VERIFY_FLASH ,ENABLED},
  267. // { CMD_AMI_YAFU_READ_MEMORY ,ENABLED},
  268. // { CMD_AMI_YAFU_WRITE_MEMORY ,ENABLED},
  269. // { CMD_AMI_YAFU_COPY_MEMORY ,ENABLED},
  270. // { CMD_AMI_YAFU_COMPARE_MEMORY ,ENABLED},
  271. // { CMD_AMI_YAFU_CLEAR_MEMORY ,ENABLED},
  272. // { CMD_AMI_YAFU_GET_BOOT_CONFIG ,ENABLED},
  273. // { CMD_AMI_YAFU_SET_BOOT_CONFIG ,ENABLED},
  274. // { CMD_AMI_YAFU_GET_BOOT_VARS ,ENABLED},
  275. // { CMD_AMI_YAFU_DEACTIVATE_FLASH_MODE ,ENABLED},
  276. // { CMD_AMI_YAFU_RESET_DEVICE ,ENABLED},
  277. // { CMD_AMI_YAFU_GET_ECF_STATUS ,ENABLED},
  278. // { CMD_AMI_YAFU_GET_VERIFY_STATUS ,ENABLED},
  279. // { CMD_AMI_YAFU_DUAL_IMAGE_SUP ,ENABLED},
  280. // { CMD_AMI_GET_CHANNEL_NUM ,ENABLED},
  281. // { CMD_AMI_GET_ETH_INDEX ,ENABLED},
  282. // { CMD_AMI_YAFU_FIRMWARE_SELECT_FLASH ,ENABLED},
  283. // { CMD_AMI_YAFU_SIGNIMAGEKEY_REPLACE ,ENABLED},
  284. // /*-------------------- AMI Smtp Commands -----------------------*/
  285. // { CMD_SET_SMTP_CONFIG_PARAMS ,ENABLED},
  286. // { CMD_GET_SMTP_CONFIG_PARAMS ,ENABLED},
  287. // { CMD_AMI_GET_EMAIL_USER ,ENABLED},
  288. // { CMD_AMI_SET_EMAIL_USER ,ENABLED},
  289. // { CMD_AMI_GET_EMAILFORMAT_USER ,ENABLED},
  290. // { CMD_AMI_SET_EMAILFORMAT_USER ,ENABLED},
  291. // { CMD_AMI_RESET_PASS ,ENABLED},
  292. // { CMD_AMI_RESTORE_DEF ,ENABLED},
  293. // { CMD_AMI_GET_LOG_CONF ,ENABLED},
  294. // { CMD_AMI_SET_LOG_CONF ,ENABLED},
  295. // /*-------------------- AMI Get Bios Code Commands -----------------------------------------*/
  296. // { CMD_AMI_GET_BIOS_CODE ,ENABLED},
  297. // /*-------------------- AMI SERVICE Commands -----------------------------------------*/
  298. // { CMD_AMI_GET_SERVICE_CONF ,ENABLED},
  299. // { CMD_AMI_SET_SERVICE_CONF ,ENABLED},
  300. // { CMD_AMI_LINK_DOWN_RESILENT ,ENABLED},
  301. // /*-------------------- AMI DNS Commands -----------------------------------------*/
  302. // { CMD_AMI_GET_DNS_CONF ,ENABLED},
  303. // { CMD_AMI_SET_DNS_CONF ,ENABLED},
  304. // /*-------------------- AMI Iface State Commands -----------------------------------------*/
  305. // { CMD_AMI_GET_IFACE_STATE ,ENABLED},
  306. // { CMD_AMI_SET_IFACE_STATE ,ENABLED},
  307. // { CMD_AMI_SET_FIREWALL ,ENABLED},
  308. // { CMD_AMI_GET_FIREWALL ,ENABLED},
  309. // { CMD_AMI_GET_FRU_DETAILS ,ENABLED},
  310. // { CMD_AMI_GET_ROOT_USER_ACCESS ,ENABLED},
  311. // { CMD_AMI_SET_ROOT_PASSWORD ,ENABLED},
  312. // { CMD_AMI_GET_USER_SHELLTYPE ,DISABLED},
  313. // { CMD_AMI_SET_USER_SHELLTYPE ,DISABLED},
  314. // { CMD_AMI_SET_EXTENDED_PRIV ,ENABLED},
  315. // { CMD_AMI_GET_EXTENDED_PRIV ,ENABLED},
  316. // { CMD_AMI_SET_TIMEZONE ,ENABLED},
  317. // { CMD_AMI_GET_TIMEZONE ,ENABLED},
  318. // { CMD_AMI_GET_NTP_CFG ,ENABLED},
  319. // { CMD_AMI_SET_NTP_CFG ,ENABLED},
  320. // { CMD_AMI_SET_TRIGGER_EVT ,ENABLED},
  321. // { CMD_AMI_GET_TRIGGER_EVT ,ENABLED},
  322. // { CMD_AMI_GET_SOL_CONFIG_PARAMS ,ENABLED},
  323. // { CMD_AMI_SET_LOGIN_AUDIT_CFG, ENABLED },
  324. // { CMD_AMI_GET_LOGIN_AUDIT_CFG, ENABLED },
  325. // { CMD_AMI_GET_IPV6_ADDRESS, ENABLED },
  326. // { CMD_AMI_SET_SNMP_CONF, ENABLED },
  327. // { CMD_AMI_GET_SNMP_CONF, ENABLED },
  328. // { CMD_AMI_SET_PAM_ORDER, ENABLED },
  329. // { CMD_AMI_GET_PAM_ORDER, ENABLED },
  330. // { CMD_AMI_GET_CHANNEL_TYPE, ENABLED },
  331. // /*------------------------------ AMI SEL Commands ------------------------------*/
  332. // { CMD_AMI_GET_SEL_POLICY, ENABLED },
  333. // { CMD_AMI_SET_SEL_POLICY, ENABLED },
  334. // { CMD_AMI_SET_PRESERVE_CONF, ENABLED },
  335. // { CMD_AMI_GET_PRESERVE_CONF, ENABLED },
  336. // { CMD_AMI_GET_SEL_ENTIRES, ENABLED },
  337. // { CMD_AMI_GET_SENSOR_INFO, ENABLED },
  338. // { CMD_AMI_SET_ALL_PRESERVE_CONF, ENABLED },
  339. // { CMD_AMI_GET_ALL_PRESERVE_CONF, ENABLED },
  340. // /*------------------------------- TFTP Firmware Update -------------------------*/
  341. // { CMD_AMI_START_TFTP_FW_UPDATE, ENABLED },
  342. // { CMD_AMI_GET_TFTP_FW_PROGRESS_STATUS, ENABLED },
  343. // { CMD_AMI_SET_FW_CONFIGURATION, ENABLED },
  344. // { CMD_AMI_GET_FW_CONFIGURATION, ENABLED },
  345. // { CMD_AMI_SET_FW_PROTOCOL, ENABLED },
  346. // { CMD_AMI_GET_FW_PROTOCOL, ENABLED },
  347. // { CMD_AMI_GET_IPMI_SESSION_TIMEOUT, ENABLED},
  348. //
  349. // /*------------------------------- UDS Channel Info Command ---------------------*/
  350. // { CMD_AMI_GET_UDS_CHANNEL_INFO, ENABLED },
  351. // { CMD_AMI_GET_UDS_SESSION_INFO, ENABLED },
  352. //
  353. // /*-------------------------------AMI Dual Image Support Command-----------------*/
  354. // { CMD_AMI_DUAL_IMG_SUPPORT, ENABLED },
  355. // /*---------- Password Encryption Key--------- */
  356. // { CMD_AMI_SET_PWD_ENCRYPTION_KEY, ENABLED },
  357. // /*-------------------------------U-Boot Memory Test-----------------------------*/
  358. // { CMD_AMI_SET_UBOOT_MEMTEST, ENABLED},
  359. // { CMD_AMI_GET_UBOOT_MEMTEST_STATUS, ENABLED},
  360. // /*-------------------- AMI Remote Images serviceCommands ----------------------------*/
  361. // { CMD_AMI_GET_RIS_CONF ,ENABLED},
  362. // { CMD_AMI_SET_RIS_CONF ,ENABLED},
  363. // { CMD_AMI_RIS_START_STOP ,ENABLED},
  364. // /*---------------------AMI Control Debug Messages Commands-----------------------*/
  365. // { CMD_AMI_CTL_DBG_MSG, ENABLED },
  366. // { CMD_AMI_GET_DBG_MSG_STATUS, ENABLED },
  367. // { CMD_AMI_VIRTUAL_DEVICE_SET_STATUS, ENABLED },
  368. // { CMD_AMI_VIRTUAL_DEVICE_GET_STATUS, ENABLED },
  369. //
  370. // { CMD_AMI_GET_LICENSE_VALIDITY, ENABLED},
  371. // { CMD_AMI_ADD_LICENSE_KEY, ENABLED},
  372. // {0 ,0 }
  373. //};
  374. //const NetFnCmds_T g_opma1 [] =
  375. //{
  376. // { CMD_OPMA_SET_SENSOR_RD_OFFSET ,ENABLED},
  377. // { CMD_OPMA_GET_SENSOR_RD_OFFSET ,ENABLED},
  378. // { 0 ,0 }
  379. //};
  380. //const NetFnCmds_T g_opma2 [] =
  381. //{
  382. // { CMD_OPMA_SET_SYS_TYPE_ID ,ENABLED},
  383. // { CMD_OPMA_GET_SYS_TYPE_ID ,ENABLED},
  384. // { CMD_OPMA_GET_MCARD_CAP ,ENABLED},
  385. // { CMD_OPMA_CLR_CMOS ,ENABLED},
  386. // { CMD_OPMA_SET_LOCAL_LOCKOUT ,ENABLED},
  387. // { CMD_OPMA_GET_LOCAL_LOCKOUT ,ENABLED},
  388. // { CMD_OPMA_GET_SUPPORTED_HOST_IDS ,ENABLED},
  389. // { 0 ,0 }
  390. //};
  391. //const NetFnCmds_T g_apml [] =
  392. //{
  393. // {CMD_APML_GET_INTERFACE_VERSION ,ENABLED },
  394. // {CMD_APML_READ_RMI_REG ,ENABLED},
  395. // {CMD_APML_WRITE_RMI_REG ,ENABLED},
  396. // {CMD_APML_READ_CPUID ,ENABLED},
  397. // {CMD_APML_READ_HTC_REG ,ENABLED},
  398. // {CMD_APML_WRITE_HTC_REG ,ENABLED},
  399. // {CMD_APML_READ_PSTATE ,ENABLED},
  400. // {CMD_APML_READ_MAX_PSTATE ,ENABLED},
  401. // {CMD_APML_READ_PSTATE_LIMIT ,ENABLED},
  402. // {CMD_APML_WRITE_PSTATE_LIMIT ,ENABLED},
  403. // {CMD_APML_READ_MCR ,ENABLED},
  404. // {CMD_APML_WRITE_MCR ,ENABLED},
  405. // {CMD_APML_READ_TSI_REG ,ENABLED},
  406. // {CMD_APML_WRITE_TSI_REG ,ENABLED},
  407. // {CMD_APML_READ_TDP_LIMIT_REG ,ENABLED},
  408. // {CMD_APML_WRITE_TDP_LIMIT_REG ,ENABLED},
  409. // {CMD_APML_READ_PROCESSOR_POWER_REG ,ENABLED},
  410. // {CMD_APML_READ_POWER_AVERAGING_REG ,ENABLED},
  411. // {CMD_APML_READ_DRAM_THROTTLE_REG ,ENABLED},
  412. // {CMD_APML_WRITE_DRAM_THROTTLE_REG ,ENABLED},
  413. // {0 ,0 }
  414. //};
  415. //const NetFnCmds_T g_dcmi [] =
  416. //{
  417. // /* DCMI Commands */
  418. // { CMD_GET_DCMI_CAPABILITY_INFO ,ENABLED},
  419. // { CMD_GET_POWER_READING ,ENABLED},
  420. // { CMD_GET_POWER_LIMIT ,ENABLED},
  421. // { CMD_SET_POWER_LIMIT ,ENABLED},
  422. // { CMD_ACTIVATE_POWER_LIMIT ,ENABLED},
  423. // { CMD_GET_ASSET_TAG ,ENABLED},
  424. // { CMD_GET_DCMI_SENSOR_INFO ,ENABLED},
  425. // { CMD_SET_ASSET_TAG ,ENABLED},
  426. // { CMD_GET_MANAGEMENT_CONTROLLER_ID_STRING ,ENABLED},
  427. // { CMD_SET_MANAGEMENT_CONTROLLER_ID_STRING ,ENABLED},
  428. // {CMD_SET_THERMAL_LIMIT ,ENABLED},
  429. // {CMD_GET_THERMAL_LIMIT ,ENABLED},
  430. // {CMD_GET_TEMPERATURE_READING ,ENABLED},
  431. // {CMD_SET_DCMI_CONF_PARAMS ,ENABLED},
  432. // {CMD_GET_DCMI_CONF_PARAMS ,ENABLED},
  433. // { 0 ,0 }
  434. //};
  435. //const NetFnCmds_T g_hpm [] =
  436. //{
  437. // //PICMG
  438. // {CMD_GET_PICMG_PROPERTIES ,ENABLED},
  439. // {CMD_GET_ADDR_INFO ,ENABLED},
  440. // {CMD_GET_DEV_LOCATOR_REC_ID ,ENABLED},
  441. //
  442. // //hpm
  443. // { CMD_GET_TARGET_UPLD_CAPABLITIES, ENABLED},
  444. // { CMD_GET_COMPONENT_PROPERTIES, ENABLED},
  445. // { CMD_INITIATE_UPG_ACTION, ENABLED},
  446. // { CMD_QUERY_SELF_TEST_RESULTS, ENABLED},
  447. // { CMD_ABORT_FIRMWARE_UPGRADE, ENABLED},
  448. // { CMD_UPLOAD_FIRMWARE_BLOCK, ENABLED},
  449. // { CMD_FINISH_FIRMWARE_UPLOAD, ENABLED},
  450. // { CMD_GET_UPGRADE_STATUS, ENABLED},
  451. // { CMD_ACTIVATE_FIRMWARE, ENABLED},
  452. // { CMD_QUERY_ROLLBACK_STATUS, ENABLED},
  453. // { CMD_INITIATE_MANUAL_ROLLBACK, ENABLED},
  454. // { 0, 0 }
  455. //};
  456. //const NetFnCmds_T g_pnm [] =
  457. //{
  458. // {CMD_PNM_OEM_GET_READING ,ENABLED},
  459. // {CMD_PNM_OEM_ME_POWER_STATE_CHANGE ,ENABLED},
  460. // {0 ,0 }
  461. //};
  462. //const NetFnCmds_T g_ssi [] =
  463. //{
  464. // { CMD_SSICB_GET_COMPUTE_BLADE_PROPERTIES, ENABLED},
  465. // { CMD_SSICB_GET_ADDR_INFO, ENABLED},
  466. // { CMD_SSICB_PLATFORM_EVENT_MESSAGE, ENABLED},
  467. // { CMD_SSICB_MODULE_BMI_CONTROL, ENABLED},
  468. // { CMD_SSICB_MODULE_PAYLOAD_CONTROL, ENABLED},
  469. // { CMD_SSICB_SET_SYSTEM_EVENT_LOG_POLICY, ENABLED},
  470. // { CMD_SSICB_SET_MODULE_ACTIVATION_POLICY, ENABLED},
  471. // { CMD_SSICB_GET_MODULE_ACTIVATION_POLICY, ENABLED},
  472. // { CMD_SSICB_SET_MODULE_ACTIVATION, ENABLED},
  473. // { CMD_SSICB_SET_POWER_LEVEL, ENABLED},
  474. // { CMD_SSICB_GET_POWER_LEVEL, ENABLED},
  475. // { CMD_SSICB_RENEGOTIATE_POWER, ENABLED},
  476. // { CMD_SSICB_GET_SERVICE_INFO, ENABLED},
  477. // { CMD_SSICB_GET_APPLET_PACKAGE_URI, ENABLED},
  478. // { CMD_SSICB_GET_SERVICE_ENABLE_STATE, ENABLED},
  479. // { CMD_SSICB_SET_SERVICE_ENABLE_STATE, ENABLED},
  480. // { CMD_SSICB_SET_SERVICE_TICKET, ENABLED},
  481. // { CMD_SSICB_STOP_SERVICE_SESSION, ENABLED},
  482. // { 0, 0}
  483. //};
  484. const NetFnCmds_T g_oem[] = //jimbo add
  485. {
  486. { CMD_EXAMPLE_0h , ENABLED},
  487. { CMD_EXAMPLE_1h , ENABLED},
  488. { CMD_EXAMPLE_1h , ENABLED},
  489. { CMD_EXAMPLE_2h , ENABLED},
  490. { CMD_EXAMPLE_3h , ENABLED},
  491. { CMD_EXAMPLE_4h , ENABLED},
  492. { CMD_EXAMPLE_5h , ENABLED},
  493. { CMD_EXAMPLE_6h , ENABLED},
  494. { CMD_EXAMPLE_7h , ENABLED},
  495. { CMD_EXAMPLE_8h , ENABLED},
  496. { CMD_EXAMPLE_9h , ENABLED},
  497. { CMD_EXAMPLE_ah , ENABLED},
  498. { CMD_EXAMPLE_bh , ENABLED},
  499. { CMD_EXAMPLE_ch , ENABLED},
  500. { CMD_EXAMPLE_dh , ENABLED},
  501. { CMD_EXAMPLE_eh , ENABLED},
  502. { CMD_EXAMPLE_fh , ENABLED},
  503. { CMD_EXAMPLE_10h , ENABLED},
  504. { CMD_EXAMPLE_11h , ENABLED},
  505. { CMD_EXAMPLE_12h , ENABLED},
  506. { CMD_EXAMPLE_13h , ENABLED},
  507. { CMD_EXAMPLE_14h , ENABLED},
  508. { CMD_EXAMPLE_15h , ENABLED},
  509. { CMD_EXAMPLE_16h , ENABLED},
  510. { CMD_EXAMPLE_17h , ENABLED},
  511. { CMD_EXAMPLE_18h , ENABLED},
  512. { CMD_EXAMPLE_19h , ENABLED},
  513. { CMD_EXAMPLE_1ah , ENABLED},
  514. { CMD_EXAMPLE_1bh , ENABLED},
  515. { CMD_EXAMPLE_1ch , ENABLED},
  516. { CMD_EXAMPLE_1dh , ENABLED},
  517. { CMD_EXAMPLE_1eh , ENABLED},
  518. { CMD_EXAMPLE_1fh , ENABLED},
  519. { CMD_EXAMPLE_20h , ENABLED},
  520. { CMD_EXAMPLE_21h , ENABLED},
  521. { CMD_EXAMPLE_22h , ENABLED},
  522. { CMD_EXAMPLE_23h , ENABLED},
  523. { CMD_EXAMPLE_24h , ENABLED},
  524. { CMD_EXAMPLE_25h , ENABLED},
  525. { CMD_EXAMPLE_26h , ENABLED},
  526. { CMD_EXAMPLE_27h , ENABLED},
  527. { CMD_EXAMPLE_28h , ENABLED},
  528. { CMD_EXAMPLE_29h , ENABLED},
  529. { CMD_EXAMPLE_2ah , ENABLED},
  530. { CMD_EXAMPLE_2bh , ENABLED},
  531. { CMD_EXAMPLE_2ch , ENABLED},
  532. { CMD_EXAMPLE_2dh , ENABLED},
  533. { CMD_EXAMPLE_2eh , ENABLED},
  534. { CMD_EXAMPLE_2fh , ENABLED},
  535. { CMD_EXAMPLE_30h , ENABLED},
  536. { CMD_EXAMPLE_31h , ENABLED},
  537. { CMD_EXAMPLE_32h , ENABLED},
  538. { CMD_EXAMPLE_33h , ENABLED},
  539. { CMD_EXAMPLE_34h , ENABLED},
  540. { CMD_EXAMPLE_35h , ENABLED},
  541. { CMD_EXAMPLE_36h , ENABLED},
  542. { CMD_EXAMPLE_37h , ENABLED},
  543. { CMD_EXAMPLE_38h , ENABLED},
  544. { CMD_EXAMPLE_39h , ENABLED},
  545. { CMD_EXAMPLE_3ah , ENABLED},
  546. { CMD_EXAMPLE_3bh , ENABLED},
  547. { CMD_EXAMPLE_3ch , ENABLED},
  548. { CMD_EXAMPLE_3dh , ENABLED},
  549. { CMD_EXAMPLE_3eh , ENABLED},
  550. { CMD_EXAMPLE_3fh , ENABLED},
  551. { CMD_EXAMPLE_40h , ENABLED},
  552. { CMD_EXAMPLE_41h , ENABLED},
  553. { CMD_EXAMPLE_42h , ENABLED},
  554. { CMD_EXAMPLE_43h , ENABLED},
  555. { CMD_EXAMPLE_44h , ENABLED},
  556. { CMD_EXAMPLE_45h , ENABLED},
  557. { CMD_EXAMPLE_46h , ENABLED},
  558. { CMD_EXAMPLE_47h , ENABLED},
  559. { CMD_EXAMPLE_48h , ENABLED},
  560. { CMD_EXAMPLE_49h , ENABLED},
  561. { CMD_EXAMPLE_4ah , ENABLED},
  562. { CMD_EXAMPLE_4bh , ENABLED},
  563. { CMD_EXAMPLE_4ch , ENABLED},
  564. { CMD_EXAMPLE_4dh , ENABLED},
  565. { CMD_EXAMPLE_4eh , ENABLED},
  566. { CMD_EXAMPLE_4fh , ENABLED},
  567. { CMD_EXAMPLE_50h , ENABLED},
  568. { CMD_EXAMPLE_51h , ENABLED},
  569. { CMD_EXAMPLE_52h , ENABLED},
  570. { CMD_EXAMPLE_53h , ENABLED},
  571. { CMD_EXAMPLE_54h , ENABLED},
  572. { CMD_EXAMPLE_55h , ENABLED},
  573. { CMD_EXAMPLE_56h , ENABLED},
  574. { CMD_EXAMPLE_57h , ENABLED},
  575. { CMD_EXAMPLE_58h , ENABLED},
  576. { CMD_EXAMPLE_59h , ENABLED},
  577. { CMD_EXAMPLE_5ah , ENABLED},
  578. { CMD_EXAMPLE_5bh , ENABLED},
  579. { CMD_EXAMPLE_5ch , ENABLED},
  580. { CMD_EXAMPLE_5dh , ENABLED},
  581. { CMD_EXAMPLE_5eh , ENABLED},
  582. { CMD_EXAMPLE_5fh , ENABLED},
  583. { CMD_EXAMPLE_60h , ENABLED},
  584. { CMD_EXAMPLE_61h , ENABLED},
  585. { CMD_EXAMPLE_62h , ENABLED},
  586. { CMD_EXAMPLE_63h , ENABLED},
  587. { CMD_EXAMPLE_64h , ENABLED},
  588. { CMD_EXAMPLE_65h , ENABLED},
  589. { CMD_EXAMPLE_66h , ENABLED},
  590. { CMD_EXAMPLE_67h , ENABLED},
  591. { CMD_EXAMPLE_68h , ENABLED},
  592. { CMD_EXAMPLE_69h , ENABLED},
  593. { CMD_EXAMPLE_6ah , ENABLED},
  594. { CMD_EXAMPLE_6bh , ENABLED},
  595. { CMD_EXAMPLE_6ch , ENABLED},
  596. { CMD_EXAMPLE_6dh , ENABLED},
  597. { CMD_EXAMPLE_6eh , ENABLED},
  598. { CMD_EXAMPLE_6fh , ENABLED},
  599. { CMD_EXAMPLE_70h , ENABLED},
  600. { CMD_EXAMPLE_71h , ENABLED},
  601. { CMD_EXAMPLE_72h , ENABLED},
  602. { CMD_EXAMPLE_73h , ENABLED},
  603. { CMD_EXAMPLE_74h , ENABLED},
  604. { CMD_EXAMPLE_75h , ENABLED},
  605. { CMD_EXAMPLE_76h , ENABLED},
  606. { CMD_EXAMPLE_77h , ENABLED},
  607. { CMD_EXAMPLE_78h , ENABLED},
  608. { CMD_EXAMPLE_79h , ENABLED},
  609. { CMD_EXAMPLE_7ah , ENABLED},
  610. { CMD_EXAMPLE_7bh , ENABLED},
  611. { CMD_EXAMPLE_7ch , ENABLED},
  612. { CMD_EXAMPLE_7dh , ENABLED},
  613. { CMD_EXAMPLE_7eh , ENABLED},
  614. { CMD_EXAMPLE_7fh , ENABLED},
  615. /********* storlead oem command ***********/
  616. { CMD_EXAMPLE_80h , ENABLED},
  617. { CMD_EXAMPLE_81h , ENABLED},
  618. { CMD_EXAMPLE_82h , ENABLED},
  619. { CMD_EXAMPLE_83h , ENABLED},
  620. { CMD_EXAMPLE_84h , ENABLED},
  621. { CMD_EXAMPLE_85h , ENABLED},
  622. { CMD_EXAMPLE_86h , ENABLED},
  623. { CMD_EXAMPLE_87h , ENABLED},
  624. { CMD_EXAMPLE_88h , ENABLED},
  625. { CMD_EXAMPLE_89h , ENABLED},
  626. { CMD_EXAMPLE_8ah , ENABLED},
  627. { CMD_EXAMPLE_8bh , ENABLED},
  628. { CMD_EXAMPLE_8ch , ENABLED},
  629. { CMD_EXAMPLE_8dh , ENABLED},
  630. { CMD_EXAMPLE_8eh , ENABLED},
  631. { CMD_EXAMPLE_8fh , ENABLED},
  632. { CMD_EXAMPLE_90h , ENABLED},
  633. { CMD_EXAMPLE_91h , ENABLED},
  634. { CMD_EXAMPLE_92h , ENABLED},
  635. { CMD_EXAMPLE_93h , ENABLED},
  636. { CMD_EXAMPLE_94h , ENABLED},
  637. { CMD_EXAMPLE_95h , ENABLED},
  638. { CMD_EXAMPLE_96h , ENABLED},
  639. { CMD_EXAMPLE_97h , ENABLED},
  640. { CMD_EXAMPLE_98h , ENABLED},
  641. { CMD_EXAMPLE_99h , ENABLED},
  642. { CMD_EXAMPLE_9ah , ENABLED},
  643. { CMD_EXAMPLE_9bh , ENABLED},
  644. { CMD_EXAMPLE_9ch , ENABLED},
  645. { CMD_EXAMPLE_9dh , ENABLED},
  646. { CMD_EXAMPLE_9eh , ENABLED},
  647. { CMD_EXAMPLE_9fh , ENABLED},
  648. /************************************************************/
  649. { CMD_EXAMPLE_a0h , ENABLED},
  650. { CMD_EXAMPLE_a1h , ENABLED},
  651. { CMD_EXAMPLE_a2h , ENABLED},
  652. { CMD_EXAMPLE_a3h , ENABLED},
  653. { CMD_EXAMPLE_a4h , ENABLED},
  654. { CMD_EXAMPLE_a5h , ENABLED},
  655. { CMD_EXAMPLE_a6h , ENABLED},
  656. { CMD_EXAMPLE_a7h , ENABLED},
  657. { CMD_EXAMPLE_a8h , ENABLED},
  658. { CMD_EXAMPLE_a9h , ENABLED},
  659. { CMD_EXAMPLE_aah , ENABLED},
  660. { CMD_EXAMPLE_abh , ENABLED},
  661. { CMD_EXAMPLE_ach , ENABLED},
  662. { CMD_EXAMPLE_adh , ENABLED},
  663. { CMD_EXAMPLE_aeh , ENABLED},
  664. { CMD_EXAMPLE_afh , ENABLED},
  665. { CMD_EXAMPLE_b0h , ENABLED},
  666. { CMD_EXAMPLE_b1h , ENABLED},
  667. { CMD_EXAMPLE_b2h , ENABLED},
  668. { CMD_EXAMPLE_b3h , ENABLED},
  669. { CMD_EXAMPLE_b4h , ENABLED},
  670. { CMD_EXAMPLE_b5h , ENABLED},
  671. { CMD_EXAMPLE_b6h , ENABLED},
  672. { CMD_EXAMPLE_b7h , ENABLED},
  673. { CMD_EXAMPLE_b8h , ENABLED},
  674. { CMD_EXAMPLE_b9h , ENABLED},
  675. { CMD_EXAMPLE_bah , ENABLED},
  676. { CMD_EXAMPLE_bbh , ENABLED},
  677. { CMD_EXAMPLE_bch , ENABLED},
  678. { CMD_EXAMPLE_bdh , ENABLED},
  679. { CMD_EXAMPLE_beh , ENABLED},
  680. { CMD_EXAMPLE_bfh , ENABLED},
  681. { CMD_EXAMPLE_c0h , ENABLED},
  682. { CMD_EXAMPLE_c1h , ENABLED},
  683. { CMD_EXAMPLE_c2h , ENABLED},
  684. { CMD_EXAMPLE_c3h , ENABLED},
  685. { CMD_EXAMPLE_c4h , ENABLED},
  686. { CMD_EXAMPLE_c5h , ENABLED},
  687. { CMD_EXAMPLE_c6h , ENABLED},
  688. { CMD_EXAMPLE_c7h , ENABLED},
  689. { CMD_EXAMPLE_c8h , ENABLED},
  690. { CMD_EXAMPLE_c9h , ENABLED},
  691. { CMD_EXAMPLE_cah , ENABLED},
  692. { CMD_EXAMPLE_cbh , ENABLED},
  693. { CMD_EXAMPLE_cch , ENABLED},
  694. { CMD_EXAMPLE_cdh , ENABLED},
  695. { CMD_EXAMPLE_ceh , ENABLED},
  696. { CMD_EXAMPLE_cfh , ENABLED},
  697. { CMD_EXAMPLE_d0h , ENABLED},
  698. { CMD_EXAMPLE_d1h , ENABLED},
  699. { CMD_EXAMPLE_d2h , ENABLED},
  700. { CMD_EXAMPLE_d3h , ENABLED},
  701. { CMD_EXAMPLE_d4h , ENABLED},
  702. { CMD_EXAMPLE_d5h , ENABLED},
  703. { CMD_EXAMPLE_d6h , ENABLED},
  704. { CMD_EXAMPLE_d7h , ENABLED},
  705. { CMD_EXAMPLE_d8h , ENABLED},
  706. { CMD_EXAMPLE_d9h , ENABLED},
  707. { CMD_EXAMPLE_dah , ENABLED},
  708. { CMD_EXAMPLE_dbh , ENABLED},
  709. { CMD_EXAMPLE_dch , ENABLED},
  710. { CMD_EXAMPLE_ddh , ENABLED},
  711. { CMD_EXAMPLE_deh , ENABLED},
  712. { CMD_EXAMPLE_dfh , ENABLED},
  713. { CMD_EXAMPLE_e0h , ENABLED},
  714. { CMD_EXAMPLE_e1h , ENABLED},
  715. { CMD_EXAMPLE_e2h , ENABLED},
  716. { CMD_EXAMPLE_e3h , ENABLED},
  717. { CMD_EXAMPLE_e4h , ENABLED},
  718. { CMD_EXAMPLE_e5h , ENABLED},
  719. { CMD_EXAMPLE_e6h , ENABLED},
  720. { CMD_EXAMPLE_e7h , ENABLED},
  721. { CMD_EXAMPLE_e8h , ENABLED},
  722. { CMD_EXAMPLE_e9h , ENABLED},
  723. { CMD_EXAMPLE_eah , ENABLED},
  724. { CMD_EXAMPLE_ebh , ENABLED},
  725. { CMD_EXAMPLE_ech , ENABLED},
  726. { CMD_EXAMPLE_edh , ENABLED},
  727. { CMD_EXAMPLE_eeh , ENABLED},
  728. { CMD_EXAMPLE_efh , ENABLED},
  729. { CMD_EXAMPLE_f0h , ENABLED},
  730. { CMD_EXAMPLE_f1h , ENABLED},
  731. { CMD_EXAMPLE_f2h , ENABLED},
  732. { CMD_EXAMPLE_f3h , ENABLED},
  733. { CMD_EXAMPLE_f4h , ENABLED},
  734. { CMD_EXAMPLE_f5h , ENABLED},
  735. { CMD_EXAMPLE_f6h , ENABLED},
  736. { CMD_EXAMPLE_f7h , ENABLED},
  737. { CMD_EXAMPLE_f8h , ENABLED},
  738. { CMD_EXAMPLE_f9h , ENABLED},
  739. { CMD_EXAMPLE_fah , ENABLED},
  740. { CMD_EXAMPLE_fbh , ENABLED},
  741. { CMD_EXAMPLE_fch , ENABLED},
  742. { CMD_EXAMPLE_fdh , ENABLED},
  743. { CMD_EXAMPLE_feh , ENABLED},
  744. { CMD_EXAMPLE_ffh , ENABLED},
  745. {0, 0}
  746. };
  747. const NetFnCmds_T g_Storlead [] =
  748. {
  749. /*------------------------- IPM Device Commands --------------------------------------*/
  750. { CMD_GET_SYS_INFO ,ENABLED},
  751. { CMD_GET_SENSOR_INFO ,ENABLED},
  752. { CMD_GET_SEL_ENTIRES ,ENABLED},
  753. { CMD_AUTHOR_VERIFY ,ENABLED},
  754. { CMD_GET_SENSOR_HISTORY ,ENABLED},
  755. { CMD_GET_FAN_INFO ,ENABLED},
  756. { CMD_SET_FAN_INFO ,ENABLED},
  757. { CMD_GET_ALLBLADE_INFO ,ENABLED},
  758. // { CMD_SET_MANAGE_FN ,ENABLED},
  759. // { CMD_GET_MANAGE_FN ,ENABLED},
  760. { CMD_GET_CHASSIS_INFO ,ENABLED},
  761. { CMD_RESTORE_FACTORY_SET ,ENABLED},
  762. { CMD_GET_LAN_INFO ,ENABLED},
  763. { CMD_SET_LAN_INFO ,ENABLED},
  764. { CMD_GET_BLADE_INFO ,ENABLED},
  765. { CMD_GET_SENSOR_NAME ,ENABLED},
  766. {0, 0 },
  767. };
  768. NETFNTable_T Netfntbl [] =
  769. {
  770. { NETFN_APP, GRPEXT_NA, g_App },
  771. { NETFN_CHASSIS, GRPEXT_NA, g_Chassis },
  772. { NETFN_BRIDGE, GRPEXT_NA, g_Bridge },
  773. { NETFN_SENSOR, GRPEXT_NA, g_Sensor },
  774. { NETFN_STORAGE, GRPEXT_NA, g_Storage },
  775. { NETFN_STORLEAD, GRPEXT_NA, g_Storlead },
  776. { NETFN_TRANSPORT, GRPEXT_NA, g_Transport },
  777. // { NETFN_AMI, GRPEXT_NA, g_AMI },
  778. // { NETFN_OPMA1, GRPEXT_NA, g_opma1 },
  779. // { NETFN_OPMA2, GRPEXT_NA, g_opma2 },
  780. // { NETFN_APML, GRPEXT_NA, g_apml },
  781. // { NETFN_HPM, GRPEXT_HPM, g_hpm }, //jimbo add picmg
  782. // { NETFN_DCMI, GRPEXT_DCMI, g_dcmi },
  783. // { NETFN_PNM, GRPEXT_NA, g_pnm },
  784. // { NETFN_SSI, GRPEXT_SSI, g_ssi },
  785. { NETFN_OEM, GRPEXT_NA, g_oem }, //jimbo add
  786. // { NETFN_PICMG, GRPEXT_PICMG, g_picmg }, //jimbo add
  787. };
  788. /*
  789. *@fn GetCommanEnabledStatus
  790. *@brief This function finds whether the command is enabled by the OEM
  791. *@param NetFunction - Pointer to the structure of NetFnCmds_T
  792. *@param Cmd - Command Number
  793. *@return Returns 0 on Enabled commands
  794. * Returns -1 on non-Enabled commands
  795. */
  796. int GetCommanEnabledStatus(NETFNTable_T *NetFuntbl,uint8_t Cmd)
  797. {
  798. int i=0;
  799. while(NetFuntbl->NetFunction[i].Status != 0)
  800. {
  801. if(NetFuntbl->NetFunction[i].CmdNum == Cmd)
  802. {
  803. if(NetFuntbl->NetFunction[i].Status == ENABLED)
  804. {
  805. return 0;
  806. }
  807. else
  808. {
  809. return -1;
  810. }
  811. }
  812. i++;
  813. }
  814. return -1;
  815. }
  816. /*
  817. *@fn IsCommandEnabled
  818. *@brief This function gives the status of Command
  819. *@param NetFn - Net Function
  820. *@param GroupExtnCode - Group Extension Code
  821. *@param Cmd - Command Number
  822. *@return Returns 0 if the command is Enabled
  823. * Returns -1 if the command is Disabled
  824. */
  825. int IsCommandEnabled(uint8_t NetFn,uint8_t* GroupExtnCode,uint8_t Cmd)
  826. {
  827. int i=0;
  828. while(i<(sizeof(Netfntbl)/sizeof(NETFNTable_T)))
  829. {
  830. if(NetFn == Netfntbl[i].NetFn)
  831. {
  832. if (Netfntbl[i].NetFn == NETFN_DCMI)
  833. {
  834. //printf("---> i=%d, NetFn = %#x\n", i, Netfntbl[i].NetFn);
  835. if(GroupExtnCode != NULL)
  836. {
  837. if (Netfntbl[i].GroupExtCode == *GroupExtnCode)
  838. {
  839. //printf("---> i = %d, GroupExtnCode = %#x\n", i, *GroupExtnCode);
  840. break;
  841. }
  842. }
  843. }
  844. else
  845. {
  846. //printf("---> netfn log\n");
  847. break;
  848. }
  849. }
  850. i++;
  851. }
  852. if(i != sizeof(Netfntbl)/sizeof(NETFNTable_T))
  853. {
  854. if(GetCommanEnabledStatus((NETFNTable_T*)&Netfntbl[i],Cmd) < 0)
  855. {
  856. printf("Warning: invalid command\n");
  857. return -1;
  858. }
  859. }
  860. else
  861. {
  862. printf("Warning: not find netfn\n");
  863. return -1;
  864. }
  865. return 0;
  866. }