int processInventoryRdr(SaHpiSessionIdT sessionId, SaHpiResourceIdT resourceId, SaHpiRdrT * rdr, SaHpiInventoryRecT * inventoryRec) { SaErrorT status; int retval = SAF_TEST_UNKNOWN; SaHpiIdrInfoT IdrInfo; // Check to see if this is a read-only IDR status = saHpiIdrInfoGet(sessionId, resourceId, inventoryRec->IdrId, &IdrInfo); if (status != SA_OK) { retval = SAF_TEST_UNRESOLVED; e_print(saHpiIdrInfoGet, SA_OK, status); } else if (IdrInfo.ReadOnly) { retval = SAF_TEST_NOTSUPPORT; } else { status = saHpiIdrAreaDelete(sessionId, resourceId, inventoryRec->IdrId, SAHPI_FIRST_ENTRY); if (status == SA_ERR_HPI_INVALID_PARAMS) { retval = SAF_TEST_PASS; } else { retval = SAF_TEST_FAIL; e_print(saHpiIdrAreaDelete, SA_ERR_HPI_INVALID_PARAMS, status); } } return retval; }
static int delete_inventory_area(SaHpiSessionIdT sessionId, SaHpiResourceIdT rptid, SaHpiIdrIdT rdrnum) { SaErrorT rv; int res, i; i = get_int_param("Area Id: ", &res); if (i != 1) { printf("Error!!! Invalid Area Id\n"); return(-1); }; rv = saHpiIdrAreaDelete(sessionId, rptid, rdrnum, res); if (rv != SA_OK) { printf("ERROR!!! saHpiIdrAreaDelete: %s\n", oh_lookup_error(rv)); return(rv); }; return(SA_OK); }
int processInventoryRdr(SaHpiSessionIdT sessionId, SaHpiResourceIdT resourceId, SaHpiRdrT * rdr, SaHpiInventoryRecT * inventoryRec) { SaErrorT status; int retval = SAF_TEST_UNKNOWN; SaHpiEntryIdT AreaId; SaHpiIdrInfoT IdrInfo; SaHpiIdrIdT IdrId = inventoryRec->IdrId; // Check to see if this is a read-only IDR status = saHpiIdrInfoGet(sessionId, resourceId, IdrId, &IdrInfo); if (status != SA_OK) { retval = SAF_TEST_UNRESOLVED; e_print(saHpiIdrInfoGet, SA_OK, status); } else if (IdrInfo.ReadOnly) { retval = SAF_TEST_NOTSUPPORT; } else { status = saHpiIdrAreaAdd(sessionId, resourceId, IdrId, SAHPI_IDR_AREATYPE_PRODUCT_INFO, &AreaId); if (status == SA_ERR_HPI_INVALID_DATA) { retval = SAF_TEST_NOTSUPPORT; } else if (status != SA_OK) { retval = SAF_TEST_FAIL; e_print(saHpiIdrAreaAdd, SA_OK, status); } else { retval = run_test(sessionId, resourceId, IdrId, SAHPI_IDR_AREATYPE_PRODUCT_INFO, AreaId); status = saHpiIdrAreaDelete(sessionId, resourceId, IdrId, AreaId); if (status != SA_OK) { e_print(saHpiIdrAreaDelete, SA_OK, status); } } } return retval; }