示例#1
0
void
event_handler(ipmi_con_t        *ipmi,
	      const ipmi_addr_t *addr,
	      unsigned int      addr_len,
	      ipmi_event_t      *event,
	      void              *cb_data)
{
    unsigned int        record_id = ipmi_event_get_record_id(event);
    unsigned int        type = ipmi_event_get_type(event);
    unsigned int        data_len = ipmi_event_get_data_len(event);
    const unsigned char *data = ipmi_event_get_data_ptr(event);
    unsigned int        i;

    printf("Got event:\n");
    printf("  %4.4x (%2.2x):", record_id, type);
    for (i=0; i<data_len; i++)
	printf(" %2.2x", data[i]);
    printf("\n");
}
示例#2
0
void ohoi_get_sel_next_recid(ipmi_mcid_t mc_id, 
                             ipmi_event_t *event,
                             unsigned int *record_id)
{
        int rv;
        ipmi_event_t *te;

        te = event;

        rv = ipmi_mc_pointer_cb(mc_id, get_sel_next_entry, &te);
        if (rv) {
		dbg("unable to convert mcid to pointer");
                *record_id = SAHPI_NO_MORE_ENTRIES;
                return;
        }

        if (te)
                *record_id = ipmi_event_get_record_id(te);
        else
                *record_id = SAHPI_NO_MORE_ENTRIES;
}