Signed-off-by: Gabriel Krisman Bertazi <[email protected]>
---
iprconfig.c | 30 ++++++++++++++++++++++++++++++
iprconfig.h | 16 +++++++++++++++-
2 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/iprconfig.c b/iprconfig.c
index 4ab7562..016e8a1 100644
--- a/iprconfig.c
+++ b/iprconfig.c
@@ -11717,6 +11717,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..9e91152 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 microcode")},
+};
+
+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
------------------------------------------------------------------------------
_______________________________________________
Iprdd-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iprdd-devel