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; }
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; }