Пример #1
0
static int set_proto(struct rc_device *rc_dev)
{
	int rc = 0;

	if (rc_dev->version == VERSION_2) {
		rc = v2_set_protocols(rc_dev);
		return rc;
	}

	if (rc_dev->type == SOFTWARE_DECODER) {
		if (rc_dev->supported & NEC)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/nec_decoder",
						      rc_dev->current & NEC);
		if (rc_dev->supported & RC_5)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/rc5_decoder",
						      rc_dev->current & RC_5);
		if (rc_dev->supported & RC_6)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/rc6_decoder",
						      rc_dev->current & RC_6);
		if (rc_dev->supported & JVC)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/jvc_decoder",
						      rc_dev->current & JVC);
		if (rc_dev->supported & SONY)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/sony_decoder",
						      rc_dev->current & SONY);
	} else {
		rc = v1_set_hw_protocols(rc_dev);
	}

	return rc;
}
Пример #2
0
static int set_proto(struct rc_device *rc_dev)
{
	int rc = 0;

	rc_dev->current &= rc_dev->supported;
	if (!rc_dev->current) {
		fprintf(stderr, "Invalid protocols selected\n");
		return EINVAL;
	}

	if (rc_dev->version == VERSION_2) {
		rc = v2_set_protocols(rc_dev);
		return rc;
	}

	if (rc_dev->type == SOFTWARE_DECODER) {
		if (rc_dev->supported & NEC)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/nec_decoder",
						      rc_dev->current & NEC);
		if (rc_dev->supported & RC_5)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/rc5_decoder",
						      rc_dev->current & RC_5);
		if (rc_dev->supported & RC_6)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/rc6_decoder",
						      rc_dev->current & RC_6);
		if (rc_dev->supported & JVC)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/jvc_decoder",
						      rc_dev->current & JVC);
		if (rc_dev->supported & SONY)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/sony_decoder",
						      rc_dev->current & SONY);
		if (rc_dev->supported & XMP)
			rc += v1_set_sw_enabled_protocol(rc_dev, "/xmp_decoder",
						      rc_dev->current & XMP);
	} else {
		rc = v1_set_hw_protocols(rc_dev);
	}

	return rc;
}