libCEC 8.1.0
C / C++ API — control CEC-capable HDMI devices
Loading...
Searching...
No Matches
cectypes.h File Reference
#include "version.h"
#include <stdint.h>
#include <string.h>
#include <string>
Include dependency graph for cectypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cec_log_message
 
struct  cec_keypress
 
struct  cec_adapter
 
struct  cec_adapter_descriptor
 
struct  AdapterDescriptor
 
struct  cec_datapacket
 
struct  cec_command
 
struct  cec_device_type_list
 
struct  cec_logical_addresses
 
struct  libcec_parameter
 
struct  CEC::cec_adapter_stats
 
struct  ICECCallbacks
 
struct  CEC::libcec_configuration
 

Namespaces

namespace  CEC
 

Macros

#define CECTYPES_H_
 
#define CEC_CDECL
 
#define CEC_DEFAULT_PHYSICAL_ADDRESS   0x1000
 default physical address 1.0.0.0, HDMI port 1
 
#define CEC_DEFAULT_HDMI_PORT   1
 default HDMI port to which the adapter is connected, port 1
 
#define CEC_DEFAULT_BASE_DEVICE   0
 default logical address of the device to which the adapter is connected, TV
 
#define CEC_BUTTON_TIMEOUT   500
 timeout in milliseconds to send a key release event after receiving a key press
 
#define CEC_BUTTON_RELEASE_BACKSTOP_MS   5000
 safety timeout in milliseconds after which a held button is force-released once the device has proven it sends its own release messages.
 
#define CEC_DOUBLE_TAP_TIMEOUT_MS   200
 don't send the same key twice within this timeout in milliseconds
 
#define CEC_BUTTON_REPEAT_DELAY_MS   200
 delay in milliseconds before a held button starts auto-repeating
 
#define CEC_POWER_STATE_REFRESH_TIME   30000
 don't query the power state for the same device within this timeout in milliseconds
 
#define CEC_AUDIO_STATUS_REFRESH_TIME   200
 don't query the audio state for the same device within this timeout in milliseconds
 
#define CEC_FW_VERSION_UNKNOWN   0xFFFF
 unknown firmware version value
 
#define CEC_FW_BUILD_UNKNOWN   0
 unknown build date value
 
#define CEC_CONNECT_TRIES   3
 maximum number of retries when opening a connection
 
#define CEC_PHYSICAL_ADDRESS_TV   0
 physical address of the TV
 
#define CEC_MIN_PHYSICAL_ADDRESS   0x1000
 minimum physical address for the adapter
 
#define CEC_MAX_PHYSICAL_ADDRESS   0xFFFE
 maximum physical address for the adapter
 
#define CEC_INVALID_PHYSICAL_ADDRESS   0xFFFF
 invalid physical address value
 
#define CEC_MIN_VENDORID   1
 minimum vendor ID value
 
#define CEC_MAX_VENDORID   0xFFFFFE
 maximum vendor ID value
 
#define CEC_INVALID_VENDORID   0xFFFFFF
 invalid vendor ID value
 
#define CEC_MIN_HDMI_PORTNUMBER   1
 minimum HDMI port number value
 
#define CEC_MAX_HDMI_PORTNUMBER   15
 maximum HDMI port number value
 
#define CEC_HDMI_PORTNUMBER_NONE   0
 invalid HDMI port number value
 
#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE   1
 default value for settings "activate source"
 
#define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN   1
 default value for settings "power off on shutdown"
 
#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY   1
 default value for settings "power off on standby"
 
#define CEC_DEFAULT_DEVICE_LANGUAGE   "eng"
 default value for settings "device menu language"
 
#define CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS   0
 default value for settings "autodetect physical address"
 
#define CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM   0
 default value for settings "get settings from ROM"
 
#define CEC_DEFAULT_SETTING_CEC_VERSION   0x05
 default value for settings "libCEC CEC version"
 
#define CEC_DEFAULT_TRANSMIT_RETRY_WAIT   500
 wait this amount of milliseconds before retrying to send a failed message
 
#define CEC_DEFAULT_TRANSMIT_TIMEOUT   1000
 transmission fails when not acked within this amount of milliseconds after sending the initial packet
 
#define CEC_DEFAULT_TRANSMIT_WAIT   1000
 wait this amount of milliseconds for an ack
 
#define CEC_DEFAULT_TRANSMIT_RETRIES   1
 default number of retries
 
#define CEC_DEFAULT_CONNECT_TIMEOUT   10000
 default connection timeout in milliseconds
 
#define CEC_DEFAULT_CONNECT_RETRY_WAIT   1000
 wait this amount of milliseconds before retrying when failing to connect
 
#define CEC_SERIAL_DEFAULT_BAUDRATE   38400
 default serial baudrate
 
#define CEC_CLEAR_INPUT_DEFAULT_WAIT   1000
 maximum time to wait when clearing input
 
#define CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS   1000
 wait this amount of milliseconds before retrying when libCEC failed to make itself the active source
 
#define CEC_FORWARD_STANDBY_MIN_INTERVAL   10000
 don't forward any power off command to the client application for this amount of milliseconds after sending a power off command
 
#define CEC_DEFAULT_COMBO_TIMEOUT_MS   1000
 default timeout in milliseconds for combo keys
 
#define CEC_RPI_VIRTUAL_PATH   "Raspberry Pi"
 the virtual device path to use for the Raspberry Pi's CEC wire
 
#define CEC_RPI_VIRTUAL_COM   "RPI"
 the name of the virtual COM port to use for the Raspberry Pi's CEC wire
 
#define CEC_TDA995x_PATH   "/dev/hdmicec"
 the path to use for the TDA995x's CEC wire
 
#define CEC_TDA995x_VIRTUAL_COM   "CuBox"
 the name of the virtual COM port to use for the TDA995x's CEC wire
 
#define CEC_EXYNOS_PATH   "/dev/CEC"
 the path to use for the Exynos HDMI CEC device
 
#define CEC_EXYNOS_VIRTUAL_COM   "Exynos"
 the name of the virtual COM port to use for the EXYNOS' CEC wire
 
#define CEC_MAX_DATA_PACKET_SIZE   (16 * 4)
 Maximum size of a data packet.
 
#define CEC_MAX_FRAME_SIZE   16
 Maximum size of a CEC frame on the wire: 1 header byte + 1 opcode + up to 14 operands.
 
#define CEC_LINUX_PATH   "/dev/cec0"
 the path to use for the Linux CEC device
 
#define CEC_LINUX_PATH_FORMAT   "/dev/cec%u"
 printf format, node prefix and scan range used to locate Linux CEC device nodes.
 
