#include <OpenIPMI/selector.h>Go to the source code of this file.
|
|
Definition at line 64 of file ipmi_cmdlang.h. |
|
|
Definition at line 58 of file ipmi_cmdlang.h. |
|
|
Definition at line 55 of file ipmi_cmdlang.h. |
|
|
Definition at line 44 of file ipmi_cmdlang.h. |
|
|
Definition at line 127 of file ipmi_cmdlang.h. |
|
|
Definition at line 319 of file ipmi_cmdlang.h. |
|
|
Definition at line 129 of file ipmi_cmdlang.h. |
|
|
|
|
|
Definition at line 51 of file ipmi_cmdlang.h. |
|
|
Definition at line 130 of file ipmi_cmdlang.h. |
|
|
Definition at line 324 of file ipmi_cmdlang.h. 00324 { 00325 IPMI_CMDLANG_STRING, 00326 IPMI_CMDLANG_BINARY, 00327 IPMI_CMDLANG_UNICODE 00328 };
|
|
|
|
Definition at line 2499 of file cmdlang.c. References event_done(), event_down(), event_out(), event_out_binary(), event_out_unicode(), event_up(), ipmi_create_lock_os_hnd(), ipmi_destroy_lock(), IPMI_MAX_NAME_LEN, ipmi_mem_alloc(), ipmi_mem_free(), and os_handler_s::lock. Referenced by control_event_handler(), domain_change(), domain_con_change(), domain_event_handler(), domain_fully_up(), entity_hot_swap(), fru_change(), ipmi_cmdlang_control_change(), ipmi_cmdlang_entity_change(), ipmi_cmdlang_mc_change(), ipmi_cmdlang_sensor_change(), mc_active(), mc_fully_up(), presence_change(), sensor_discrete_event_handler(), and sensor_threshold_event_handler(). 02500 { 02501 ipmi_cmd_info_t *cmdinfo = NULL; 02502 ipmi_cmdlang_event_t *event; 02503 int rv; 02504 02505 cmdinfo = ipmi_mem_alloc(sizeof(*cmdinfo)); 02506 if (!cmdinfo) 02507 return NULL; 02508 memset(cmdinfo, 0, sizeof(*cmdinfo)); 02509 cmdinfo->usecount = 1; 02510 02511 rv = ipmi_create_lock_os_hnd(cmdlang_os_hnd, &cmdinfo->lock); 02512 if (rv) { 02513 ipmi_mem_free(cmdinfo); 02514 return NULL; 02515 } 02516 02517 cmdinfo->cmdlang = ipmi_mem_alloc(sizeof(*cmdinfo->cmdlang)); 02518 if (!cmdinfo->cmdlang) { 02519 ipmi_destroy_lock(cmdinfo->lock); 02520 ipmi_mem_free(cmdinfo); 02521 return NULL; 02522 } 02523 memset(cmdinfo->cmdlang, 0, sizeof(*cmdinfo->cmdlang)); 02524 02525 cmdinfo->cmdlang->objstr = ipmi_mem_alloc(IPMI_MAX_NAME_LEN); 02526 if (!cmdinfo->cmdlang->objstr) { 02527 ipmi_mem_free(cmdinfo->cmdlang); 02528 ipmi_destroy_lock(cmdinfo->lock); 02529 ipmi_mem_free(cmdinfo); 02530 return NULL; 02531 } 02532 cmdinfo->cmdlang->objstr[0] = '\0'; 02533 cmdinfo->cmdlang->objstr_len = IPMI_MAX_NAME_LEN; 02534 02535 cmdinfo->cmdlang->user_data = ipmi_mem_alloc(sizeof(ipmi_cmdlang_event_t)); 02536 if (!cmdinfo->cmdlang->user_data) { 02537 ipmi_mem_free(cmdinfo->cmdlang->objstr); 02538 ipmi_mem_free(cmdinfo->cmdlang); 02539 ipmi_destroy_lock(cmdinfo->lock); 02540 ipmi_mem_free(cmdinfo); 02541 return NULL; 02542 } 02543 02544 event = cmdinfo->cmdlang->user_data; 02545 memset(event, 0, sizeof(*event)); 02546 event->info = cmdinfo; 02547 02548 cmdinfo->cmdlang->out = event_out; 02549 cmdinfo->cmdlang->down = event_down; 02550 cmdinfo->cmdlang->out_binary = event_out_binary; 02551 cmdinfo->cmdlang->out_unicode = event_out_unicode; 02552 cmdinfo->cmdlang->up = event_up; 02553 cmdinfo->cmdlang->done = event_done; 02554 02555 return cmdinfo; 02556 }
|
|
|
Definition at line 2800 of file cmdlang.c. References cleanup_level(), ipmi_cmdlang_lanparm_shutdown(), ipmi_cmdlang_pef_shutdown(), and ipmi_cmdlang_solparm_shutdown(). Referenced by main(). 02801 { 02802 ipmi_cmdlang_pef_shutdown(); 02803 ipmi_cmdlang_lanparm_shutdown(); 02804 ipmi_cmdlang_solparm_shutdown(); 02805 cleanup_level(cmd_list); 02806 }
|
|
|
|
|
Definition at line 1178 of file cmdlang.c. References ipmi_cmd_info_s::argc, ipmi_cmd_info_s::argv, ipmi_cmd_info_s::cmdlang, ipmi_cmd_info_s::curr_arg, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, for_each_connection(), ipmi_cmd_info_s::handler_data, and ipmi_cmdlang_s::location. 01179 { 01180 char *domain, *class, *obj; 01181 01182 if (cmd_info->curr_arg >= cmd_info->argc) { 01183 domain = class = obj = NULL; 01184 } else { 01185 domain = cmd_info->argv[cmd_info->curr_arg]; 01186 class = NULL; 01187 obj = strrchr(domain, '.'); 01188 if (!obj) { 01189 cmd_info->cmdlang->errstr = "Invalid connection"; 01190 cmd_info->cmdlang->err = EINVAL; 01191 cmd_info->cmdlang->location 01192 = "cmdlang.c(ipmi_cmdlang_connection_handler)"; 01193 return; 01194 } 01195 *obj = '\0'; 01196 obj++; 01197 cmd_info->curr_arg++; 01198 } 01199 01200 for_each_connection(cmd_info, 01201 domain, class, obj, cmd_info->handler_data, 01202 cmd_info); 01203 }
|
|
|
Definition at line 987 of file cmdlang.c. References ipmi_cmd_info_s::argc, ipmi_cmd_info_s::argv, ipmi_cmd_info_s::cmdlang, ipmi_cmd_info_s::curr_arg, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, for_each_control(), ipmi_cmd_info_s::handler_data, ipmi_cmdlang_s::location, and parse_ipmi_objstr(). 00988 { 00989 char *domain, *class, *obj; 00990 int rv; 00991 00992 if (cmd_info->curr_arg >= cmd_info->argc) { 00993 domain = class = obj = NULL; 00994 } else { 00995 rv = parse_ipmi_objstr(cmd_info->argv[cmd_info->curr_arg], 00996 &domain, &class, &obj); 00997 if (rv) { 00998 cmd_info->cmdlang->errstr = "Invalid control"; 00999 cmd_info->cmdlang->err = rv; 01000 cmd_info->cmdlang->location 01001 = "cmdlang.c(ipmi_cmdlang_control_handler)"; 01002 return; 01003 } 01004 cmd_info->curr_arg++; 01005 } 01006 01007 for_each_control(cmd_info, domain, class, obj, 01008 cmd_info->handler_data, cmd_info); 01009 }
|
|
|
Definition at line 217 of file cmdlang.c. References ipmi_cmd_info_s::argc, ipmi_cmd_info_s::argv, ipmi_cmd_info_s::cmdlang, ipmi_cmd_info_s::curr_arg, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, for_each_domain(), ipmi_cmd_info_s::handler_data, ipmi_cmdlang_s::location, and parse_ipmi_objstr(). 00218 { 00219 char *domain, *class, *obj; 00220 int rv; 00221 00222 if (cmd_info->curr_arg >= cmd_info->argc) { 00223 domain = class = obj = NULL; 00224 } else { 00225 rv = parse_ipmi_objstr(cmd_info->argv[cmd_info->curr_arg], 00226 &domain, &class, &obj); 00227 if (rv) { 00228 cmd_info->cmdlang->errstr = "Invalid domain"; 00229 cmd_info->cmdlang->err = rv; 00230 cmd_info->cmdlang->location 00231 = "cmdlang.c(ipmi_cmdlang_domain_handler)"; 00232 return; 00233 } 00234 cmd_info->curr_arg++; 00235 } 00236 00237 for_each_domain(cmd_info, domain, class, obj, 00238 cmd_info->handler_data, cmd_info); 00239 }
|
|
|
|
Definition at line 805 of file cmdlang.c. References ipmi_cmd_info_s::argc, ipmi_cmd_info_s::argv, ipmi_cmd_info_s::cmdlang, ipmi_cmd_info_s::curr_arg, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, for_each_entity(), ipmi_cmd_info_s::handler_data, ipmi_cmdlang_s::location, and parse_ipmi_objstr(). 00806 { 00807 char *domain, *class, *obj; 00808 int rv; 00809 00810 if (cmd_info->curr_arg >= cmd_info->argc) { 00811 domain = class = obj = NULL; 00812 } else { 00813 rv = parse_ipmi_objstr(cmd_info->argv[cmd_info->curr_arg], 00814 &domain, &class, &obj); 00815 if (rv) { 00816 cmd_info->cmdlang->errstr = "Invalid entity"; 00817 cmd_info->cmdlang->err = rv; 00818 cmd_info->cmdlang->location 00819 = "cmdlang.c(ipmi_cmdlang_entity_handler)"; 00820 return; 00821 } 00822 cmd_info->curr_arg++; 00823 } 00824 00825 for_each_entity(cmd_info, domain, class, obj, 00826 cmd_info->handler_data, cmd_info); 00827 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 2567 of file cmdlang.c. References ipmi_cmdlang_event_s::curr, ipmi_cmdlang_event_entry_s::len, ipmi_cmdlang_event_entry_s::level, ipmi_cmdlang_event_entry_s::name, ipmi_cmdlang_event_entry_s::next, ipmi_cmdlang_event_entry_s::type, and ipmi_cmdlang_event_entry_s::value. Referenced by ipmi_cmdlang_report_event(). 02573 { 02574 ipmi_cmdlang_event_entry_t *curr = event->curr; 02575 02576 if (!curr) 02577 return 0; 02578 02579 if (level) 02580 *level = curr->level; 02581 if (name) 02582 *name = curr->name; 02583 if (value) 02584 *value = curr->value; 02585 if (type) 02586 *type = curr->type; 02587 if (len) 02588 *len = curr->len; 02589 02590 event->curr = curr->next; 02591 return 1; 02592 }
|
|
||||||||||||
|
|
Definition at line 2560 of file cmdlang.c. References ipmi_cmdlang_event_s::curr, and ipmi_cmdlang_event_s::head. Referenced by ipmi_cmdlang_report_event().
|
|
|
Definition at line 702 of file cmdlang.c. References ipmi_cmd_info_s::argc, ipmi_cmd_info_s::argv, ipmi_cmd_info_s::cmdlang, ipmi_cmd_info_s::curr_arg, ipmi_cmdlang_s::err, ipmi_cmdlang_s::errstr, for_each_fru(), ipmi_cmd_info_s::handler_data, and ipmi_cmdlang_s::location. |