Example #1
0
ret_code_t ann_block_modeset(void)
{
	SaErrorT		rv;
	SaHpiAnnunciatorModeT	mode;
	char			buf[256];
	int			res;

	res = get_string_param("Mode(auto|user|shared): ", buf, 10);
	if (res != 0) {
		printf("Invalid mode: %s\n", buf);
		return(HPI_SHELL_PARM_ERROR);
	};
	if (strcmp(buf, "auto") == 0)
		mode = SAHPI_ANNUNCIATOR_MODE_AUTO;
	else if (strcmp(buf, "user") == 0)
		mode = SAHPI_ANNUNCIATOR_MODE_USER;
	else if (strcmp(buf, "shared") == 0)
		mode = SAHPI_ANNUNCIATOR_MODE_SHARED;
	else {
		printf("Invalid mode: %s\n", buf);
		return(HPI_SHELL_PARM_ERROR);
	};
	rv = saHpiAnnunciatorModeSet(Domain->sessionId, ann_block_env.rptid,
		ann_block_env.rdrnum, mode);
	if (rv != SA_OK) {
		printf("saHpiAnnunciatorModeSet error %s\n",
			oh_lookup_error(rv));
		return(HPI_SHELL_CMD_ERROR);
	};
	return(HPI_SHELL_OK);
}
Example #2
0
int processAnnunRdr(SaHpiSessionIdT sessionId,
		    SaHpiResourceIdT resourceId,
		    SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	int retval = SAF_TEST_NOTSUPPORT;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;
	SaHpiAnnunciatorModeT bad_mode = SAHPI_ANNUNCIATOR_MODE_SHARED + 1;

	if (!annunRec->ModeReadOnly) {

		status =
		    saHpiAnnunciatorModeSet(sessionId, resourceId, a_num,
					    bad_mode);

		if (status == SA_ERR_HPI_INVALID_PARAMS) {
			retval = SAF_TEST_PASS;
		} else {
			retval = SAF_TEST_FAIL;
			e_print(saHpiAnnunciatorModeSet,
				SA_ERR_HPI_INVALID_PARAMS, status);
		}
	}

	return retval;
}
Example #3
0
int processAnnunRdr(SaHpiSessionIdT sessionId,
		    SaHpiResourceIdT resourceId,
		    SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	int retval;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;

	status = saHpiAnnunciatorModeSet(INVALID_SESSION_ID, resourceId,
					 a_num, SAHPI_ANNUNCIATOR_MODE_USER);

	if (status == SA_ERR_HPI_INVALID_SESSION) {
		retval = SAF_TEST_PASS;
	} else {
		retval = SAF_TEST_FAIL;
		e_print(saHpiAnnunciatorModeSet, SA_ERR_HPI_INVALID_SESSION,
			status);
	}

	return retval;
}
Example #4
0
ret_code_t ann_block(void)
{
	SaHpiRdrT		rdr_entry;
	SaHpiResourceIdT	rptid;
	SaHpiInstrumentIdT	rdrnum;
	SaHpiAnnunciatorModeT	mode;
	SaHpiRdrTypeT		type;
	SaErrorT		rv;
	char			buf[256];
	char			*str;
	ret_code_t		ret;
	term_def_t		*term;
	int			res, val;

	ret = ask_rpt(&rptid);
	if (ret != HPI_SHELL_OK) return(ret);
	type = SAHPI_ANNUNCIATOR_RDR;
	ret = ask_rdr(rptid, type, &rdrnum);
	if (ret != HPI_SHELL_OK) return(ret);
	rv = saHpiRdrGetByInstrumentId(Domain->sessionId, rptid, type, rdrnum,
		&rdr_entry);
	if (rv != SA_OK) {
		printf("saHpiRdrGetByInstrumentId error %s\n", oh_lookup_error(rv));
		printf("ERROR!!! Can not get rdr: ResourceId=%d RdrType=%d RdrNum=%d\n",
			rptid, type, rdrnum);
		return(HPI_SHELL_CMD_ERROR);
	};
	show_rdr_attrs(&rdr_entry);
	for (;;) {
		block_type = ANN_COM;
		res = get_new_command("annunciator block ==> ");
		if (res == 2) {
			unget_term();
			block_type = MAIN_COM;
			return HPI_SHELL_OK;
		};
		term = get_next_term();
		if (term == NULL) continue;
		snprintf(buf, 256, "%s", term->term);
		if ((strcmp(buf, "q") == 0) || (strcmp(buf, "quit") == 0)) break;
		if (strcmp(buf, "acknow") == 0) {
			set_acknowledge(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "list") == 0) {
			list_cond(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "add") == 0) {
			add_announ(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "delete") == 0) {
			delete_announ(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "modeget") == 0) {
			rv = saHpiAnnunciatorModeGet(Domain->sessionId, rptid,
				rdrnum, &mode);
			if (rv != SA_OK) {
				printf("saHpiAnnunciatorModeGet error %s\n",
					oh_lookup_error(rv));
				continue;
			};
			switch (mode) {
				case SAHPI_ANNUNCIATOR_MODE_AUTO:
					str = "AUTO"; break;
				case SAHPI_ANNUNCIATOR_MODE_USER:
					str = "USER"; break;
				case SAHPI_ANNUNCIATOR_MODE_SHARED:
					str = "SHARED"; break;
				default: str = "Unknown"; break;
			};
			printf("Annunciator Mode: %s\n", str);
			continue;
		};
		if (strcmp(buf, "modeset") == 0) {
			res = get_string_param("Mode(auto|user|shared): ",
				buf, 10);
			if (res != 0) {
				printf("Invalid mode: %s\n", buf);
				continue;
			};
			if (strcmp(buf, "auto") == 0)
				mode = SAHPI_ANNUNCIATOR_MODE_AUTO;
			else if (strcmp(buf, "user") == 0)
				mode = SAHPI_ANNUNCIATOR_MODE_USER;
			else if (strcmp(buf, "shared") == 0)
				mode = SAHPI_ANNUNCIATOR_MODE_SHARED;
			else {
				printf("Invalid mode: %s\n", buf);
				continue;
			};
			rv = saHpiAnnunciatorModeSet(Domain->sessionId, rptid,
				rdrnum, mode);
			if (rv != SA_OK) {
				printf("saHpiAnnunciatorModeSet error %s\n",
					oh_lookup_error(rv));
			};
			continue;
		};
		if (strcmp(buf, "show") == 0) {
			term = get_next_term();
			if (term == NULL) {
				show_rdr_attrs(&rdr_entry);
				continue;
			};
			unget_term();
			res = get_int_param(" ", &val);
			if (res != 1) unget_term();
			else show_cond(rptid, rdrnum, val);
			continue;
		}
	};
	block_type = MAIN_COM;
	return SA_OK;
}