int run_test2(SaHpiSessionIdT sessionId, SaHpiResourceIdT resourceId, SaHpiAnnunciatorRecT * annunRec, SaHpiSeverityT severity) { SaErrorT status; int retval; SaHpiAnnunciatorModeT mode; SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum; status = setWriteMode(sessionId, resourceId, annunRec, &mode); if (status == ANNUN_ERROR) { e_trace(); retval = SAF_TEST_UNRESOLVED; } else if (status == ANNUN_READONLY) { retval = SAF_TEST_NOTSUPPORT; } else { status = saHpiAnnunciatorDelete(sessionId, resourceId, a_num, SAHPI_ENTRY_UNSPECIFIED, severity); if (status == SA_OK) { retval = run_test1(sessionId, resourceId, a_num, severity); } else { e_print(saHpiAnnunciatorDelete, SA_OK, status); retval = SAF_TEST_UNRESOLVED; } restoreMode(sessionId, resourceId, a_num, mode); } return retval; }
int processAnnunRdr(SaHpiSessionIdT sessionId, SaHpiResourceIdT resourceId, SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec) { SaErrorT status; int retval; SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum; SaHpiAnnunciatorModeT mode; SaHpiAnnouncementT announcement; SaHpiBoolT found; status = setWriteMode(sessionId, resourceId, annunRec, &mode); if (status == ANNUN_ERROR) { e_trace(); retval = SAF_TEST_UNRESOLVED; } else if (status == ANNUN_READONLY) { retval = SAF_TEST_NOTSUPPORT; } else { status = addInfoAnnouncement(sessionId, resourceId, a_num, &announcement); if (status != SA_OK) { m_print("addInfoAnnouncement fail!"); retval = SAF_TEST_UNRESOLVED; } else { status = saHpiAnnunciatorDelete(sessionId, resourceId, a_num, announcement.EntryId, SAHPI_INFORMATIONAL); if (status != SA_OK) { retval = SAF_TEST_FAIL; e_print(saHpiAnnunciatorDelete, SA_OK, status); } else { status = containsAnnouncement(sessionId, resourceId, a_num, announcement.EntryId, &found); if (status != SA_OK) { e_trace(); retval = SAF_TEST_UNRESOLVED; } else if (!found) { retval = SAF_TEST_PASS; } else { retval = SAF_TEST_FAIL; m_print ("saHpiAnnunciatorDelete failed to remove announcement!"); } } } restoreMode(sessionId, resourceId, a_num, mode); } return retval; }
int main(int argc, char **argv) { SaHpiSessionIdT sid = 0; SaHpiAnnouncementT announ; SaErrorT rc = SA_OK; rc = saHpiSessionOpen(SAHPI_UNSPECIFIED_DOMAIN_ID, &sid, NULL); if (rc != SA_OK) { dbg("Failed to open session"); return -1; } rc = saHpiDiscover(sid); if (rc != SA_OK) { dbg("Failed to run discover"); return -1; } /* add an announcement */ announ.EntryId = 0; // modified by oh_announcement_append announ.Timestamp = 0; // modified by oh_announcement_append announ.AddedByUser = FALSE; // modified by oh_announcement_append announ.Severity = SAHPI_CRITICAL; announ.Acknowledged = FALSE; announ.StatusCond.Type= SAHPI_STATUS_COND_TYPE_SENSOR; announ.StatusCond.Entity.Entry[0].EntityType = SAHPI_ENT_SYSTEM_BOARD; announ.StatusCond.Entity.Entry[0].EntityLocation = 1; announ.StatusCond.Entity.Entry[1].EntityType = SAHPI_ENT_ROOT; announ.StatusCond.Entity.Entry[1].EntityLocation = 0; announ.StatusCond.DomainId = 1; announ.StatusCond.ResourceId = 1; announ.StatusCond.SensorNum = 1; announ.StatusCond.EventState = SAHPI_ES_UNSPECIFIED; announ.StatusCond.Name.Length = 5; memcpy(&announ.StatusCond.Name.Value,"announ", 5); announ.StatusCond.Mid = 123; /* we will not worry about the Data field for this test */ rc = saHpiAnnunciatorAdd(sid, 1, 1, &announ); if (rc != SA_OK) { dbg("Couldn't add announcement"); dbg("Error %s",oh_lookup_error(rc)); return -1; } rc = saHpiAnnunciatorDelete(sid, 1, 1, SAHPI_ENTRY_UNSPECIFIED, SAHPI_CRITICAL); if (rc != SA_OK) { dbg("Couldn't delete announcement"); dbg("Error %s",oh_lookup_error(rc)); return -1; } return 0; }
int run_test(SaHpiSessionIdT sessionId, SaHpiResourceIdT resourceId, SaHpiAnnunciatorNumT a_num) { SaErrorT status; int retval; status = saHpiAnnunciatorDelete(sessionId, resourceId, a_num, SAHPI_ENTRY_UNSPECIFIED, SAHPI_INFORMATIONAL); if (status == SA_ERR_HPI_READ_ONLY) { retval = SAF_TEST_PASS; } else { retval = SAF_TEST_FAIL; e_print(saHpiAnnunciatorDelete, SA_ERR_HPI_READ_ONLY, status); } return retval; }
static ret_code_t delete_announ(SaHpiResourceIdT rptid, SaHpiInstrumentIdT rdrnum) { SaErrorT rv; char str[32]; int i, any = 0; SaHpiSeverityT sev = SAHPI_OK; SaHpiEntryIdT entryId = 0; i = get_string_param("EntryId(<Id> | any): ", str, 32); if (i != 0) return(HPI_SHELL_PARM_ERROR); if (strcmp(str, "any") == 0) any = 1; else entryId = atoi(str); if (any) { i = get_string_param("Severity(crit|maj|min|info|ok|all): ", str, 10); if (i != 0) return(-1); if (strcmp(str, "crit") == 0) sev = SAHPI_CRITICAL; else if (strcmp(str, "maj") == 0) sev = SAHPI_MAJOR; else if (strcmp(str, "min") == 0) sev = SAHPI_MINOR; else if (strcmp(str, "info") == 0) sev = SAHPI_INFORMATIONAL; else if (strcmp(str, "ok") == 0) sev = SAHPI_OK; else if (strcmp(str, "all") == 0) sev = SAHPI_ALL_SEVERITIES; else { printf("Invalid severity %s\n", str); return(HPI_SHELL_PARM_ERROR); }; entryId = SAHPI_ENTRY_UNSPECIFIED; }; rv = saHpiAnnunciatorDelete(Domain->sessionId, rptid, rdrnum, entryId, sev); if (rv != SA_OK) { printf("saHpiAnnunciatorDelete error %s\n", oh_lookup_error(rv)); return(HPI_SHELL_CMD_ERROR); }; return HPI_SHELL_OK; }
int main(int argc, char **argv) { SaHpiSessionIdT sid = 0; SaHpiAnnouncementT announ; SaErrorT rc = SA_OK; rc = saHpiSessionOpen(SAHPI_UNSPECIFIED_DOMAIN_ID, &sid, NULL); if (rc != SA_OK) { err("Failed to open session"); return -1; } rc = saHpiDiscover(sid); if (rc != SA_OK) { err("Failed to run discover"); return -1; } /* get the resource id of the chassis */ SaHpiResourceIdT resid = get_resid(sid, SAHPI_ENT_SYSTEM_CHASSIS); if (resid == 0) { err("Couldn't find the resource id of the chassis"); return -1; } /* add an announcement */ announ.EntryId = 0; // modified by oh_announcement_append announ.Timestamp = 0; // modified by oh_announcement_append announ.AddedByUser = FALSE; // modified by oh_announcement_append announ.Severity = SAHPI_CRITICAL; announ.Acknowledged = FALSE; announ.StatusCond.Type= SAHPI_STATUS_COND_TYPE_SENSOR; announ.StatusCond.Entity.Entry[0].EntityType = SAHPI_ENT_SYSTEM_BOARD; announ.StatusCond.Entity.Entry[0].EntityLocation = 1; announ.StatusCond.Entity.Entry[1].EntityType = SAHPI_ENT_ROOT; announ.StatusCond.Entity.Entry[1].EntityLocation = 0; announ.StatusCond.DomainId = 1; announ.StatusCond.ResourceId = 1; announ.StatusCond.SensorNum = 1; announ.StatusCond.EventState = SAHPI_ES_UNSPECIFIED; announ.StatusCond.Name.Length = 6; memcpy(&announ.StatusCond.Name.Value,"announ", 6); announ.StatusCond.Mid = 123; announ.StatusCond.Data.DataType = SAHPI_TL_TYPE_TEXT; announ.StatusCond.Data.Language = SAHPI_LANG_ENGLISH; announ.StatusCond.Data.DataLength = 6; memcpy(&announ.StatusCond.Data.Data,"announ", 6); rc = saHpiAnnunciatorAdd(sid, resid, 1, &announ); if (rc != SA_OK) { err("Couldn't add announcement"); err("Error %s",oh_lookup_error(rc)); return -1; } rc = saHpiAnnunciatorDelete(sid, resid, 1, SAHPI_ENTRY_UNSPECIFIED, SAHPI_CRITICAL); if (rc != SA_OK) { err("Couldn't delete announcement"); err("Error %s",oh_lookup_error(rc)); return -1; } return 0; }