#define CEC_LINUX_PATH_PREFIX   "/dev/cec"
 
#define CEC_LINUX_MAX_DEVICES   32
 
#define CEC_LINUX_VIRTUAL_COM   "Linux"
 the name of the virtual COM port to use for the Linux' CEC wire
 
#define CEC_AOCEC_PATH   "/dev/aocec"
 the path to use for the AOCEC HDMI CEC device
 
#define CEC_AOCEC_VIRTUAL_COM   "AOCEC"
 the name of the virtual COM port to use for the AOCEC' CEC wire
 
#define CEC_IMX_PATH   "/dev/mxc_hdmi_cec"
 the path to use for the i.MX CEC wire
 
#define CEC_IMX_VIRTUAL_COM   "i.MX"
 the name of the virtual COM port to use for the i.MX CEC wire
 
#define CEC_MIN_LIB_VERSION   4
 Mimimum client version.
 
#define MSGSTART   0xFF
 
#define MSGEND   0xFE
 
#define MSGESC   0xFD
 
#define ESCOFFSET   3
 
#define DOUBLE_TAP_TIMEOUT_UNIT_SIZE   (50)
 
#define CEC_FEATURE_CONFIGURABLE_COMBO_KEY   1
 
#define LIBCEC_OSD_NAME_SIZE   (15)
 

Typedefs

typedef char CEC::cec_menu_language[4]
 the iso language code + (char)0
 
typedef char CEC::cec_osd_name[14]
 the name of the device
 
typedef struct libcec_configuration CEC::libcec_configuration
 

Enumerations

enum  CEC::cec_abort_reason {
  CEC::CEC_ABORT_REASON_UNRECOGNIZED_OPCODE = 0 , CEC::CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND = 1 , CEC::CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE = 2 , CEC::CEC_ABORT_REASON_INVALID_OPERAND = 3 ,
  CEC::CEC_ABORT_REASON_REFUSED = 4
}
 
enum  CEC::cec_analogue_broadcast_type { CEC::CEC_ANALOGUE_BROADCAST_TYPE_CABLE = 0x00 , CEC::CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE = 0x01 , CEC::CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL = 0x02 }
 
enum  CEC::cec_audio_rate {
  CEC::CEC_AUDIO_RATE_RATE_CONTROL_OFF = 0 , CEC::CEC_AUDIO_RATE_STANDARD_RATE_100 = 1 , CEC::CEC_AUDIO_RATE_FAST_RATE_MAX_101 = 2 , CEC::CEC_AUDIO_RATE_SLOW_RATE_MIN_99 = 3 ,
  CEC::CEC_AUDIO_RATE_STANDARD_RATE_100_0 = 4 , CEC::CEC_AUDIO_RATE_FAST_RATE_MAX_100_1 = 5 , CEC::CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9 = 6
}
 
enum  CEC::cec_audio_status {
  CEC::CEC_AUDIO_MUTE_STATUS_MASK = 0x80 , CEC::CEC_AUDIO_VOLUME_STATUS_MASK = 0x7F , CEC::CEC_AUDIO_VOLUME_MIN = 0x00 , CEC::CEC_AUDIO_VOLUME_MAX = 0x64 ,
  CEC::CEC_AUDIO_VOLUME_STATUS_UNKNOWN = 0x7F
}
 
enum  CEC::cec_boolean { CEC::CEC_FALSE = 0 , CEC::CEC_TRUE = 1 }
 
enum  CEC::cec_version {
  CEC::CEC_VERSION_UNKNOWN = 0x00 , CEC::CEC_VERSION_1_2 = 0x01 , CEC::CEC_VERSION_1_2A = 0x02 , CEC::CEC_VERSION_1_3 = 0x03 ,
  CEC::CEC_VERSION_1_3A = 0x04 , CEC::CEC_VERSION_1_4 = 0x05 , CEC::CEC_VERSION_2_0 = 0x06
}
 
enum  CEC::cec_channel_identifier {
  CEC::CEC_CHANNEL_NUMBER_FORMAT_MASK = 0xFC000000 , CEC::CEC_1_PART_CHANNEL_NUMBER = 0x04000000 , CEC::CEC_2_PART_CHANNEL_NUMBER = 0x08000000 , CEC::CEC_MAJOR_CHANNEL_NUMBER_MASK = 0x3FF0000 ,
  CEC::CEC_MINOR_CHANNEL_NUMBER_MASK = 0xFFFF
}
 
enum  CEC::cec_deck_control_mode { CEC::CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND = 1 , CEC::CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND = 2 , CEC::CEC_DECK_CONTROL_MODE_STOP = 3 , CEC::CEC_DECK_CONTROL_MODE_EJECT = 4 }
 
enum  CEC::cec_deck_info {
  CEC::CEC_DECK_INFO_PLAY = 0x11 , CEC::CEC_DECK_INFO_RECORD = 0x12 , CEC::CEC_DECK_INFO_PLAY_REVERSE = 0x13 , CEC::CEC_DECK_INFO_STILL = 0x14 ,
  CEC::CEC_DECK_INFO_SLOW = 0x15 , CEC::CEC_DECK_INFO_SLOW_REVERSE = 0x16 , CEC::CEC_DECK_INFO_FAST_FORWARD = 0x17 , CEC::CEC_DECK_INFO_FAST_REVERSE = 0x18 ,
  CEC::CEC_DECK_INFO_NO_MEDIA = 0x19 , CEC::CEC_DECK_INFO_STOP = 0x1A , CEC::CEC_DECK_INFO_SKIP_FORWARD_WIND = 0x1B , CEC::CEC_DECK_INFO_SKIP_REVERSE_REWIND = 0x1C ,
  CEC::CEC_DECK_INFO_INDEX_SEARCH_FORWARD = 0x1D , CEC::CEC_DECK_INFO_INDEX_SEARCH_REVERSE = 0x1E , CEC::CEC_DECK_INFO_OTHER_STATUS = 0x1F , CEC::CEC_DECK_INFO_OTHER_STATUS_LG = 0x20
}
 
enum  CEC::cec_device_type {
  CEC::CEC_DEVICE_TYPE_TV = 0 , CEC::CEC_DEVICE_TYPE_RECORDING_DEVICE = 1 , CEC::CEC_DEVICE_TYPE_RESERVED = 2 , CEC::CEC_DEVICE_TYPE_TUNER = 3 ,
  CEC::CEC_DEVICE_TYPE_PLAYBACK_DEVICE = 4 , CEC::CEC_DEVICE_TYPE_AUDIO_SYSTEM = 5
}
 
