+cec_osd_name cec_get_device_osd_name(cec_logical_address iAddress)
+{
+ cec_osd_name retVal;
+ retVal.device = iAddress;
+ retVal.name[0] = 0;
+
+ if (cec_parser)
+ retVal = cec_parser->GetDeviceOSDName(iAddress);
+
+ return retVal;
+}
+
+int cec_enable_physical_address_detection(void)
+{
+ return cec_parser ? (cec_parser->EnablePhysicalAddressDetection() ? 1 : 0) : -1;
+}
+
+int cec_set_stream_path_logical(CEC::cec_logical_address iAddress)
+{
+ return cec_parser ? (cec_parser->SetStreamPath(iAddress) ? 1 : 0) : -1;
+}
+
+int cec_set_stream_path_physical(uint16_t iPhysicalAddress)
+{
+ return cec_parser ? (cec_parser->SetStreamPath(iPhysicalAddress) ? 1 : 0) : -1;
+}
+
+cec_logical_addresses cec_get_logical_addresses(void)
+{
+ cec_logical_addresses addr;
+ addr.Clear();
+ if (cec_parser)
+ addr = cec_parser->GetLogicalAddresses();
+ return addr;
+}
+
+int cec_get_current_configuration(libcec_configuration *configuration)
+{
+ return cec_parser ? (cec_parser->GetCurrentConfiguration(configuration) ? 1 : 0) : -1;
+}
+
+int cec_can_persist_configuration(void)
+{
+ return cec_parser ? (cec_parser->CanPersistConfiguration() ? 1 : 0) : -1;
+}
+
+int cec_persist_configuration(libcec_configuration *configuration)
+{
+ return cec_parser ? (cec_parser->PersistConfiguration(configuration) ? 1 : 0) : -1;
+}
+
+int cec_set_configuration(libcec_configuration *configuration)
+{
+ return cec_parser ? (cec_parser->SetConfiguration(configuration) ? 1 : 0) : -1;
+}
+
+void cec_rescan_devices(void)
+{
+ if (cec_parser)
+ cec_parser->RescanActiveDevices();
+}
+
+int cec_is_libcec_active_source(void)
+{
+ return cec_parser ? (cec_parser->IsLibCECActiveSource() ? 1 : 0) : -1;
+}
+