cec: don't send an active source command when the physical address couldn't be set...
[deb_libcec.git] / include / cectypes.h
index 095416e445020446efb37413b2c4ae08cea30657..3beef1cc391a779871d9347f9ecd4fa91d6b2932 100644 (file)
@@ -80,6 +80,7 @@ namespace CEC {
 #define CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER 1
 #define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY  1
 #define CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE  1
+#define CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY 1
 
 #define CEC_DEFAULT_TRANSMIT_RETRY_WAIT 500
 #define CEC_DEFAULT_TRANSMIT_TIMEOUT    1000
@@ -600,6 +601,21 @@ typedef enum cec_adapter_messagecode
   MSGCODE_START_BOOTLOADER,
   MSGCODE_SET_POWERSTATE,
   MSGCODE_SET_CONTROLLED,
+  MSGCODE_GET_AUTO_ENABLED,
+  MSGCODE_SET_AUTO_ENABLED,
+  MSGCODE_GET_DEFAULT_LOGICAL_ADDRESS,
+  MSGCODE_SET_DEFAULT_LOGICAL_ADDRESS,
+  MSGCODE_GET_LOGICAL_ADDRESS_MASK,
+  MSGCODE_SET_LOGICAL_ADDRESS_MASK,
+  MSGCODE_GET_PHYSICAL_ADDRESS,
+  MSGCODE_SET_PHYSICAL_ADDRESS,
+  MSGCODE_GET_DEVICE_TYPE,
+  MSGCODE_SET_DEVICE_TYPE,
+  MSGCODE_GET_HDMI_VERSION,
+  MSGCODE_SET_HDMI_VERSION,
+  MSGCODE_GET_OSD_NAME,
+  MSGCODE_SET_OSD_NAME,
+  MSGCODE_WRITE_EEPROM,
   MSGCODE_FRAME_EOM = 0x80,
   MSGCODE_FRAME_ACK = 0x40,
 } cec_adapter_messagecode;
@@ -949,7 +965,9 @@ typedef enum cec_client_version
   CEC_CLIENT_VERSION_PRE_1_5 = 0,
   CEC_CLIENT_VERSION_1_5_0   = 0x1500,
   CEC_CLIENT_VERSION_1_5_1   = 0x1501,
-  CEC_CLIENT_VERSION_1_5_2   = 0x1502
+  CEC_CLIENT_VERSION_1_5_2   = 0x1502,
+  CEC_CLIENT_VERSION_1_5_3   = 0x1503,
+  CEC_CLIENT_VERSION_1_6_0   = 0x1600
 } cec_client_version;
 
 typedef enum cec_server_version
@@ -957,7 +975,9 @@ typedef enum cec_server_version
   CEC_SERVER_VERSION_PRE_1_5 = 0,
   CEC_SERVER_VERSION_1_5_0   = 0x1500,
   CEC_SERVER_VERSION_1_5_1   = 0x1501,
-  CEC_SERVER_VERSION_1_5_2   = 0x1502
+  CEC_SERVER_VERSION_1_5_2   = 0x1502,
+  CEC_SERVER_VERSION_1_5_3   = 0x1503,
+  CEC_SERVER_VERSION_1_6_0   = 0x1600
 } cec_server_version;
 
 typedef struct libcec_configuration
@@ -986,6 +1006,10 @@ typedef struct libcec_configuration
   void *                callbackParam;        /*!< the object to pass along with a call of the callback methods. NULL to ignore */
   ICECCallbacks *       callbacks;            /*!< the callback methods to use. set this to NULL when not using callbacks */
 
+  cec_logical_addresses logicalAddresses;     /*!< the current logical addresses. read-only. added in 1.5.3 */
+  uint16_t              iFirmwareVersion;     /*!< the firmware version of the adapter. added in 1.6.0 */
+  uint8_t               bPowerOffDevicesOnStandby; /*!< put devices in standby when the PC/player is put in standby. added in 1.6.0 */
+
 #ifdef __cplusplus
   void Clear(void)
   {
@@ -1013,6 +1037,9 @@ typedef struct libcec_configuration
     bPowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER;
     bPowerOffOnStandby   = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY;
     bSendInactiveSource  = CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE;
+    logicalAddresses.Clear();
+    iFirmwareVersion = 0;
+    bPowerOffDevicesOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY;
 
     callbackParam    = NULL;
     callbacks        = NULL;