enum  CEC::cec_display_control { CEC::CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME = 0x00 , CEC::CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED = 0x40 , CEC::CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE = 0x80 , CEC::CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE = 0xC0 }
 
enum  CEC::cec_external_source_specifier { CEC::CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG = 4 , CEC::CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS = 5 }
 
enum  CEC::cec_menu_request_type { CEC::CEC_MENU_REQUEST_TYPE_ACTIVATE = 0 , CEC::CEC_MENU_REQUEST_TYPE_DEACTIVATE = 1 , CEC::CEC_MENU_REQUEST_TYPE_QUERY = 2 }
 
enum  CEC::cec_menu_state { CEC::CEC_MENU_STATE_ACTIVATED = 0 , CEC::CEC_MENU_STATE_DEACTIVATED = 1 }
 
enum  CEC::cec_play_mode {
  CEC::CEC_PLAY_MODE_PLAY_FORWARD = 0x24 , CEC::CEC_PLAY_MODE_PLAY_REVERSE = 0x20 , CEC::CEC_PLAY_MODE_PLAY_STILL = 0x25 , CEC::CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED = 0x05 ,
  CEC::CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED = 0x06 , CEC::CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED = 0x07 , CEC::CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED = 0x09 , CEC::CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED = 0x0A ,
  CEC::CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED = 0x0B , CEC::CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED = 0x15 , CEC::CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED = 0x16 , CEC::CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED = 0x17 ,
  CEC::CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED = 0x19 , CEC::CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED = 0x1A , CEC::CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED = 0x1B
}
 
enum  CEC::cec_power_status {
  CEC::CEC_POWER_STATUS_ON = 0x00 , CEC::CEC_POWER_STATUS_STANDBY = 0x01 , CEC::CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON = 0x02 , CEC::CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY = 0x03 ,
  CEC::CEC_POWER_STATUS_UNKNOWN = 0x99
}
 
enum  CEC::cec_record_source_type {
  CEC::CEC_RECORD_SOURCE_TYPE_OWN_SOURCE = 1 , CEC::CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE = 2 , CEC::CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE = 3 , CEC::CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS = 4 ,
  CEC::CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS = 5
}
 
enum  CEC::cec_record_status_info {
  CEC::CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE = 0x01 , CEC::CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE = 0x02 , CEC::CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE = 0x03 , CEC::CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT = 0x04 ,
  CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE = 0x05 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE = 0x06 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE = 0x07 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER = 0x09 ,
  CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS = 0x0A , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED = 0x0B , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS = 0x0C , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE = 0x0D ,
  CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED = 0x0E , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA = 0x10 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING = 0x11 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING = 0x12 ,
  CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED = 0x13 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL = 0x14 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM = 0x15 , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE = 0x16 ,
  CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON = 0x17 , CEC::CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY = 0x1A , CEC::CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED = 0x1B , CEC::CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON = 0x1F
}
 
enum  CEC::cec_recording_sequence {
  CEC::CEC_RECORDING_SEQUENCE_SUNDAY = 0x01 , CEC::CEC_RECORDING_SEQUENCE_MONDAY = 0x02 , CEC::CEC_RECORDING_SEQUENCE_TUESDAY = 0x04 , CEC::CEC_RECORDING_SEQUENCE_WEDNESDAY = 0x08 ,
  CEC::CEC_RECORDING_SEQUENCE_THURSDAY = 0x10 , CEC::CEC_RECORDING_SEQUENCE_FRIDAY = 0x20 , CEC::CEC_RECORDING_SEQUENCE_SATURDAY = 0x40 , CEC::CEC_RECORDING_SEQUENCE_ONCE_ONLY = 0x00
}
 
enum  CEC::cec_status_request { CEC::CEC_STATUS_REQUEST_ON = 1 , CEC::CEC_STATUS_REQUEST_OFF = 2 , CEC::CEC_STATUS_REQUEST_ONCE = 3 }
 
enum  CEC::cec_system_audio_status { CEC::CEC_SYSTEM_AUDIO_STATUS_OFF = 0 , CEC::CEC_SYSTEM_AUDIO_STATUS_ON = 1 , CEC::CEC_SYSTEM_AUDIO_STATUS_UNKNOWN = 2 }
 
enum  CEC::cec_timer_cleared_status_data { CEC::CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING = 0x00 , CEC::CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING = 0x01 , CEC::CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE = 0x02 , CEC::CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED = 0x80 }
 
enum  CEC::cec_timer_overlap_warning { CEC::CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP = 0 , CEC::CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP = 1 }
 
enum  CEC::cec_media_info { CEC::CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED = 0x00 , CEC::CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED = 0x01 , CEC::CEC_MEDIA_INFO_MEDIA_NOT_PRESENT = 0x02 , CEC::CEC_MEDIA_INFO_FUTURE_USE = 0x03 }
 
enum  CEC::cec_programmed_indicator { CEC::CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED = 0 , CEC::CEC_PROGRAMMED_INDICATOR_PROGRAMMED = 1 }
 
enum  CEC::cec_programmed_info {
  CEC::CEC_PROGRAMMED_INFO_FUTURE_USE = 0x0 , CEC::CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = 0x08 , CEC::CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = 0x09 , CEC::CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE = 0x0B ,
  CEC::CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE = 0x0A
}
 
enum  CEC::cec_not_programmed_error_info {
  CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE = 0x0 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE = 0x01 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE = 0x02 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR = 0x03 ,
  CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER = 0x04 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 0x05 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED = 0x06 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 0x07 ,
  CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION = 0x08 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON = 0x09 , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE = 0x0A , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START = 0x0B ,
  CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END = 0x0D , CEC::CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED = 0x0E
}
 
enum  CEC::cec_recording_flag { CEC::CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING = 0 , CEC::CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING = 1 }
 
enum  CEC::cec_tuner_display_info { CEC::CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER = 0 , CEC::CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER = 1 , CEC::CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER = 2 }
 
enum  CEC::cec_broadcast_system {
  CEC::CEC_BROADCAST_SYSTEM_PAL_B_G = 0 , CEC::CEC_BROADCAST_SYSTEM_SECAM_L1 = 1 , CEC::CEC_BROADCAST_SYSTEM_PAL_M = 2 , CEC::CEC_BROADCAST_SYSTEM_NTSC_M = 3 ,
  CEC::CEC_BROADCAST_SYSTEM_PAL_I = 4 , CEC::CEC_BROADCAST_SYSTEM_SECAM_DK = 5 , CEC::CEC_BROADCAST_SYSTEM_SECAM_B_G = 6 , CEC::CEC_BROADCAST_SYSTEM_SECAM_L2 = 7 ,
  CEC::CEC_BROADCAST_SYSTEM_PAL_DK = 8 , CEC::CEC_BROADCAST_SYSTEM_OTHER_SYSTEM = 30
}
 
