Signed-off-by: Gabriel Krisman Bertazi <kris...@linux.vnet.ibm.com> --- iprconfig.c | 30 ++++++++++++++++++++++++++++++ iprconfig.h | 16 +++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/iprconfig.c b/iprconfig.c index 322e566..157cce7 100644 --- a/iprconfig.c +++ b/iprconfig.c @@ -11675,6 +11675,36 @@ int choose_ucode(i_container * i_con) return 0; } +/** +* ucode_screen - Configure microcode screen +* @i_con: i_container struct +* +* Returns: +* 0 if success / non-zero on failure +**/ +int ucode_screen(i_container *i_con) +{ + int rc; + struct screen_output *s_out; + int loop; + + for (loop = 0; loop < n_ucode_screen.num_opts; loop++) { + n_ucode_screen.body = + ipr_list_opts(n_ucode_screen.body, + n_ucode_screen.options[loop].key, + n_ucode_screen.options[loop].list_str); + } + + n_ucode_screen.body = ipr_end_list(n_ucode_screen.body); + + s_out = screen_driver(&n_ucode_screen, 0, NULL); + free(n_ucode_screen.body); + n_ucode_screen.body = NULL; + rc = s_out->rc; + free(s_out); + return rc; +} + #define MAX_CMD_LENGTH 1000 /** diff --git a/iprconfig.h b/iprconfig.h index 6b42ab2..5042c22 100644 --- a/iprconfig.h +++ b/iprconfig.h @@ -135,6 +135,7 @@ int disk_config(i_container * i_con); int ioa_config(i_container * i_con); int change_disk_config(i_container *); int change_ioa_config(i_container *); +int ucode_screen(i_container *i_con); int download_ucode(i_container *); int choose_ucode(i_container *); int log_menu(i_container *); @@ -194,7 +195,7 @@ struct screen_opts main_menu_opt[] = { {driver_config, "5", __("Work with driver configuration")}, {disk_config, "6", __("Work with disk configuration")}, {ioa_config, "7", __("Work with adapter configuration")}, - {download_ucode, "8", __("Download microcode")}, + {ucode_screen, "8", __("Work with Microcode updates")}, {log_menu, "9", __("Analyze log")}, }; @@ -1556,6 +1557,19 @@ s_node n_confirm_set_default_editor = { "" } }; + +struct screen_opts ucode_screen_opt[] = { + {download_ucode, "1", __("Download Ucode")}, +}; + +s_node n_ucode_screen = { + .rc_flags = (EXIT_FLAG | CANCEL_FLAG | REFRESH_FLAG), + .f_flags = (EXIT_FLAG | CANCEL_FLAG), + .num_opts = NUM_OPTS(ucode_screen_opt), + .options = &ucode_screen_opt[0], + .title = __("Work with microcode update") +}; + const char *screen_status[] = { /* 0 */ "", /* 1 */ "", -- 2.1.0 ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ Iprdd-devel mailing list Iprdd-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iprdd-devel