cmdselect.c 42 KB

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