enum  CEC::cec_user_control_code {
  CEC::CEC_USER_CONTROL_CODE_SELECT = 0x00 , CEC::CEC_USER_CONTROL_CODE_UP = 0x01 , CEC::CEC_USER_CONTROL_CODE_DOWN = 0x02 , CEC::CEC_USER_CONTROL_CODE_LEFT = 0x03 ,
  CEC::CEC_USER_CONTROL_CODE_RIGHT = 0x04 , CEC::CEC_USER_CONTROL_CODE_RIGHT_UP = 0x05 , CEC::CEC_USER_CONTROL_CODE_RIGHT_DOWN = 0x06 , CEC::CEC_USER_CONTROL_CODE_LEFT_UP = 0x07 ,
  CEC::CEC_USER_CONTROL_CODE_LEFT_DOWN = 0x08 , CEC::CEC_USER_CONTROL_CODE_ROOT_MENU = 0x09 , CEC::CEC_USER_CONTROL_CODE_SETUP_MENU = 0x0A , CEC::CEC_USER_CONTROL_CODE_CONTENTS_MENU = 0x0B ,
  CEC::CEC_USER_CONTROL_CODE_FAVORITE_MENU = 0x0C , CEC::CEC_USER_CONTROL_CODE_EXIT = 0x0D , CEC::CEC_USER_CONTROL_CODE_TOP_MENU = 0x10 , CEC::CEC_USER_CONTROL_CODE_DVD_MENU = 0x11 ,
  CEC::CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE = 0x1D , CEC::CEC_USER_CONTROL_CODE_NUMBER11 = 0x1E , CEC::CEC_USER_CONTROL_CODE_NUMBER12 = 0x1F , CEC::CEC_USER_CONTROL_CODE_NUMBER0 = 0x20 ,
  CEC::CEC_USER_CONTROL_CODE_NUMBER1 = 0x21 , CEC::CEC_USER_CONTROL_CODE_NUMBER2 = 0x22 , CEC::CEC_USER_CONTROL_CODE_NUMBER3 = 0x23 , CEC::CEC_USER_CONTROL_CODE_NUMBER4 = 0x24 ,
  CEC::CEC_USER_CONTROL_CODE_NUMBER5 = 0x25 , CEC::CEC_USER_CONTROL_CODE_NUMBER6 = 0x26 , CEC::CEC_USER_CONTROL_CODE_NUMBER7 = 0x27 , CEC::CEC_USER_CONTROL_CODE_NUMBER8 = 0x28 ,
  CEC::CEC_USER_CONTROL_CODE_NUMBER9 = 0x29 , CEC::CEC_USER_CONTROL_CODE_DOT = 0x2A , CEC::CEC_USER_CONTROL_CODE_ENTER = 0x2B , CEC::CEC_USER_CONTROL_CODE_CLEAR = 0x2C ,
  CEC::CEC_USER_CONTROL_CODE_NEXT_FAVORITE = 0x2F , CEC::CEC_USER_CONTROL_CODE_CHANNEL_UP = 0x30 , CEC::CEC_USER_CONTROL_CODE_CHANNEL_DOWN = 0x31 , CEC::CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL = 0x32 ,
  CEC::CEC_USER_CONTROL_CODE_SOUND_SELECT = 0x33 , CEC::CEC_USER_CONTROL_CODE_INPUT_SELECT = 0x34 , CEC::CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION = 0x35 , CEC::CEC_USER_CONTROL_CODE_HELP = 0x36 ,
  CEC::CEC_USER_CONTROL_CODE_PAGE_UP = 0x37 , CEC::CEC_USER_CONTROL_CODE_PAGE_DOWN = 0x38 , CEC::CEC_USER_CONTROL_CODE_POWER = 0x40 , CEC::CEC_USER_CONTROL_CODE_VOLUME_UP = 0x41 ,
  CEC::CEC_USER_CONTROL_CODE_VOLUME_DOWN = 0x42 , CEC::CEC_USER_CONTROL_CODE_MUTE = 0x43 , CEC::CEC_USER_CONTROL_CODE_PLAY = 0x44 , CEC::CEC_USER_CONTROL_CODE_STOP = 0x45 ,
  CEC::CEC_USER_CONTROL_CODE_PAUSE = 0x46 , CEC::CEC_USER_CONTROL_CODE_RECORD = 0x47 , CEC::CEC_USER_CONTROL_CODE_REWIND = 0x48 , CEC::CEC_USER_CONTROL_CODE_FAST_FORWARD = 0x49 ,
  CEC::CEC_USER_CONTROL_CODE_EJECT = 0x4A , CEC::CEC_USER_CONTROL_CODE_FORWARD = 0x4B , CEC::CEC_USER_CONTROL_CODE_BACKWARD = 0x4C , CEC::CEC_USER_CONTROL_CODE_STOP_RECORD = 0x4D ,
  CEC::CEC_USER_CONTROL_CODE_PAUSE_RECORD = 0x4E , CEC::CEC_USER_CONTROL_CODE_ANGLE = 0x50 , CEC::CEC_USER_CONTROL_CODE_SUB_PICTURE = 0x51 , CEC::CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND = 0x52 ,
  CEC::CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE = 0x53 , CEC::CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING = 0x54 , CEC::CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION = 0x55 , CEC::CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE = 0x56 ,
  CEC::CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION = 0x57 , CEC::CEC_USER_CONTROL_CODE_PLAY_FUNCTION = 0x60 , CEC::CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION = 0x61 , CEC::CEC_USER_CONTROL_CODE_RECORD_FUNCTION = 0x62 ,
  CEC::CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION = 0x63 , CEC::CEC_USER_CONTROL_CODE_STOP_FUNCTION = 0x64 , CEC::CEC_USER_CONTROL_CODE_MUTE_FUNCTION = 0x65 , CEC::CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION = 0x66 ,
  CEC::CEC_USER_CONTROL_CODE_TUNE_FUNCTION = 0x67 , CEC::CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION = 0x68 , CEC::CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION = 0x69 , CEC::CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION = 0x6A ,
  CEC::CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION = 0x6B , CEC::CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION = 0x6C , CEC::CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION = 0x6D , CEC::CEC_USER_CONTROL_CODE_F1_BLUE = 0x71 ,
  CEC::CEC_USER_CONTROL_CODE_F2_RED = 0X72 , CEC::CEC_USER_CONTROL_CODE_F3_GREEN = 0x73 , CEC::CEC_USER_CONTROL_CODE_F4_YELLOW = 0x74 , CEC::CEC_USER_CONTROL_CODE_F5 = 0x75 ,
  CEC::CEC_USER_CONTROL_CODE_DATA = 0x76 , CEC::CEC_USER_CONTROL_CODE_AN_RETURN = 0x91 , CEC::CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST = 0x96 , CEC::CEC_USER_CONTROL_CODE_MAX = 0x96 ,
  CEC::CEC_USER_CONTROL_CODE_UNKNOWN = 0xFF
}
 
