X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcectypes.h;h=88eeabbd4b8afd1a9f89d6ea1070dad2f73655fd;hb=884f239fe81ebd0489bdee277de6b719c1495557;hp=095416e445020446efb37413b2c4ae08cea30657;hpb=2e82cff0a171a476e5d323ca95749d214e90df59;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index 095416e..88eeabb 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -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 @@ -469,7 +470,8 @@ typedef enum cec_user_control_code CEC_USER_CONTROL_CODE_F5 = 0x75, CEC_USER_CONTROL_CODE_DATA = 0x76, CEC_USER_CONTROL_CODE_AN_RETURN = 0x91, - CEC_USER_CONTROL_CODE_MAX = 0x91, + CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST = 0x96, + CEC_USER_CONTROL_CODE_MAX = 0x96, CEC_USER_CONTROL_CODE_UNKNOWN } cec_user_control_code; @@ -600,6 +602,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; @@ -906,12 +923,29 @@ typedef struct cec_logical_addresses #endif } cec_logical_addresses; +typedef enum libcec_alert +{ + CEC_ALERT_SERVICE_DEVICE +} libcec_alert; + +typedef enum libcec_parameter_type +{ + CEC_PARAMETER_TYPE_STRING +} libcec_parameter_type; + +struct libcec_parameter +{ + libcec_parameter_type paramType; + void* paramData; +}; + struct libcec_configuration; typedef int (CEC_CDECL* CBCecLogMessageType)(void *param, const cec_log_message &); typedef int (CEC_CDECL* CBCecKeyPressType)(void *param, const cec_keypress &); typedef int (CEC_CDECL* CBCecCommandType)(void *param, const cec_command &); typedef int (CEC_CDECL* CBCecConfigurationChangedType)(void *param, const libcec_configuration &); +typedef int (CEC_CDECL* CBCecAlertType)(void *param, const libcec_alert, const libcec_parameter &); typedef struct ICECCallbacks { @@ -942,6 +976,14 @@ typedef struct ICECCallbacks * @return 1 when ok, 0 otherwise */ CBCecConfigurationChangedType CBCecConfigurationChanged; + + /*! + * @Brief Transfer a libcec alert message from libCEC to the client + * @Param alert The alert type transfer. + * @Param data Misc. additional information. + * @return 1 when ok, 0 otherwise + */ + CBCecAlertType CBCecAlert; } ICECCallbacks; typedef enum cec_client_version @@ -949,7 +991,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 +1001,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 +1032,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 +1063,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;