Beispiel #1
0
SaErrorT show_dat(Domain_t *domain, hpi_ui_print_cb_t proc)
{
    SaHpiAlarmT     alarm;
    SaErrorT        rv = SA_OK;
    char            buf[SHOW_BUF_SZ];
    char            time[256];
    int             ind;
    int             first = 1;

    alarm.AlarmId = SAHPI_FIRST_ENTRY;
    while (rv == SA_OK) {
        rv = saHpiAlarmGetNext(domain->sessionId, SAHPI_ALL_SEVERITIES, FALSE,
                               &alarm);
        if (rv != SA_OK) break;
        first = 0;
        snprintf(buf, SHOW_BUF_SZ, "(%d) ", alarm.AlarmId);
        time2str(alarm.Timestamp, time, 256);
        strcat(buf, time);
        strcat(buf, " ");
        strcat(buf, oh_lookup_severity(alarm.Severity));
        if (alarm.Acknowledged) strcat(buf, " a ");
        else strcat(buf, " - ");
        strcat(buf, oh_lookup_statuscondtype(alarm.AlarmCond.Type));
        ind = strlen(buf);
        if (alarm.AlarmCond.Type == SAHPI_STATUS_COND_TYPE_SENSOR) {
            snprintf(buf + ind, SHOW_BUF_SZ - ind, " %d/%d 0x%x",
                     alarm.AlarmCond.ResourceId, alarm.AlarmCond.SensorNum,
                     alarm.AlarmCond.EventState);
        } else if (alarm.AlarmCond.Type == SAHPI_STATUS_COND_TYPE_OEM) {
            snprintf(buf + ind, SHOW_BUF_SZ - ind, " OEM = %d",
                     alarm.AlarmCond.Mid);
            break;
        };
        strcat(buf, "\n");
        if (proc(buf) != 0)
            return(-1);
    };
    if ( (rv == SA_ERR_HPI_NOT_PRESENT) && (first == 1) ) {
        proc("No alarms in DAT.\n");
        return(SA_OK);
    };
    return(rv);
}
Beispiel #2
0
SaErrorT hasAlarmWithSeverity(SaHpiSessionIdT sessionId,
			      SaHpiSeverityT severity, SaHpiBoolT * found)
{
	SaErrorT status;
	SaHpiAlarmT alarm;

	*found = SAHPI_FALSE;
	alarm.AlarmId = SAHPI_FIRST_ENTRY;
	status = saHpiAlarmGetNext(sessionId, severity, SAHPI_FALSE, &alarm);
	if (status == SA_ERR_HPI_NOT_PRESENT) {
		*found = SAHPI_FALSE;
		status = SA_OK;
	} else if (status == SA_OK) {
		*found = SAHPI_TRUE;
	} else {
		e_print(saHpiAlarmGet, SA_OK | SA_ERR_HPI_NOT_PRESENT, status);
	}
	return status;
}