enum  CEC::cec_logical_address {
  CEC::CECDEVICE_UNKNOWN = -1 , CEC::CECDEVICE_TV = 0 , CEC::CECDEVICE_RECORDINGDEVICE1 = 1 , CEC::CECDEVICE_RECORDINGDEVICE2 = 2 ,
  CEC::CECDEVICE_TUNER1 = 3 , CEC::CECDEVICE_PLAYBACKDEVICE1 = 4 , CEC::CECDEVICE_AUDIOSYSTEM = 5 , CEC::CECDEVICE_TUNER2 = 6 ,
  CEC::CECDEVICE_TUNER3 = 7 , CEC::CECDEVICE_PLAYBACKDEVICE2 = 8 , CEC::CECDEVICE_RECORDINGDEVICE3 = 9 , CEC::CECDEVICE_TUNER4 = 10 ,
  CEC::CECDEVICE_PLAYBACKDEVICE3 = 11 , CEC::CECDEVICE_RESERVED1 = 12 , CEC::CECDEVICE_RESERVED2 = 13 , CEC::CECDEVICE_FREEUSE = 14 ,
  CEC::CECDEVICE_UNREGISTERED = 15 , CEC::CECDEVICE_BROADCAST = 15
}
 
enum  CEC::cec_opcode {
  CEC::CEC_OPCODE_ACTIVE_SOURCE = 0x82 , CEC::CEC_OPCODE_IMAGE_VIEW_ON = 0x04 , CEC::CEC_OPCODE_TEXT_VIEW_ON = 0x0D , CEC::CEC_OPCODE_INACTIVE_SOURCE = 0x9D ,
  CEC::CEC_OPCODE_REQUEST_ACTIVE_SOURCE = 0x85 , CEC::CEC_OPCODE_ROUTING_CHANGE = 0x80 , CEC::CEC_OPCODE_ROUTING_INFORMATION = 0x81 , CEC::CEC_OPCODE_SET_STREAM_PATH = 0x86 ,
  CEC::CEC_OPCODE_STANDBY = 0x36 , CEC::CEC_OPCODE_RECORD_OFF = 0x0B , CEC::CEC_OPCODE_RECORD_ON = 0x09 , CEC::CEC_OPCODE_RECORD_STATUS = 0x0A ,
  CEC::CEC_OPCODE_RECORD_TV_SCREEN = 0x0F , CEC::CEC_OPCODE_CLEAR_ANALOGUE_TIMER = 0x33 , CEC::CEC_OPCODE_CLEAR_DIGITAL_TIMER = 0x99 , CEC::CEC_OPCODE_CLEAR_EXTERNAL_TIMER = 0xA1 ,
  CEC::CEC_OPCODE_SET_ANALOGUE_TIMER = 0x34 , CEC::CEC_OPCODE_SET_DIGITAL_TIMER = 0x97 , CEC::CEC_OPCODE_SET_EXTERNAL_TIMER = 0xA2 , CEC::CEC_OPCODE_SET_TIMER_PROGRAM_TITLE = 0x67 ,
  CEC::CEC_OPCODE_TIMER_CLEARED_STATUS = 0x43 , CEC::CEC_OPCODE_TIMER_STATUS = 0x35 , CEC::CEC_OPCODE_CEC_VERSION = 0x9E , CEC::CEC_OPCODE_GET_CEC_VERSION = 0x9F ,
  CEC::CEC_OPCODE_GIVE_PHYSICAL_ADDRESS = 0x83 , CEC::CEC_OPCODE_GET_MENU_LANGUAGE = 0x91 , CEC::CEC_OPCODE_REPORT_PHYSICAL_ADDRESS = 0x84 , CEC::CEC_OPCODE_SET_MENU_LANGUAGE = 0x32 ,
  CEC::CEC_OPCODE_DECK_CONTROL = 0x42 , CEC::CEC_OPCODE_DECK_STATUS = 0x1B , CEC::CEC_OPCODE_GIVE_DECK_STATUS = 0x1A , CEC::CEC_OPCODE_PLAY = 0x41 ,
  CEC::CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS = 0x08 , CEC::CEC_OPCODE_SELECT_ANALOGUE_SERVICE = 0x92 , CEC::CEC_OPCODE_SELECT_DIGITAL_SERVICE = 0x93 , CEC::CEC_OPCODE_TUNER_DEVICE_STATUS = 0x07 ,
  CEC::CEC_OPCODE_TUNER_STEP_DECREMENT = 0x06 , CEC::CEC_OPCODE_TUNER_STEP_INCREMENT = 0x05 , CEC::CEC_OPCODE_DEVICE_VENDOR_ID = 0x87 , CEC::CEC_OPCODE_GIVE_DEVICE_VENDOR_ID = 0x8C ,
  CEC::CEC_OPCODE_VENDOR_COMMAND = 0x89 , CEC::CEC_OPCODE_VENDOR_COMMAND_WITH_ID = 0xA0 , CEC::CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN = 0x8A , CEC::CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP = 0x8B ,
  CEC::CEC_OPCODE_SET_OSD_STRING = 0x64 , CEC::CEC_OPCODE_GIVE_OSD_NAME = 0x46 , CEC::CEC_OPCODE_SET_OSD_NAME = 0x47 , CEC::CEC_OPCODE_MENU_REQUEST = 0x8D ,
  CEC::CEC_OPCODE_MENU_STATUS = 0x8E , CEC::CEC_OPCODE_USER_CONTROL_PRESSED = 0x44 , CEC::CEC_OPCODE_USER_CONTROL_RELEASE = 0x45 , CEC::CEC_OPCODE_GIVE_DEVICE_POWER_STATUS = 0x8F ,
  CEC::CEC_OPCODE_REPORT_POWER_STATUS = 0x90 , CEC::CEC_OPCODE_FEATURE_ABORT = 0x00 , CEC::CEC_OPCODE_ABORT = 0xFF , CEC::CEC_OPCODE_GIVE_AUDIO_STATUS = 0x71 ,
  CEC::CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS = 0x7D , CEC::CEC_OPCODE_REPORT_AUDIO_STATUS = 0x7A , CEC::CEC_OPCODE_SET_SYSTEM_AUDIO_MODE = 0x72 , CEC::CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST = 0x70 ,
  CEC::CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS = 0x7E , CEC::CEC_OPCODE_SET_AUDIO_RATE = 0x9A , CEC::CEC_OPCODE_REPORT_SHORT_AUDIO_DESCRIPTORS = 0xA3 , CEC::CEC_OPCODE_REQUEST_SHORT_AUDIO_DESCRIPTORS = 0xA4 ,
  CEC::CEC_OPCODE_START_ARC = 0xC0 , CEC::CEC_OPCODE_REPORT_ARC_STARTED = 0xC1 , CEC::CEC_OPCODE_REPORT_ARC_ENDED = 0xC2 , CEC::CEC_OPCODE_REQUEST_ARC_START = 0xC3 ,
  CEC::CEC_OPCODE_REQUEST_ARC_END = 0xC4 , CEC::CEC_OPCODE_END_ARC = 0xC5 , CEC::CEC_OPCODE_CDC = 0xF8 , CEC::CEC_OPCODE_NONE = 0xFD
}
 
