#include <errno.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include <stdio.h>#include <OpenIPMI/ipmiif.h>#include <OpenIPMI/ipmi_lanparm.h>#include <OpenIPMI/ipmi_cmdlang.h>#include <OpenIPMI/ipmi_mc.h>#include <OpenIPMI/internal/ipmi_malloc.h>#include <OpenIPMI/internal/locked_list.h>Go to the source code of this file.
Classes | |
| struct | lanparm_info_s |
| struct | lan_config_info_s |
| struct | find_config_s |
| struct | lp_item_s |
| struct | lps_s |
| struct | ulp_item_s |
| struct | ulps_s |
| struct | lp_config_op_s |
| struct | lanparm_mc_unlock_s |
Defines | |
| #define | LAN_CONFIG_NAME_LEN 80 |
| #define | FR(name, type) |
| #define | F(name, type) |
| #define | CMDS_LANPARM_LEN (sizeof(cmds_lanparm)/sizeof(ipmi_cmdlang_init_t)) |
Typedefs | |
| typedef lanparm_info_s | lanparm_info_t |
| typedef lan_config_info_s | lan_config_info_t |
| typedef find_config_s | find_config_t |
| typedef void(* | lp_set )(ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| typedef void(* | lp_out )(ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| typedef lp_item_s | lp_item_t |
| typedef void(* | ulp_set )(ipmi_cmd_info_t *cmd_info, int sel, char *val, ipmi_lan_config_t *lanc, void *func) |
| typedef void(* | ulp_out )(ipmi_cmd_info_t *cmd_info, int sel, char *name, ipmi_lan_config_t *lanc, void *func) |
| typedef ulp_item_s | ulp_item_t |
| typedef lp_config_op_s | lp_config_op_t |
| typedef lanparm_mc_unlock_s | lanparm_mc_unlock_t |
Functions | |
| static void | lanparm_list_handler (ipmi_lanparm_t *lanparm, void *cb_data) |
| static void | lanparm_list (ipmi_domain_t *domain, void *cb_data) |
| static void | get_mc_name (ipmi_mc_t *mc, void *cb_data) |
| static void | lanparm_info (ipmi_lanparm_t *lanparm, void *cb_data) |
| static void | lanparm_new (ipmi_mc_t *mc, void *cb_data) |
| static void | lanparm_close_done (ipmi_lanparm_t *lanparm, int err, void *cb_data) |
| static void | lanparm_close (ipmi_lanparm_t *lanparm, void *cb_data) |
| static int | find_config_handler (void *cb_data, void *item1, void *item2) |
| static ipmi_lan_config_t * | find_config (char *name, int delete) |
| static void | set_retint (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_retint (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_retbool (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_retbool (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_int (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_int (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_bool (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_bool (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_ip (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_ip (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_port (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_port (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_mac (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_mac (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | set_str (ipmi_cmd_info_t *cmd_info, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | out_str (ipmi_cmd_info_t *cmd_info, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | uset_bool (ipmi_cmd_info_t *cmd_info, int sel, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | uout_bool (ipmi_cmd_info_t *cmd_info, int sel, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | uset_int (ipmi_cmd_info_t *cmd_info, int sel, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | uout_int (ipmi_cmd_info_t *cmd_info, int sel, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | uset_ip (ipmi_cmd_info_t *cmd_info, int sel, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | uout_ip (ipmi_cmd_info_t *cmd_info, int sel, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | uset_mac (ipmi_cmd_info_t *cmd_info, int sel, char *val, ipmi_lan_config_t *lanc, void *func) |
| static void | uout_mac (ipmi_cmd_info_t *cmd_info, int sel, char *name, ipmi_lan_config_t *lanc, void *func) |
| static void | config_info (ipmi_cmd_info_t *cmd_info, ipmi_lan_config_t *config) |
| static void | lanparm_config_get_done (ipmi_lanparm_t *lanparm, int err, ipmi_lan_config_t *config, void *cb_data) |
| static void | lanparm_config_get (ipmi_lanparm_t *lanparm, void *cb_data) |
| static void | lanparm_config_set_done (ipmi_lanparm_t *lanparm, int err, void *cb_data) |
| static void | lanparm_config_set (ipmi_lanparm_t *lanparm, void *cb_data) |
| static void | lanparm_config_unlock_done (ipmi_lanparm_t *lanparm, int err, void *cb_data) |
| static void | lanparm_config_unlock (ipmi_lanparm_t *lanparm, void *cb_data) |
| static void | lanparm_config_close (ipmi_cmd_info_t *cmd_info) |
| static int | lanparm_config_list_handler (void *cb_data, void *item1, void *item2) |
| static void | lanparm_config_list (ipmi_cmd_info_t *cmd_info) |
| static int | lanparm_config_info_handler (void *cb_data, void *item1, void *item2) |
| static void | lanparm_config_info (ipmi_cmd_info_t *cmd_info) |
| static void | lanparm_config_update (ipmi_cmd_info_t *cmd_info) |
| static void | lanparm_unlock_mc_done (ipmi_lanparm_t *lanparm, int err, void *cb_data) |
| static void | lanparm_unlock_mc (ipmi_mc_t *mc, void *cb_data) |
| int | ipmi_cmdlang_lanparm_init (os_handler_t *os_hnd) |
| static int | config_destroy_handler (void *cb_data, void *item1, void *item2) |
| void | ipmi_cmdlang_lanparm_shutdown (void) |
Variables | |
| static locked_list_t * | lancs |
| static unsigned int | unique_num = 0 |
| static lp_item_t | lp_retint = {set_retint, out_retint} |
| static lp_item_t | lp_retbool = {set_retbool, out_retbool} |
| static lp_item_t | lp_int = {set_int, out_int} |
| static lp_item_t | lp_bool = {set_bool, out_bool} |
| static lp_item_t | lp_ip = {set_ip, out_ip} |
| static lp_item_t | lp_port = {set_port, out_port} |
| static lp_item_t | lp_mac = {set_mac, out_mac} |
| static lp_item_t | lp_str = {set_str, out_str} |
| static struct lps_s | lps [] |
| static ulp_item_t | lp_ubool = {uset_bool, uout_bool} |
| static struct ulps_s | ulps [] |
| static ulp_item_t | lp_uint = {uset_int, uout_int} |
| static ulp_item_t | lp_uip = {uset_ip, uout_ip} |
| static ulp_item_t | lp_umac = {uset_mac, uout_mac} |
| static struct ulps_s | alps [] |
| static struct ulps_s | clps [] |
| static char * | user_names [5] |
| static ipmi_cmdlang_cmd_t * | lanparm_cmds |
| static ipmi_cmdlang_cmd_t * | config_cmds |
| static ipmi_cmdlang_init_t | cmds_lanparm [] |
|
|
Definition at line 1416 of file cmd_lanparm.c. Referenced by ipmi_cmdlang_lanparm_init(). |
|
|
Value: |
|
|
Value: |
|
|
Definition at line 220 of file cmd_lanparm.c. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 268 of file cmd_lanparm.c. |
|
|
Definition at line 266 of file cmd_lanparm.c. |
|
|
|
|
|
Definition at line 569 of file cmd_lanparm.c. |
|
|
Definition at line 567 of file cmd_lanparm.c. |
|
||||||||||||||||
|
Definition at line 1437 of file cmd_lanparm.c. References lan_config_info_s::config, ipmi_lan_free_config(), ipmi_mem_free(), and LOCKED_LIST_ITER_CONTINUE. Referenced by ipmi_cmdlang_lanparm_shutdown(), ipmi_cmdlang_pef_shutdown(), and ipmi_cmdlang_solparm_shutdown(). 01438 { 01439 lan_config_info_t *info = item1; 01440 01441 ipmi_lan_free_config(info->config); 01442 ipmi_mem_free(info); 01443 return LOCKED_LIST_ITER_CONTINUE; 01444 }
|
|
||||||||||||
|
Definition at line 752 of file cmd_lanparm.c. References ulps_s::get_func, i, ipmi_cmdlang_down(), ipmi_cmdlang_out(), ipmi_cmdlang_out_int(), ipmi_cmdlang_up(), ipmi_lanconfig_get_num_alert_destinations(), ipmi_lanconfig_get_num_cipher_suites(), ulps_s::lpi, lps_s::lpi, lps, name, ulp_item_s::out, lp_item_s::out, ulps, and user_names. Referenced by lanparm_config_get_done(), lanparm_config_info(), lanparm_config_info_handler(), pef_config_get_done(), pef_config_info(), pef_config_info_handler(), solparm_config_get_done(), solparm_config_info(), and solparm_config_info_handler(). 00753 { 00754 int i; 00755 int user; 00756 int num; 00757 00758 /* Basic items */ 00759 for (i=0; lps[i].name; i++) { 00760 lp_item_t *lp = lps[i].lpi; 00761 lp->out(cmd_info, lps[i].name, config, lps[i].get_func); 00762 } 00763 00764 /* per-user items */ 00765 for (user=0; user<5; user++) { 00766 ipmi_cmdlang_out(cmd_info, "User", NULL); 00767 ipmi_cmdlang_down(cmd_info); 00768 ipmi_cmdlang_out(cmd_info, "Name", user_names[user]); 00769 for (i=0; ulps[i].name; i++) { 00770 ulp_item_t *lp = ulps[i].lpi; 00771 lp->out(cmd_info, user, ulps[i].name, config, ulps[i].get_func); 00772 } 00773 ipmi_cmdlang_up(cmd_info); 00774 } 00775 00776 /* per-destination items */ 00777 num = ipmi_lanconfig_get_num_alert_destinations(config); 00778 for (user=0; user<num; user++) { 00779 ipmi_cmdlang_out(cmd_info, "Alert Destination", NULL); 00780 ipmi_cmdlang_down(cmd_info); 00781 ipmi_cmdlang_out_int(cmd_info, "Number", user); 00782 for (i=0; alps[i].name; i++) { 00783 ulp_item_t *lp = alps[i].lpi; 00784 lp->out(cmd_info, user, alps[i].name, config, alps[i].get_func); 00785 } 00786 ipmi_cmdlang_up(cmd_info); 00787 } 00788 00789 /* per-cipher-suite items */ 00790 num = ipmi_lanconfig_get_num_cipher_suites(config); 00791 for (user=0; user<num; user++) { 00792 ipmi_cmdlang_out(cmd_info, "Cipher Suite", NULL); 00793 ipmi_cmdlang_down(cmd_info); 00794 ipmi_cmdlang_out_int(cmd_info, "Number", user); 00795 for (i=0; clps[i].name; i++) { 00796 ulp_item_t *lp = clps[i].lpi; 00797 lp->out(cmd_info, user, clps[i].name, config, clps[i].get_func); 00798 } 00799 ipmi_cmdlang_up(cmd_info); 00800 } 00801 }
|
|
||||||||||||
|
Definition at line 255 of file cmd_lanparm.c. References find_config_s::config, find_config_s::delete, find_config_handler(), locked_list_iterate(), and find_config_s::name. Referenced by lanparm_config_close(), lanparm_config_info(), lanparm_config_set(), lanparm_config_unlock(), lanparm_config_update(), pef_config_close(), pef_config_info(), pef_config_set(), pef_config_unlock(), pef_config_update(), solparm_config_close(), solparm_config_info(), solparm_config_set(), solparm_config_unlock(), and solparm_config_update(). 00256 { 00257 find_config_t find; 00258 00259 find.name = name; 00260 find.config = NULL; 00261 find.delete = delete; 00262 locked_list_iterate(lancs, find_config_handler, &find); 00263 return find.config; 00264 }
|
|
||||||||||||||||
|
Definition at line 237 of file cmd_lanparm.c. References lan_config_info_s::config, find_config_s::config, find_config_s::delete, ipmi_mem_free(), LOCKED_LIST_ITER_CONTINUE, LOCKED_LIST_ITER_STOP, locked_list_remove(), lan_config_info_s::name, and find_config_s::name. Referenced by find_config(). 00238 { 00239 lan_config_info_t *info = item1; 00240 find_config_t *find = cb_data; 00241 00242 if (strcmp(find->name, info->name) == 0) { 00243 find->config = info->config; 00244 if (find->delete) { 00245 locked_list_remove(lancs, item1, item2); 00246 ipmi_mem_free(info); 00247 } 00248 return LOCKED_LIST_ITER_STOP; 00249 } 00250 00251 return LOCKED_LIST_ITER_CONTINUE; 00252 }
|
|
||||||||||||
|
Definition at line 83 of file cmd_lanparm.c. References ipmi_cmdlang_out(), ipmi_mc_get_name(), and IPMI_MC_NAME_LEN. 00084 { 00085 ipmi_cmd_info_t *cmd_info = cb_data; 00086 char mc_name[IPMI_MC_NAME_LEN]; 00087 00088 ipmi_mc_get_name(mc, mc_name, sizeof(mc_name)); 00089 ipmi_cmdlang_out(cmd_info, "MC", mc_name); 00090 }
|
|
|
Definition at line 1419 of file cmd_lanparm.c. References CMDS_LANPARM_LEN, ipmi_cmdlang_reg_table(), locked_list_alloc(), and locked_list_destroy(). Referenced by ipmi_cmdlang_init(). 01420 { 01421 int rv; 01422 01423 lancs = locked_list_alloc(os_hnd); 01424 if (!lancs) 01425 return ENOMEM; 01426 01427 rv = ipmi_cmdlang_reg_table(cmds_lanparm, CMDS_LANPARM_LEN); 01428 if (rv) { 01429 locked_list_destroy(lancs); 01430 lancs = NULL; 01431 } 01432 01433 return rv; 01434 }
|
|
|
Definition at line 1447 of file cmd_lanparm.c. References config_destroy_handler(), locked_list_destroy(), and locked_list_iterate(). Referenced by ipmi_cmdlang_cleanup(). 01448 { 01449 locked_list_iterate(lancs, config_destroy_handler, NULL); 01450 locked_list_destroy(lancs); 01451 lancs = NULL; 01452 }
|
|
||||||||||||
|
Definition at line 188 of file cmd_lanparm.c. References cmdlang, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, ipmi_cmdinfo_get_cmdlang(), ipmi_cmdlang_cmd_info_get(), ipmi_cmdlang_cmd_info_put(), ipmi_lanparm_destroy(), ipmi_lanparm_get_name(), ipmi_mem_alloc(), ipmi_mem_free(), lanparm_close_done(), ipmi_cmdlang_s::location, ipmi_lanparm_s::name, ipmi_cmdlang_s::objstr, and ipmi_cmdlang_s::objstr_len. 00189 { 00190 ipmi_cmd_info_t *cmd_info = cb_data; 00191 ipmi_cmdlang_t *cmdlang = ipmi_cmdinfo_get_cmdlang(cmd_info); 00192 int rv; 00193 lanparm_info_t *info; 00194 00195 info = ipmi_mem_alloc(sizeof(*info)); 00196 if (!info) { 00197 cmdlang->errstr = "Out of memory"; 00198 cmdlang->err = ENOMEM; 00199 goto out_err; 00200 } 00201 info->cmd_info = cmd_info; 00202 ipmi_lanparm_get_name(lanparm, info->name, sizeof(info->name)); 00203 00204 ipmi_cmdlang_cmd_info_get(cmd_info); 00205 rv = ipmi_lanparm_destroy(lanparm, lanparm_close_done, info); 00206 if (rv) { 00207 ipmi_cmdlang_cmd_info_put(cmd_info); 00208 ipmi_lanparm_get_name(lanparm, cmdlang->objstr, 00209 cmdlang->objstr_len); 00210 cmdlang->errstr = "Error closing LANPARM"; 00211 cmdlang->err = rv; 00212 ipmi_mem_free(info); 00213 } 00214 return; 00215 00216 out_err: 00217 cmdlang->location = "cmd_lanparm.c(lanparm_close)"; 00218 }
|
|
||||||||||||||||
|
|
Definition at line 1051 of file cmd_lanparm.c. References cmdlang, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, find_config(), ipmi_cmdinfo_get_cmdlang(), ipmi_cmdlang_get_argc(), ipmi_cmdlang_get_argv(), ipmi_cmdlang_get_curr_arg(), ipmi_cmdlang_out(), ipmi_lan_free_config(), ipmi_cmdlang_s::location, ipmi_cmdlang_s::objstr, and ipmi_cmdlang_s::objstr_len. 01052 { 01053 ipmi_cmdlang_t *cmdlang = ipmi_cmdinfo_get_cmdlang(cmd_info); 01054 int curr_arg = ipmi_cmdlang_get_curr_arg(cmd_info); 01055 int argc = ipmi_cmdlang_get_argc(cmd_info); 01056 char **argv = ipmi_cmdlang_get_argv(cmd_info); 01057 ipmi_lan_config_t *lanc; 01058 char *lanc_name; 01059 01060 if ((argc - curr_arg) < 1) { 01061 /* Not enough parameters */ 01062 cmdlang->errstr = "Not enough parameters"; 01063 cmdlang->err = EINVAL; 01064 lanc_name = ""; 01065 goto out_err; 01066 } 01067 lanc_name = argv[curr_arg]; 01068 01069 lanc = find_config(lanc_name, 1); 01070 if (!lanc) { 01071 cmdlang->errstr = "Invalid LAN config"; 01072 cmdlang->err = EINVAL; 01073 goto out_err; 01074 } 01075 01076 ipmi_lan_free_config(lanc); 01077 ipmi_cmdlang_out(cmd_info, "LANPARM config destroyed", lanc_name); 01078 return; 01079 01080 out_err: 01081 strncpy(cmdlang->objstr, lanc_name, cmdlang->objstr_len); 01082 cmdlang->location = "cmd_lanparm.c(lanparm_config_close)"; 01083 }
|
|
||||||||||||
|
Definition at line 859 of file cmd_lanparm.c. References cmdlang, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, ipmi_cmdinfo_get_cmdlang(), ipmi_cmdlang_cmd_info_get(), ipmi_cmdlang_cmd_info_put(), ipmi_lan_get_config(), ipmi_lanparm_get_name(), lanparm_config_get_done(), ipmi_cmdlang_s::location, ipmi_cmdlang_s::objstr, and ipmi_cmdlang_s::objstr_len. 00860 { 00861 ipmi_cmd_info_t *cmd_info = cb_data; 00862 ipmi_cmdlang_t *cmdlang = ipmi_cmdinfo_get_cmdlang(cmd_info); 00863 int rv; 00864 00865 ipmi_cmdlang_cmd_info_get(cmd_info); 00866 rv = ipmi_lan_get_config(lanparm, lanparm_config_get_done, cmd_info); 00867 if (rv) { 00868 ipmi_lanparm_get_name(lanparm, cmdlang->objstr, 00869 cmdlang->objstr_len); 00870 ipmi_cmdlang_cmd_info_put(cmd_info); 00871 cmdlang->errstr = "Error getting LANPARM"; 00872 cmdlang->err = rv; 00873 cmdlang->location = "cmd_lanparm.c(lanparm_config_get)"; 00874 } 00875 }
|
|
||||||||||||||||||||
|
Definition at line 804 of file cmd_lanparm.c. References cmdlang, config_info(), ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, ipmi_cmdinfo_get_cmdlang(), ipmi_cmdlang_cmd_info_put(), ipmi_cmdlang_down(), ipmi_cmdlang_lock(), ipmi_cmdlang_out(), ipmi_cmdlang_unlock(), ipmi_cmdlang_up(), ipmi_lan_free_config(), ipmi_lanparm_get_name(), IPMI_LANPARM_NAME_LEN, ipmi_mem_alloc(), ipmi_mem_free(), ipmi_cmdlang_s::location, locked_list_add(), ipmi_cmdlang_s::objstr, ipmi_cmdlang_s::objstr_len, and unique_num. Referenced by lanparm_config_get(). 00808 { 00809 ipmi_cmd_info_t *cmd_info = cb_data; 00810 ipmi_cmdlang_t *cmdlang = ipmi_cmdinfo_get_cmdlang(cmd_info); 00811 char lanparm_name[IPMI_LANPARM_NAME_LEN]; 00812 lan_config_info_t *info; 00813 00814 ipmi_cmdlang_lock(cmd_info); 00815 if (err) { 00816 cmdlang->errstr = "Error getting LANPARM"; 00817 cmdlang->err = err; 00818 goto out; 00819 } 00820 00821 ipmi_lanparm_get_name(lanparm, lanparm_name, sizeof(lanparm_name)); 00822 00823 info = ipmi_mem_alloc(sizeof(*info)); 00824 if (!info) { 00825 cmdlang->errstr = "Out of memory"; 00826 cmdlang->err = ENOMEM; 00827 ipmi_lan_free_config(config); 00828 goto out; 00829 } 00830 snprintf(info->name, sizeof(info->name), "%s.%u", 00831 lanparm_name, unique_num); 00832 info->config = config; 00833 if (!locked_list_add(lancs, info, NULL)) { 00834 cmdlang->errstr = "Out of memory"; 00835 cmdlang->err = ENOMEM; 00836 ipmi_lan_free_config(config); 00837 ipmi_mem_free(info); 00838 goto out; 00839 } 00840 unique_num++; 00841 00842 ipmi_cmdlang_out(cmd_info, "LANPARM Config", NULL); 00843 ipmi_cmdlang_down(cmd_info); 00844 ipmi_cmdlang_out(cmd_info, "Name", info->name); 00845 config_info(cmd_info, config); 00846 ipmi_cmdlang_up(cmd_info); 00847 00848 out: 00849 if (cmdlang->err) { 00850 ipmi_lanparm_get_name(lanparm, cmdlang->objstr, 00851 cmdlang->objstr_len); 00852 cmdlang->location = "cmd_lanparm.c(lanparm_config_get_done)"; 00853 } 00854 ipmi_cmdlang_unlock(cmd_info); 00855 ipmi_cmdlang_cmd_info_put(cmd_info); 00856 }
|
|
|
Definition at line 1119 of file cmd_lanparm.c. References cmdlang, config_info(), ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, find_config(), ipmi_cmdinfo_get_cmdlang(), ipmi_cmdlang_down(), ipmi_cmdlang_get_argc(), ipmi_cmdlang_get_argv(), ipmi_cmdlang_get_curr_arg(), ipmi_cmdlang_out(), ipmi_cmdlang_up(), lanparm_config_info_handler(), ipmi_cmdlang_s::location, locked_list_iterate(), ipmi_cmdlang_s::objstr, and ipmi_cmdlang_s::objstr_len. 01120 { 01121 ipmi_cmdlang_t *cmdlang = ipmi_cmdinfo_get_cmdlang(cmd_info); 01122 int curr_arg = ipmi_cmdlang_get_curr_arg(cmd_info); 01123 int argc = ipmi_cmdlang_get_argc(cmd_info); 01124 char **argv = ipmi_cmdlang_get_argv(cmd_info); 01125 ipmi_lan_config_t *lanc; 01126 01127 if ((argc - curr_arg) < 1) { 01128 locked_list_iterate(lancs, lanparm_config_info_handler, cmd_info); 01129 } else { 01130 lanc = find_config(argv[curr_arg], 0); 01131 if (!lanc) { 01132 cmdlang->errstr = "Invalid LAN config"; 01133 cmdlang->err = EINVAL; 01134 goto out_err; 01135 } 01136 ipmi_cmdlang_out(cmd_info, "LANPARM Config", NULL); 01137 ipmi_cmdlang_down(cmd_info); 01138 ipmi_cmdlang_out(cmd_info, "Name", argv[curr_arg]); 01139 config_info(cmd_info, lanc); 01140 ipmi_cmdlang_up(cmd_info); 01141 } 01142 return; 01143 01144 out_err: 01145 strncpy(cmdlang->objstr, argv[curr_arg], cmdlang->objstr_len); 01146 cmdlang->location = "cmd_lanparm.c(lanparm_config_info)"; 01147 }
|
|
||||||||||||||||
|
Definition at line 1105 of file cmd_lanparm.c. References lan_config_info_s::config, config_info(), ipmi_cmdlang_down(), ipmi_cmdlang_out(), ipmi_cmdlang_up(), LOCKED_LIST_ITER_CONTINUE, and lan_config_info_s::name. Referenced by lanparm_config_info(). 01106 { 01107 ipmi_cmd_info_t *cmd_info = cb_data; 01108 lan_config_info_t *info = item1; 01109 01110 ipmi_cmdlang_out(cmd_info, "LANPARM Config", NULL); 01111 ipmi_cmdlang_down(cmd_info); 01112 ipmi_cmdlang_out(cmd_info, "Name", info->name); 01113 config_info(cmd_info, info->config); 01114 ipmi_cmdlang_up(cmd_info); 01115 return LOCKED_LIST_ITER_CONTINUE; 01116 }
|
|
|
Definition at line 1096 of file cmd_lanparm.c. References ipmi_cmdlang_down(), ipmi_cmdlang_out(), ipmi_cmdlang_up(), lanparm_config_list_handler(), and locked_list_iterate(). 01097 { 01098 ipmi_cmdlang_out(cmd_info, "LANPARM Configs", NULL); 01099 ipmi_cmdlang_down(cmd_info); 01100 locked_list_iterate(lancs, lanparm_config_list_handler, cmd_info); 01101 ipmi_cmdlang_up(cmd_info); 01102 }
|
|
||||||||||||||||
|
Definition at line 1086 of file cmd_lanparm.c. References ipmi_cmdlang_out(), LOCKED_LIST_ITER_CONTINUE, and lan_config_info_s::name. Referenced by lanparm_config_list(). 01087 { 01088 ipmi_cmd_info_t *cmd_info = cb_data; 01089 lan_config_info_t *info = item1; 01090 01091 ipmi_cmdlang_out(cmd_info, "Name", info->name); 01092 return LOCKED_LIST_ITER_CONTINUE; 01093 }
|
|
||||||||||||
|
Definition at line 911 of file cmd_lanparm.c. References cmdlang, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, find_config(), ipmi_cmdinfo_get_cmdlang(), ipmi_cmdlang_cmd_info_get(), ipmi_cmdlang_cmd_info_put(), ipmi_cmdlang_get_argc(), ipmi_cmdlang_get_argv(), ipmi_cmdlang_get_curr_arg(), ipmi_lan_set_config(), ipmi_lanparm_get_name(), ipmi_mem_alloc(), ipmi_mem_free(), lanparm_config_set_done(), ipmi_cmdlang_s::location, name, ipmi_cmdlang_s::objstr, and ipmi_cmdlang_s::objstr_len. Referenced by start_config_set_cb(). 00912 { 00913 ipmi_cmd_info_t *cmd_info = cb_data; 00914 ipmi_cmdlang_t *cmdlang = ipmi_cmdinfo_get_cmdlang(cmd_info); 00915 int rv; 00916 int curr_arg = ipmi_cmdlang_get_curr_arg(cmd_info); 00917 int argc = ipmi_cmdlang_get_argc(cmd_info); 00918 char **argv = ipmi_cmdlang_get_argv(cmd_info); 00919 ipmi_lan_config_t *lanc; 00920 lp_config_op_t *info = cb_data; 00921 char *name; 00922 00923 if ((argc - curr_arg) < 1) { 00924 /* Not enough parameters */ 00925 cmdlang->errstr = "Not enough parameters"; 00926 cmdlang->err = EINVAL; 00927 goto out_err; 00928 } 00929 00930 name = argv[curr_arg]; 00931 curr_arg++; 00932 00933 lanc = find_config(name, 0); 00934 if (!lanc) { 00935 cmdlang->errstr = "Invalid LAN config"; 00936 cmdlang->err = EINVAL; 00937 goto out_err; 00938 } 00939 00940 info = ipmi_mem_alloc(sizeof(*info)); 00941 if (!info) { 00942 cmdlang->errstr = "Out of memory"; 00943 cmdlang->err = ENOMEM; 00944 goto out_err; 00945 } 00946 info->cmd_info = cmd_info; 00947 strncpy(info->name, name, sizeof(info->name)); 00948 00949 ipmi_cmdlang_cmd_info_get(cmd_info); 00950 rv = ipmi_lan_set_config(lanparm, lanc, lanparm_config_set_done, info); 00951 if (rv) { 00952 ipmi_cmdlang_cmd_info_put(cmd_info); 00953 cmdlang->errstr = "Error setting LANPARM"; 00954 cmdlang->err = rv; 00955 ipmi_mem_free(info); 00956 goto out_err; 00957 } 00958 00959 return; 00960 00961 out_err: 00962 ipmi_lanparm_get_name(lanparm, cmdlang->objstr, 00963 cmdlang->objstr_len); 00964 cmdlang->location = "cmd_lanparm.c(lanparm_config_set)"; 00965 }
|
|