From 0603bd8f98755dd1864c5efb48f2386a2502e3af Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Fri, 27 Aug 2004 16:47:00 +0000 Subject: [PATCH] export a couple functions for ipmievd, better handling of description string --- ipmitool/include/ipmitool/ipmi_sel.h | 3 +++ ipmitool/lib/ipmi_sel.c | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ipmitool/include/ipmitool/ipmi_sel.h b/ipmitool/include/ipmitool/ipmi_sel.h index 2e0850a..472d1dc 100644 --- a/ipmitool/include/ipmitool/ipmi_sel.h +++ b/ipmitool/include/ipmitool/ipmi_sel.h @@ -381,5 +381,8 @@ static struct ipmi_event_sensor_types sensor_specific_types[] __attribute__((unu int ipmi_sel_main(struct ipmi_intf *, int, char **); void ipmi_sel_print_std_entry(struct sel_event_record * evt); +void ipmi_sel_print_std_entry_verbose(struct sel_event_record * evt); +void ipmi_get_event_desc(struct sel_event_record * rec, char ** desc); +const char * ipmi_sel_get_sensor_type(unsigned char code); #endif /* IPMI_SEL_H */ diff --git a/ipmitool/lib/ipmi_sel.c b/ipmitool/lib/ipmi_sel.c index c7c7d5b..415f54b 100644 --- a/ipmitool/lib/ipmi_sel.c +++ b/ipmitool/lib/ipmi_sel.c @@ -109,7 +109,7 @@ ipmi_sel_timestamp_time(uint32_t stamp) return tbuf; } -static void +void ipmi_get_event_desc(struct sel_event_record * rec, char ** desc) { unsigned char code, offset; @@ -143,7 +143,7 @@ ipmi_get_event_desc(struct sel_event_record * rec, char ** desc) } } -static const char * +const char * ipmi_sel_get_sensor_type(unsigned char code) { struct ipmi_event_sensor_types *st = sensor_specific_types; @@ -339,9 +339,13 @@ ipmi_sel_print_std_entry(struct sel_event_record * evt) printf(","); else printf(" | "); + ipmi_get_event_desc(evt, &description); - printf("%s\n", description ? description : ""); - free(description); + if (description) { + printf("%s", description); + free(description); + } + printf("\n"); } void @@ -593,6 +597,8 @@ ipmi_sel_clear(struct ipmi_intf * intf) unsigned short reserve_id; unsigned char msg_data[6]; + ipmi_intf_session_set_privlvl(intf, IPMI_SESSION_PRIV_ADMIN); + reserve_id = ipmi_sel_reserve(intf); if (reserve_id == 0) return;