enum  CEC::cec_log_level {
  CEC::CEC_LOG_ERROR = 1 , CEC::CEC_LOG_WARNING = 2 , CEC::CEC_LOG_NOTICE = 4 , CEC::CEC_LOG_TRAFFIC = 8 ,
  CEC::CEC_LOG_DEBUG = 16 , CEC::CEC_LOG_ALL = 31
}
 
enum  CEC::cec_bus_device_status { CEC::CEC_DEVICE_STATUS_UNKNOWN , CEC::CEC_DEVICE_STATUS_PRESENT , CEC::CEC_DEVICE_STATUS_NOT_PRESENT , CEC::CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC }
 
enum  CEC::cec_vendor_id {
  CEC::CEC_VENDOR_TOSHIBA = 0x000039 , CEC::CEC_VENDOR_SAMSUNG = 0x0000F0 , CEC::CEC_VENDOR_DENON = 0x0005CD , CEC::CEC_VENDOR_MARANTZ = 0x000678 ,
  CEC::CEC_VENDOR_LOEWE = 0x000982 , CEC::CEC_VENDOR_ONKYO = 0x0009B0 , CEC::CEC_VENDOR_MEDION = 0x000CB8 , CEC::CEC_VENDOR_TOSHIBA2 = 0x000CE7 ,
  CEC::CEC_VENDOR_APPLE = 0x0010FA , CEC::CEC_VENDOR_PULSE_EIGHT = 0x001582 , CEC::CEC_VENDOR_HARMAN_KARDON2 = 0x001950 , CEC::CEC_VENDOR_GOOGLE = 0x001A11 ,
  CEC::CEC_VENDOR_AKAI = 0x0020C7 , CEC::CEC_VENDOR_AOC = 0x002467 , CEC::CEC_VENDOR_PANASONIC = 0x008045 , CEC::CEC_VENDOR_PHILIPS = 0x00903E ,
  CEC::CEC_VENDOR_DAEWOO = 0x009053 , CEC::CEC_VENDOR_YAMAHA = 0x00A0DE , CEC::CEC_VENDOR_GRUNDIG = 0x00D0D5 , CEC::CEC_VENDOR_PIONEER = 0x00E036 ,
  CEC::CEC_VENDOR_LG = 0x00E091 , CEC::CEC_VENDOR_SHARP = 0x08001F , CEC::CEC_VENDOR_SONY = 0x080046 , CEC::CEC_VENDOR_TEUFEL = 0x232425 ,
  CEC::CEC_VENDOR_BROADCOM = 0x18C086 , CEC::CEC_VENDOR_SHARP2 = 0x534850 , CEC::CEC_VENDOR_VIZIO = 0x6B746D , CEC::CEC_VENDOR_BENQ = 0x8065E9 ,
  CEC::CEC_VENDOR_HARMAN_KARDON = 0x9C645E , CEC::CEC_VENDOR_UNKNOWN = 0
}
 
enum  CEC::cec_adapter_type {
  CEC::ADAPTERTYPE_UNKNOWN = 0 , CEC::ADAPTERTYPE_P8_EXTERNAL = 0x1 , CEC::ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2 , CEC::ADAPTERTYPE_RPI = 0x100 ,
  CEC::ADAPTERTYPE_TDA995x = 0x200 , CEC::ADAPTERTYPE_EXYNOS = 0x300 , CEC::ADAPTERTYPE_LINUX = 0x400 , CEC::ADAPTERTYPE_AOCEC = 0x500 ,
  CEC::ADAPTERTYPE_IMX = 0x600 , CEC::ADAPTERTYPE_TEGRA = 0x700
}
 
enum  CEC::libcec_version { CEC::LIBCEC_VERSION_CURRENT = _LIBCEC_VERSION_CURRENT }
 force exporting through swig More...
 
enum  CEC::libcec_alert {
  CEC::CEC_ALERT_SERVICE_DEVICE , CEC::CEC_ALERT_CONNECTION_LOST , CEC::CEC_ALERT_PERMISSION_ERROR , CEC::CEC_ALERT_PORT_BUSY ,
  CEC::CEC_ALERT_PHYSICAL_ADDRESS_ERROR , CEC::CEC_ALERT_TV_POLL_FAILED
}
 
enum  CEC::libcec_parameter_type { CEC::CEC_PARAMETER_TYPE_STRING , CEC::CEC_PARAMETER_TYPE_UNKOWN }
 

Macro Definition Documentation

◆ CECTYPES_H_

#define CECTYPES_H_

Definition at line 35 of file cectypes.h.

◆ CEC_CDECL

#define CEC_CDECL

Definition at line 44 of file cectypes.h.

◆ CEC_DEFAULT_PHYSICAL_ADDRESS

#define CEC_DEFAULT_PHYSICAL_ADDRESS   0x1000

default physical address 1.0.0.0, HDMI port 1

Definition at line 69 of file cectypes.h.

◆ CEC_DEFAULT_HDMI_PORT

#define CEC_DEFAULT_HDMI_PORT   1

default HDMI port to which the adapter is connected, port 1

Definition at line 73 of file cectypes.h.

