コード例 #1
0
ファイル: 13.c プロジェクト: basheerk/autotest-client-tests
int addArea(SaHpiSessionIdT sessionId,
	    SaHpiResourceIdT resourceId,
	    SaHpiIdrIdT idrId, SaHpiEntryIdT * areaId)
{
	int retval;
	SaErrorT status;

	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_ERR_HPI_READ_ONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else if (status == SA_ERR_HPI_OUT_OF_SPACE) {
		retval = SAF_TEST_NOTSUPPORT;
	} else if (status == SA_OK) {
		retval = SAF_TEST_PASS;
	} else {
		retval = SAF_TEST_UNRESOLVED;
		e_print(saHpiIdrAreaAdd, SA_OK, status);
	}

	return retval;
}
コード例 #2
0
ファイル: sim_sanity_042.c プロジェクト: openhpi1/testrepo
int main(int argc, char **argv)
{
	SaHpiSessionIdT sid = 0;
        SaHpiEntryIdT newid;
        SaHpiIdrFieldT field;
	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;
	}

        rc = saHpiIdrAreaAdd(sid, 1, 1, SAHPI_IDR_AREATYPE_PRODUCT_INFO,
                             &newid);
        if (rc != SA_OK) {
		dbg("Couldn't add new area");
		dbg("Error %s",oh_lookup_error(rc));
                return -1;
	}

        field.AreaId = newid;
        field.Type = SAHPI_IDR_FIELDTYPE_PART_NUMBER;
        field.Field.DataType = SAHPI_TL_TYPE_TEXT;
        field.Field.Language = SAHPI_LANG_ENGLISH;
        field.Field.DataLength = 6;
        field.Field.Data[0] = '1';
        field.Field.Data[1] = '2';
        field.Field.Data[2] = '3';
        field.Field.Data[3] = '4';
        field.Field.Data[4] = '5';
        field.Field.Data[5] = '6';
        field.Field.Data[6] = '\0';
        rc = saHpiIdrFieldAdd(sid, 1, 1, &field);
        if (rc != SA_OK) {
		dbg("Couldn't add field");
		dbg("Error %s",oh_lookup_error(rc));
                return -1;
	}

        field.AreaId = 1;
        rc = saHpiIdrFieldAdd(sid, 1, 1, &field);
        if (rc == SA_OK) {
		dbg("Able to add field to a read only area");
                return -1;
	}

	return 0;
}
コード例 #3
0
ファイル: 12.c プロジェクト: basheerk/autotest-client-tests
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;
}
コード例 #4
0
ファイル: 6.c プロジェクト: basheerk/autotest-client-tests
int processInventoryRdr(SaHpiSessionIdT sessionId,
			SaHpiResourceIdT resourceId,
			SaHpiRdrT * rdr, SaHpiInventoryRecT * inventoryRec)
{
	SaErrorT status;
	int retval = SAF_TEST_UNKNOWN;
	SaHpiEntryIdT AreaId;
	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 {

		// Call saHpiIdrAreaAdd() on an IDR with the Unspecified area type.

		status = saHpiIdrAreaAdd(sessionId,
					 resourceId,
					 inventoryRec->IdrId,
					 SAHPI_IDR_AREATYPE_UNSPECIFIED,
					 &AreaId);

		if (status == SA_ERR_HPI_INVALID_DATA) {
			retval = SAF_TEST_PASS;
		} else {
			retval = SAF_TEST_FAIL;
			e_print(saHpiIdrAreaAdd, SA_ERR_HPI_INVALID_DATA,
				status);
		}
	}

	return retval;
}
コード例 #5
0
ファイル: 1.c プロジェクト: basheerk/autotest-client-tests
int processInventoryRdr(SaHpiSessionIdT sessionId,
			SaHpiResourceIdT resourceId,
			SaHpiRdrT * rdr, SaHpiInventoryRecT * inventoryRec)
{
	SaErrorT status;
	int retval = SAF_TEST_UNKNOWN;
	SaHpiEntryIdT AreaId;
	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 {

		// Call saHpiIdrAreaAdd() passing in an invalid ResourceId

		status = saHpiIdrAreaAdd(sessionId,
					 INVALID_RESOURCE_ID,
					 inventoryRec->IdrId,
					 SAHPI_IDR_AREATYPE_PRODUCT_INFO,
					 &AreaId);

		if (status == SA_ERR_HPI_INVALID_RESOURCE) {
			retval = SAF_TEST_PASS;
		} else {
			retval = SAF_TEST_FAIL;
			e_print(saHpiIdrAreaAdd, SA_ERR_HPI_INVALID_RESOURCE,
				status);
		}
	}

	return retval;
}
コード例 #6
0
ファイル: ctrl_inv.c プロジェクト: openhpi1/testrepo
static int add_inventory_area(SaHpiSessionIdT sessionId, SaHpiResourceIdT rptid, SaHpiIdrIdT rdrnum)
{
	SaHpiEntryIdT	entry;
	SaErrorT	rv;
	char		buf[10];
	int		i;

	i = get_string_param("Area type (inter,chass,board,prod,oem): ", buf, 9);
	if (i != 0) return(-1);
	for (i = 0; Area_types[i].name != (char *)NULL; i++)
		if (strcmp(Area_types[i].name, buf) == 0) break;
	if (Area_types[i].name == (char *)NULL) {
		printf("Error!!! Unknown Area type: %s\n", buf);
		return(-1);
	};
	rv = saHpiIdrAreaAdd(sessionId, rptid, rdrnum, Area_types[i].val, &entry);
	if (rv != SA_OK) {
		printf("ERROR!!! saHpiIdrAreaAdd: %s\n", oh_lookup_error(rv));
		return(rv);
	};
	return(SA_OK);
}
コード例 #7
0
ファイル: 5.c プロジェクト: basheerk/autotest-client-tests
int processInventoryRdr(SaHpiSessionIdT sessionId,
			SaHpiResourceIdT resourceId,
			SaHpiRdrT * rdr, SaHpiInventoryRecT * inventoryRec)
{
	SaErrorT status;
	int retval;
	SaHpiEntryIdT AreaId;

	// Call saHpiIdrAreaAdd() passing in an invalid IdrId

	status = saHpiIdrAreaAdd(sessionId,
				 resourceId,
				 INVALID_INVENTORY_ID,
				 SAHPI_IDR_AREATYPE_PRODUCT_INFO, &AreaId);

	if (status == SA_ERR_HPI_NOT_PRESENT) {
		retval = SAF_TEST_PASS;
	} else {
		retval = SAF_TEST_FAIL;
		e_print(saHpiIdrAreaAdd, SA_ERR_HPI_NOT_PRESENT, status);
	}

	return retval;
}
コード例 #8
0
ファイル: sim_sanity_042.c プロジェクト: openhpi1/openhpitest
int main(int argc, char **argv)
{
	SaHpiSessionIdT sid = 0;
        SaHpiEntryIdT newid;
        SaHpiIdrFieldT field;
	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;
	}

        rc = saHpiIdrAreaAdd(sid, resid, 1, SAHPI_IDR_AREATYPE_PRODUCT_INFO,
                             &newid);
        if (rc == SA_ERR_HPI_READ_ONLY) {
		return 0;
	} else if (rc != SA_OK) {
		err("Couldn't add new area");
		err("Error %s",oh_lookup_error(rc));
                return -1;
	}

        field.AreaId = newid;
        field.Type = SAHPI_IDR_FIELDTYPE_PART_NUMBER;
        field.Field.DataType = SAHPI_TL_TYPE_TEXT;
        field.Field.Language = SAHPI_LANG_ENGLISH;
        field.Field.DataLength = 6;
        field.Field.Data[0] = '1';
        field.Field.Data[1] = '2';
        field.Field.Data[2] = '3';
        field.Field.Data[3] = '4';
        field.Field.Data[4] = '5';
        field.Field.Data[5] = '6';
        field.Field.Data[6] = '\0';
        rc = saHpiIdrFieldAdd(sid, resid, 1, &field);
        if (rc != SA_OK) {
		err("Couldn't add field");
		err("Error %s",oh_lookup_error(rc));
                return -1;
	}

        field.AreaId = 1;
        rc = saHpiIdrFieldAdd(sid, resid, 1, &field);
        if (rc == SA_OK) {
		err("Able to add field to a read only area");
                return -1;
	}

	return 0;
}