All pastes #69754 Raw Edit

Unnamed

public text v1 · immutable
#69754 ·published 2006-06-23 12:02 UTC
rendered paste body
int dvbfe_sec_set(struct dvbfe_handle *fe,
		   struct dvbfe_sec_config *sec_config,
		   struct dvbfe_parameters *params,
		   int timeout)
{
	int tmp;
	struct dvbfe_parameters localparams;
	struct dvbfe_parameters *topass;

	// perform SEC
	switch(sec_config->type) {
	case DVBFE_SEC_CONFIG_NONE:
		break;
	case DVBFE_SEC_CONFIG_SIMPLE:
		if ((tmp = dvbfe_sec_std_sequence(fe,
					sec_config->sec.simple.lo_hi,
					sec_config->sec.simple.polarisation,
					sec_config->sec.simple.sat_pos)) < 0)
			return tmp;
		break;

	case DVBFE_SEC_CONFIG_ADVANCED:
		if ((tmp = dvbfe_sec_command(fe, sec_config->sec.advanced_cmd)) < 0)
			return tmp;
		break;
	}
	
	// frequency adjustment
	if (sec_config->lof) {
		memcpy(&localparams, params, sizeof(struct dvbfe_parameters));
		localparams.frequency -= sec_config->lof;
		topass = &localparams;
	} else {
		topass = params;
	}

	// set the frontend!
	return dvbfe_set(fe, topass, timeout);
}