◆ CEC_DEFAULT_BASE_DEVICE

#define CEC_DEFAULT_BASE_DEVICE   0

default logical address of the device to which the adapter is connected, TV

Definition at line 77 of file cectypes.h.

◆ CEC_BUTTON_TIMEOUT

#define CEC_BUTTON_TIMEOUT   500

timeout in milliseconds to send a key release event after receiving a key press

Definition at line 82 of file cectypes.h.

◆ CEC_BUTTON_RELEASE_BACKSTOP_MS

#define CEC_BUTTON_RELEASE_BACKSTOP_MS   5000

safety timeout in milliseconds after which a held button is force-released once the device has proven it sends its own release messages.

it only guards against a lost release, so it is kept generous to leave room for long-presses.

Definition at line 89 of file cectypes.h.

◆ CEC_DOUBLE_TAP_TIMEOUT_MS

#define CEC_DOUBLE_TAP_TIMEOUT_MS   200

don't send the same key twice within this timeout in milliseconds

Definition at line 94 of file cectypes.h.

◆ CEC_BUTTON_REPEAT_DELAY_MS

#define CEC_BUTTON_REPEAT_DELAY_MS   200

delay in milliseconds before a held button starts auto-repeating

Definition at line 99 of file cectypes.h.

◆ CEC_POWER_STATE_REFRESH_TIME

#define CEC_POWER_STATE_REFRESH_TIME   30000

don't query the power state for the same device within this timeout in milliseconds

Definition at line 104 of file cectypes.h.

◆ CEC_AUDIO_STATUS_REFRESH_TIME

#define CEC_AUDIO_STATUS_REFRESH_TIME   200

don't query the audio state for the same device within this timeout in milliseconds

Definition at line 109 of file cectypes.h.

◆ CEC_FW_VERSION_UNKNOWN

#define CEC_FW_VERSION_UNKNOWN   0xFFFF

unknown firmware version value

Definition at line 114 of file cectypes.h.

◆ CEC_FW_BUILD_UNKNOWN

#define CEC_FW_BUILD_UNKNOWN   0

unknown build date value

Definition at line 119 of file cectypes.h.

◆ CEC_CONNECT_TRIES

#define CEC_CONNECT_TRIES   3

maximum number of retries when opening a connection

Definition at line 124 of file cectypes.h.

◆ CEC_PHYSICAL_ADDRESS_TV

#define CEC_PHYSICAL_ADDRESS_TV   0

physical address of the TV

Definition at line 129 of file cectypes.h.

◆ CEC_MIN_PHYSICAL_ADDRESS

#define CEC_MIN_PHYSICAL_ADDRESS   0x1000

minimum physical address for the adapter

Definition at line 134 of file cectypes.h.

◆ CEC_MAX_PHYSICAL_ADDRESS

#define CEC_MAX_PHYSICAL_ADDRESS   0xFFFE

maximum physical address for the adapter

Definition at line 139 of file cectypes.h.

◆ CEC_INVALID_PHYSICAL_ADDRESS

#define CEC_INVALID_PHYSICAL_ADDRESS   0xFFFF

invalid physical address value

Definition at line 144 of file cectypes.h.

◆ CEC_MIN_VENDORID

#define CEC_MIN_VENDORID   1

minimum vendor ID value

Definition at line 149 of file cectypes.h.

◆ CEC_MAX_VENDORID

#define CEC_MAX_VENDORID   0xFFFFFE

maximum vendor ID value

Definition at line 154 of file cectypes.h.

◆ CEC_INVALID_VENDORID

#define CEC_INVALID_VENDORID   0xFFFFFF

invalid vendor ID value

Definition at line 159 of file cectypes.h.

◆ CEC_MIN_HDMI_PORTNUMBER

#define CEC_MIN_HDMI_PORTNUMBER   1

minimum HDMI port number value

Definition at line 164 of file cectypes.h.

◆ CEC_MAX_HDMI_PORTNUMBER

#define CEC_MAX_HDMI_PORTNUMBER   15

maximum HDMI port number value

Definition at line 169 of file cectypes.h.

◆ CEC_HDMI_PORTNUMBER_NONE

#define CEC_HDMI_PORTNUMBER_NONE   0

invalid HDMI port number value

Definition at line 174 of file cectypes.h.

◆ CEC_DEFAULT_SETTING_ACTIVATE_SOURCE

#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE   1

default value for settings "activate source"

Definition at line 179 of file cectypes.h.

◆ CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN

#define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN   1

default value for settings "power off on shutdown"

Definition at line 184 of file cectypes.h.

◆ CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY

#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY   1

default value for settings "power off on standby"

Definition at line 189 of file cectypes.h.

◆ CEC_DEFAULT_DEVICE_LANGUAGE

#define CEC_DEFAULT_DEVICE_LANGUAGE   "eng"

default value for settings "device menu language"

Definition at line 194 of file cectypes.h.

◆ CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS

#define CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS   0

default value for settings "autodetect physical address"

Definition at line 199 of file cectypes.h.

◆ CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM

#define CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM   0

default value for settings "get settings from ROM"

Definition at line 204 of file cectypes.h.

◆ CEC_DEFAULT_SETTING_CEC_VERSION

#define CEC_DEFAULT_SETTING_CEC_VERSION   0x05

default value for settings "libCEC CEC version"

Definition at line 209 of file cectypes.h.

◆ CEC_DEFAULT_TRANSMIT_RETRY_WAIT

#define CEC_DEFAULT_TRANSMIT_RETRY_WAIT   500

wait this amount of milliseconds before retrying to send a failed message

Definition at line 214 of file cectypes.h.

◆ CEC_DEFAULT_TRANSMIT_TIMEOUT

#define CEC_DEFAULT_TRANSMIT_TIMEOUT   1000

transmission fails when not acked within this amount of milliseconds after sending the initial packet

Definition at line 219 of file cectypes.h.

◆ CEC_DEFAULT_TRANSMIT_WAIT

#define CEC_DEFAULT_TRANSMIT_WAIT   1000

wait this amount of milliseconds for an ack

Definition at line 224 of file cectypes.h.

◆ CEC_DEFAULT_TRANSMIT_RETRIES

#define CEC_DEFAULT_TRANSMIT_RETRIES   1

default number of retries

Definition at line 229 of file cectypes.h.

◆ CEC_DEFAULT_CONNECT_TIMEOUT

#define CEC_DEFAULT_CONNECT_TIMEOUT   10000

default connection timeout in milliseconds

Definition at line 234 of file cectypes.h.

◆ CEC_DEFAULT_CONNECT_RETRY_WAIT

#define CEC_DEFAULT_CONNECT_RETRY_WAIT   1000

wait this amount of milliseconds before retrying when failing to connect

Definition at line 239 of file cectypes.h.

◆ CEC_SERIAL_DEFAULT_BAUDRATE

#define CEC_SERIAL_DEFAULT_BAUDRATE   38400

default serial baudrate

Definition at line 244 of file cectypes.h.

◆ CEC_CLEAR_INPUT_DEFAULT_WAIT

#define CEC_CLEAR_INPUT_DEFAULT_WAIT   1000

maximum time to wait when clearing input

Definition at line 249 of file cectypes.h.

◆ CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS

#define CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS   1000

wait this amount of milliseconds before retrying when libCEC failed to make itself the active source

Definition at line 254 of file cectypes.h.

◆ CEC_FORWARD_STANDBY_MIN_INTERVAL

#define CEC_FORWARD_STANDBY_MIN_INTERVAL   10000

don't forward any power off command to the client application for this amount of milliseconds after sending a power off command

Definition at line 259 of file cectypes.h.

◆ CEC_DEFAULT_COMBO_TIMEOUT_MS

#define CEC_DEFAULT_COMBO_TIMEOUT_MS   1000

default timeout in milliseconds for combo keys

Definition at line 264 of file cectypes.h.

◆ CEC_RPI_VIRTUAL_PATH

#define CEC_RPI_VIRTUAL_PATH   "Raspberry Pi"

the virtual device path to use for the Raspberry Pi's CEC wire

Definition at line 269 of file cectypes.h.

◆ CEC_RPI_VIRTUAL_COM

#define CEC_RPI_VIRTUAL_COM   "RPI"

the name of the virtual COM port to use for the Raspberry Pi's CEC wire

Definition at line 274 of file cectypes.h.

◆ CEC_TDA995x_PATH

#define CEC_TDA995x_PATH   "/dev/hdmicec"

the path to use for the TDA995x's CEC wire

Definition at line 279 of file cectypes.h.

◆ CEC_TDA995x_VIRTUAL_COM

#define CEC_TDA995x_VIRTUAL_COM   "CuBox"

the name of the virtual COM port to use for the TDA995x's CEC wire

Definition at line 284 of file cectypes.h.

◆ CEC_EXYNOS_PATH

#define CEC_EXYNOS_PATH   "/dev/CEC"

the path to use for the Exynos HDMI CEC device

Definition at line 289 of file cectypes.h.

◆ CEC_EXYNOS_VIRTUAL_COM

#define CEC_EXYNOS_VIRTUAL_COM   "Exynos"

the name of the virtual COM port to use for the EXYNOS' CEC wire

Definition at line 294 of file cectypes.h.

◆ CEC_MAX_DATA_PACKET_SIZE

#define CEC_MAX_DATA_PACKET_SIZE   (16 * 4)

Maximum size of a data packet.

Definition at line 299 of file cectypes.h.

◆ CEC_MAX_FRAME_SIZE

#define CEC_MAX_FRAME_SIZE   16

Maximum size of a CEC frame on the wire: 1 header byte + 1 opcode + up to 14 operands.

cec_datapacket can hold more (it is reused for adapter messages), so anything that is actually transmitted must be bound to this via cec_command::Serialize().

Definition at line 306 of file cectypes.h.

◆ CEC_LINUX_PATH

#define CEC_LINUX_PATH   "/dev/cec0"

the path to use for the Linux CEC device

Definition at line 311 of file cectypes.h.

◆ CEC_LINUX_PATH_FORMAT

#define CEC_LINUX_PATH_FORMAT   "/dev/cec%u"

printf format, node prefix and scan range used to locate Linux CEC device nodes.

A board may expose several nodes at once (e.g. /dev/cec0 for HDMI0 and /dev/cec1 for HDMI1), and the kernel may recreate a node at a different minor after the adapter is unregistered, so all candidates are probed.

Definition at line 319 of file cectypes.h.

◆ CEC_LINUX_PATH_PREFIX

#define CEC_LINUX_PATH_PREFIX   "/dev/cec"

Definition at line 320 of file cectypes.h.

◆ CEC_LINUX_MAX_DEVICES

#define CEC_LINUX_MAX_DEVICES   32

Definition at line 321 of file cectypes.h.

◆ CEC_LINUX_VIRTUAL_COM

#define CEC_LINUX_VIRTUAL_COM   "Linux"

the name of the virtual COM port to use for the Linux' CEC wire

Definition at line 326 of file cectypes.h.

◆ CEC_AOCEC_PATH

#define CEC_AOCEC_PATH   "/dev/aocec"

the path to use for the AOCEC HDMI CEC device

Definition at line 331 of file cectypes.h.

◆ CEC_AOCEC_VIRTUAL_COM

#define CEC_AOCEC_VIRTUAL_COM   "AOCEC"

the name of the virtual COM port to use for the AOCEC' CEC wire

Definition at line 336 of file cectypes.h.

◆ CEC_IMX_PATH

#define CEC_IMX_PATH   "/dev/mxc_hdmi_cec"

the path to use for the i.MX CEC wire

Definition at line 341 of file cectypes.h.

◆ CEC_IMX_VIRTUAL_COM

#define CEC_IMX_VIRTUAL_COM   "i.MX"

the name of the virtual COM port to use for the i.MX CEC wire

Definition at line 346 of file cectypes.h.

◆ CEC_MIN_LIB_VERSION

#define CEC_MIN_LIB_VERSION   4

Mimimum client version.

Definition at line 351 of file cectypes.h.

◆ MSGSTART

#define MSGSTART   0xFF

Definition at line 353 of file cectypes.h.

◆ MSGEND

#define MSGEND   0xFE

Definition at line 354 of file cectypes.h.

◆ MSGESC

#define MSGESC   0xFD

Definition at line 355 of file cectypes.h.

◆ ESCOFFSET

#define ESCOFFSET   3

Definition at line 356 of file cectypes.h.

◆ DOUBLE_TAP_TIMEOUT_UNIT_SIZE

#define DOUBLE_TAP_TIMEOUT_UNIT_SIZE   (50)

Definition at line 358 of file cectypes.h.

◆ CEC_FEATURE_CONFIGURABLE_COMBO_KEY

#define CEC_FEATURE_CONFIGURABLE_COMBO_KEY   1

Definition at line 361 of file cectypes.h.

◆ LIBCEC_OSD_NAME_SIZE

#define LIBCEC_OSD_NAME_SIZE   (15)

Definition at line 1556 of file cectypes.h.