Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 1 | /**************************************************************************** |
| 2 | **************************************************************************** |
| 3 | *** |
| 4 | *** This header was automatically generated from a Linux kernel header |
| 5 | *** of the same name, to make information necessary for userspace to |
| 6 | *** call into the kernel available to libc. It contains only constants, |
| 7 | *** structures, and macros generated from the original header, and thus, |
| 8 | *** contains no copyrightable information. |
| 9 | *** |
| 10 | *** To edit the content of this header, modify the corresponding |
| 11 | *** source file (e.g. under external/kernel-headers/original/) then |
| 12 | *** run bionic/libc/kernel/tools/update_all.py |
| 13 | *** |
| 14 | *** Any manual change here will be lost the next time this script will |
| 15 | *** be run. You've been warned! |
| 16 | *** |
| 17 | **************************************************************************** |
| 18 | ****************************************************************************/ |
| 19 | #ifndef _CEC_UAPI_H |
| 20 | #define _CEC_UAPI_H |
| 21 | #include <linux/types.h> |
| 22 | #include <linux/string.h> |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 23 | #define CEC_MAX_MSG_SIZE 16 |
| 24 | struct cec_msg { |
| 25 | __u64 tx_ts; |
| 26 | __u64 rx_ts; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 27 | __u32 len; |
| 28 | __u32 timeout; |
| 29 | __u32 sequence; |
| 30 | __u32 flags; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 31 | __u8 msg[CEC_MAX_MSG_SIZE]; |
| 32 | __u8 reply; |
| 33 | __u8 rx_status; |
| 34 | __u8 tx_status; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 35 | __u8 tx_arb_lost_cnt; |
| 36 | __u8 tx_nack_cnt; |
| 37 | __u8 tx_low_drive_cnt; |
| 38 | __u8 tx_error_cnt; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 39 | }; |
| 40 | #define CEC_MSG_FL_REPLY_TO_FOLLOWERS (1 << 0) |
Christopher Ferris | b8a95e2 | 2019-10-02 18:29:20 -0700 | [diff] [blame^] | 41 | #define CEC_MSG_FL_RAW (1 << 1) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 42 | #define CEC_TX_STATUS_OK (1 << 0) |
| 43 | #define CEC_TX_STATUS_ARB_LOST (1 << 1) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 44 | #define CEC_TX_STATUS_NACK (1 << 2) |
| 45 | #define CEC_TX_STATUS_LOW_DRIVE (1 << 3) |
| 46 | #define CEC_TX_STATUS_ERROR (1 << 4) |
| 47 | #define CEC_TX_STATUS_MAX_RETRIES (1 << 5) |
Christopher Ferris | 86a4837 | 2019-01-10 14:14:59 -0800 | [diff] [blame] | 48 | #define CEC_TX_STATUS_ABORTED (1 << 6) |
| 49 | #define CEC_TX_STATUS_TIMEOUT (1 << 7) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 50 | #define CEC_RX_STATUS_OK (1 << 0) |
| 51 | #define CEC_RX_STATUS_TIMEOUT (1 << 1) |
| 52 | #define CEC_RX_STATUS_FEATURE_ABORT (1 << 2) |
Christopher Ferris | 86a4837 | 2019-01-10 14:14:59 -0800 | [diff] [blame] | 53 | #define CEC_RX_STATUS_ABORTED (1 << 3) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 54 | #define CEC_LOG_ADDR_INVALID 0xff |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 55 | #define CEC_PHYS_ADDR_INVALID 0xffff |
| 56 | #define CEC_MAX_LOG_ADDRS 4 |
| 57 | #define CEC_LOG_ADDR_TV 0 |
| 58 | #define CEC_LOG_ADDR_RECORD_1 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 59 | #define CEC_LOG_ADDR_RECORD_2 2 |
| 60 | #define CEC_LOG_ADDR_TUNER_1 3 |
| 61 | #define CEC_LOG_ADDR_PLAYBACK_1 4 |
| 62 | #define CEC_LOG_ADDR_AUDIOSYSTEM 5 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 63 | #define CEC_LOG_ADDR_TUNER_2 6 |
| 64 | #define CEC_LOG_ADDR_TUNER_3 7 |
| 65 | #define CEC_LOG_ADDR_PLAYBACK_2 8 |
| 66 | #define CEC_LOG_ADDR_RECORD_3 9 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 67 | #define CEC_LOG_ADDR_TUNER_4 10 |
| 68 | #define CEC_LOG_ADDR_PLAYBACK_3 11 |
| 69 | #define CEC_LOG_ADDR_BACKUP_1 12 |
| 70 | #define CEC_LOG_ADDR_BACKUP_2 13 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 71 | #define CEC_LOG_ADDR_SPECIFIC 14 |
| 72 | #define CEC_LOG_ADDR_UNREGISTERED 15 |
| 73 | #define CEC_LOG_ADDR_BROADCAST 15 |
| 74 | #define CEC_LOG_ADDR_TYPE_TV 0 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 75 | #define CEC_LOG_ADDR_TYPE_RECORD 1 |
| 76 | #define CEC_LOG_ADDR_TYPE_TUNER 2 |
| 77 | #define CEC_LOG_ADDR_TYPE_PLAYBACK 3 |
| 78 | #define CEC_LOG_ADDR_TYPE_AUDIOSYSTEM 4 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 79 | #define CEC_LOG_ADDR_TYPE_SPECIFIC 5 |
| 80 | #define CEC_LOG_ADDR_TYPE_UNREGISTERED 6 |
| 81 | #define CEC_LOG_ADDR_MASK_TV (1 << CEC_LOG_ADDR_TV) |
| 82 | #define CEC_LOG_ADDR_MASK_RECORD ((1 << CEC_LOG_ADDR_RECORD_1) | (1 << CEC_LOG_ADDR_RECORD_2) | (1 << CEC_LOG_ADDR_RECORD_3)) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 83 | #define CEC_LOG_ADDR_MASK_TUNER ((1 << CEC_LOG_ADDR_TUNER_1) | (1 << CEC_LOG_ADDR_TUNER_2) | (1 << CEC_LOG_ADDR_TUNER_3) | (1 << CEC_LOG_ADDR_TUNER_4)) |
| 84 | #define CEC_LOG_ADDR_MASK_PLAYBACK ((1 << CEC_LOG_ADDR_PLAYBACK_1) | (1 << CEC_LOG_ADDR_PLAYBACK_2) | (1 << CEC_LOG_ADDR_PLAYBACK_3)) |
| 85 | #define CEC_LOG_ADDR_MASK_AUDIOSYSTEM (1 << CEC_LOG_ADDR_AUDIOSYSTEM) |
| 86 | #define CEC_LOG_ADDR_MASK_BACKUP ((1 << CEC_LOG_ADDR_BACKUP_1) | (1 << CEC_LOG_ADDR_BACKUP_2)) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 87 | #define CEC_LOG_ADDR_MASK_SPECIFIC (1 << CEC_LOG_ADDR_SPECIFIC) |
| 88 | #define CEC_LOG_ADDR_MASK_UNREGISTERED (1 << CEC_LOG_ADDR_UNREGISTERED) |
| 89 | #define CEC_VENDOR_ID_NONE 0xffffffff |
| 90 | #define CEC_MODE_NO_INITIATOR (0x0 << 0) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 91 | #define CEC_MODE_INITIATOR (0x1 << 0) |
| 92 | #define CEC_MODE_EXCL_INITIATOR (0x2 << 0) |
| 93 | #define CEC_MODE_INITIATOR_MSK 0x0f |
| 94 | #define CEC_MODE_NO_FOLLOWER (0x0 << 4) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 95 | #define CEC_MODE_FOLLOWER (0x1 << 4) |
| 96 | #define CEC_MODE_EXCL_FOLLOWER (0x2 << 4) |
| 97 | #define CEC_MODE_EXCL_FOLLOWER_PASSTHRU (0x3 << 4) |
Christopher Ferris | 1308ad3 | 2017-11-14 17:32:13 -0800 | [diff] [blame] | 98 | #define CEC_MODE_MONITOR_PIN (0xd << 4) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 99 | #define CEC_MODE_MONITOR (0xe << 4) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 100 | #define CEC_MODE_MONITOR_ALL (0xf << 4) |
| 101 | #define CEC_MODE_FOLLOWER_MSK 0xf0 |
| 102 | #define CEC_CAP_PHYS_ADDR (1 << 0) |
| 103 | #define CEC_CAP_LOG_ADDRS (1 << 1) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 104 | #define CEC_CAP_TRANSMIT (1 << 2) |
| 105 | #define CEC_CAP_PASSTHROUGH (1 << 3) |
| 106 | #define CEC_CAP_RC (1 << 4) |
| 107 | #define CEC_CAP_MONITOR_ALL (1 << 5) |
Christopher Ferris | 1308ad3 | 2017-11-14 17:32:13 -0800 | [diff] [blame] | 108 | #define CEC_CAP_NEEDS_HPD (1 << 6) |
| 109 | #define CEC_CAP_MONITOR_PIN (1 << 7) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 110 | struct cec_caps { |
| 111 | char driver[32]; |
| 112 | char name[32]; |
| 113 | __u32 available_log_addrs; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 114 | __u32 capabilities; |
| 115 | __u32 version; |
| 116 | }; |
| 117 | struct cec_log_addrs { |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 118 | __u8 log_addr[CEC_MAX_LOG_ADDRS]; |
| 119 | __u16 log_addr_mask; |
| 120 | __u8 cec_version; |
| 121 | __u8 num_log_addrs; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 122 | __u32 vendor_id; |
| 123 | __u32 flags; |
| 124 | char osd_name[15]; |
| 125 | __u8 primary_device_type[CEC_MAX_LOG_ADDRS]; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 126 | __u8 log_addr_type[CEC_MAX_LOG_ADDRS]; |
| 127 | __u8 all_device_types[CEC_MAX_LOG_ADDRS]; |
| 128 | __u8 features[CEC_MAX_LOG_ADDRS][12]; |
| 129 | }; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 130 | #define CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK (1 << 0) |
| 131 | #define CEC_LOG_ADDRS_FL_ALLOW_RC_PASSTHRU (1 << 1) |
| 132 | #define CEC_LOG_ADDRS_FL_CDC_ONLY (1 << 2) |
| 133 | #define CEC_EVENT_STATE_CHANGE 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 134 | #define CEC_EVENT_LOST_MSGS 2 |
Christopher Ferris | 1308ad3 | 2017-11-14 17:32:13 -0800 | [diff] [blame] | 135 | #define CEC_EVENT_PIN_CEC_LOW 3 |
| 136 | #define CEC_EVENT_PIN_CEC_HIGH 4 |
Christopher Ferris | 934ec94 | 2018-01-31 15:29:16 -0800 | [diff] [blame] | 137 | #define CEC_EVENT_PIN_HPD_LOW 5 |
| 138 | #define CEC_EVENT_PIN_HPD_HIGH 6 |
Christopher Ferris | 9ce2884 | 2018-10-25 12:11:39 -0700 | [diff] [blame] | 139 | #define CEC_EVENT_PIN_5V_LOW 7 |
| 140 | #define CEC_EVENT_PIN_5V_HIGH 8 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 141 | #define CEC_EVENT_FL_INITIAL_STATE (1 << 0) |
Christopher Ferris | 1308ad3 | 2017-11-14 17:32:13 -0800 | [diff] [blame] | 142 | #define CEC_EVENT_FL_DROPPED_EVENTS (1 << 1) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 143 | struct cec_event_state_change { |
| 144 | __u16 phys_addr; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 145 | __u16 log_addr_mask; |
| 146 | }; |
| 147 | struct cec_event_lost_msgs { |
| 148 | __u32 lost_msgs; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 149 | }; |
| 150 | struct cec_event { |
| 151 | __u64 ts; |
| 152 | __u32 event; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 153 | __u32 flags; |
| 154 | union { |
| 155 | struct cec_event_state_change state_change; |
| 156 | struct cec_event_lost_msgs lost_msgs; |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 157 | __u32 raw[16]; |
| 158 | }; |
| 159 | }; |
| 160 | #define CEC_ADAP_G_CAPS _IOWR('a', 0, struct cec_caps) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 161 | #define CEC_ADAP_G_PHYS_ADDR _IOR('a', 1, __u16) |
| 162 | #define CEC_ADAP_S_PHYS_ADDR _IOW('a', 2, __u16) |
| 163 | #define CEC_ADAP_G_LOG_ADDRS _IOR('a', 3, struct cec_log_addrs) |
| 164 | #define CEC_ADAP_S_LOG_ADDRS _IOWR('a', 4, struct cec_log_addrs) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 165 | #define CEC_TRANSMIT _IOWR('a', 5, struct cec_msg) |
| 166 | #define CEC_RECEIVE _IOWR('a', 6, struct cec_msg) |
| 167 | #define CEC_DQEVENT _IOWR('a', 7, struct cec_event) |
| 168 | #define CEC_G_MODE _IOR('a', 8, __u32) |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 169 | #define CEC_S_MODE _IOW('a', 9, __u32) |
| 170 | #define CEC_MSG_ACTIVE_SOURCE 0x82 |
| 171 | #define CEC_MSG_IMAGE_VIEW_ON 0x04 |
| 172 | #define CEC_MSG_TEXT_VIEW_ON 0x0d |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 173 | #define CEC_MSG_INACTIVE_SOURCE 0x9d |
| 174 | #define CEC_MSG_REQUEST_ACTIVE_SOURCE 0x85 |
| 175 | #define CEC_MSG_ROUTING_CHANGE 0x80 |
| 176 | #define CEC_MSG_ROUTING_INFORMATION 0x81 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 177 | #define CEC_MSG_SET_STREAM_PATH 0x86 |
| 178 | #define CEC_MSG_STANDBY 0x36 |
| 179 | #define CEC_MSG_RECORD_OFF 0x0b |
| 180 | #define CEC_MSG_RECORD_ON 0x09 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 181 | #define CEC_OP_RECORD_SRC_OWN 1 |
| 182 | #define CEC_OP_RECORD_SRC_DIGITAL 2 |
| 183 | #define CEC_OP_RECORD_SRC_ANALOG 3 |
| 184 | #define CEC_OP_RECORD_SRC_EXT_PLUG 4 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 185 | #define CEC_OP_RECORD_SRC_EXT_PHYS_ADDR 5 |
| 186 | #define CEC_OP_SERVICE_ID_METHOD_BY_DIG_ID 0 |
| 187 | #define CEC_OP_SERVICE_ID_METHOD_BY_CHANNEL 1 |
| 188 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_GEN 0x00 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 189 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_GEN 0x01 |
| 190 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_GEN 0x02 |
| 191 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_BS 0x08 |
| 192 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_CS 0x09 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 193 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ARIB_T 0x0a |
| 194 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_CABLE 0x10 |
| 195 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_SAT 0x11 |
| 196 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_ATSC_T 0x12 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 197 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_C 0x18 |
| 198 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_S 0x19 |
| 199 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_S2 0x1a |
| 200 | #define CEC_OP_DIG_SERVICE_BCAST_SYSTEM_DVB_T 0x1b |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 201 | #define CEC_OP_ANA_BCAST_TYPE_CABLE 0 |
| 202 | #define CEC_OP_ANA_BCAST_TYPE_SATELLITE 1 |
| 203 | #define CEC_OP_ANA_BCAST_TYPE_TERRESTRIAL 2 |
| 204 | #define CEC_OP_BCAST_SYSTEM_PAL_BG 0x00 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 205 | #define CEC_OP_BCAST_SYSTEM_SECAM_LQ 0x01 |
| 206 | #define CEC_OP_BCAST_SYSTEM_PAL_M 0x02 |
| 207 | #define CEC_OP_BCAST_SYSTEM_NTSC_M 0x03 |
| 208 | #define CEC_OP_BCAST_SYSTEM_PAL_I 0x04 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 209 | #define CEC_OP_BCAST_SYSTEM_SECAM_DK 0x05 |
| 210 | #define CEC_OP_BCAST_SYSTEM_SECAM_BG 0x06 |
| 211 | #define CEC_OP_BCAST_SYSTEM_SECAM_L 0x07 |
| 212 | #define CEC_OP_BCAST_SYSTEM_PAL_DK 0x08 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 213 | #define CEC_OP_BCAST_SYSTEM_OTHER 0x1f |
| 214 | #define CEC_OP_CHANNEL_NUMBER_FMT_1_PART 0x01 |
| 215 | #define CEC_OP_CHANNEL_NUMBER_FMT_2_PART 0x02 |
| 216 | #define CEC_MSG_RECORD_STATUS 0x0a |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 217 | #define CEC_OP_RECORD_STATUS_CUR_SRC 0x01 |
| 218 | #define CEC_OP_RECORD_STATUS_DIG_SERVICE 0x02 |
| 219 | #define CEC_OP_RECORD_STATUS_ANA_SERVICE 0x03 |
| 220 | #define CEC_OP_RECORD_STATUS_EXT_INPUT 0x04 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 221 | #define CEC_OP_RECORD_STATUS_NO_DIG_SERVICE 0x05 |
| 222 | #define CEC_OP_RECORD_STATUS_NO_ANA_SERVICE 0x06 |
| 223 | #define CEC_OP_RECORD_STATUS_NO_SERVICE 0x07 |
| 224 | #define CEC_OP_RECORD_STATUS_INVALID_EXT_PLUG 0x09 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 225 | #define CEC_OP_RECORD_STATUS_INVALID_EXT_PHYS_ADDR 0x0a |
| 226 | #define CEC_OP_RECORD_STATUS_UNSUP_CA 0x0b |
| 227 | #define CEC_OP_RECORD_STATUS_NO_CA_ENTITLEMENTS 0x0c |
| 228 | #define CEC_OP_RECORD_STATUS_CANT_COPY_SRC 0x0d |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 229 | #define CEC_OP_RECORD_STATUS_NO_MORE_COPIES 0x0e |
| 230 | #define CEC_OP_RECORD_STATUS_NO_MEDIA 0x10 |
| 231 | #define CEC_OP_RECORD_STATUS_PLAYING 0x11 |
| 232 | #define CEC_OP_RECORD_STATUS_ALREADY_RECORDING 0x12 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 233 | #define CEC_OP_RECORD_STATUS_MEDIA_PROT 0x13 |
| 234 | #define CEC_OP_RECORD_STATUS_NO_SIGNAL 0x14 |
| 235 | #define CEC_OP_RECORD_STATUS_MEDIA_PROBLEM 0x15 |
| 236 | #define CEC_OP_RECORD_STATUS_NO_SPACE 0x16 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 237 | #define CEC_OP_RECORD_STATUS_PARENTAL_LOCK 0x17 |
| 238 | #define CEC_OP_RECORD_STATUS_TERMINATED_OK 0x1a |
| 239 | #define CEC_OP_RECORD_STATUS_ALREADY_TERM 0x1b |
| 240 | #define CEC_OP_RECORD_STATUS_OTHER 0x1f |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 241 | #define CEC_MSG_RECORD_TV_SCREEN 0x0f |
| 242 | #define CEC_MSG_CLEAR_ANALOGUE_TIMER 0x33 |
| 243 | #define CEC_OP_REC_SEQ_SUNDAY 0x01 |
| 244 | #define CEC_OP_REC_SEQ_MONDAY 0x02 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 245 | #define CEC_OP_REC_SEQ_TUESDAY 0x04 |
| 246 | #define CEC_OP_REC_SEQ_WEDNESDAY 0x08 |
| 247 | #define CEC_OP_REC_SEQ_THURSDAY 0x10 |
| 248 | #define CEC_OP_REC_SEQ_FRIDAY 0x20 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 249 | #define CEC_OP_REC_SEQ_SATERDAY 0x40 |
| 250 | #define CEC_OP_REC_SEQ_ONCE_ONLY 0x00 |
| 251 | #define CEC_MSG_CLEAR_DIGITAL_TIMER 0x99 |
| 252 | #define CEC_MSG_CLEAR_EXT_TIMER 0xa1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 253 | #define CEC_OP_EXT_SRC_PLUG 0x04 |
| 254 | #define CEC_OP_EXT_SRC_PHYS_ADDR 0x05 |
| 255 | #define CEC_MSG_SET_ANALOGUE_TIMER 0x34 |
| 256 | #define CEC_MSG_SET_DIGITAL_TIMER 0x97 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 257 | #define CEC_MSG_SET_EXT_TIMER 0xa2 |
| 258 | #define CEC_MSG_SET_TIMER_PROGRAM_TITLE 0x67 |
| 259 | #define CEC_MSG_TIMER_CLEARED_STATUS 0x43 |
| 260 | #define CEC_OP_TIMER_CLR_STAT_RECORDING 0x00 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 261 | #define CEC_OP_TIMER_CLR_STAT_NO_MATCHING 0x01 |
| 262 | #define CEC_OP_TIMER_CLR_STAT_NO_INFO 0x02 |
| 263 | #define CEC_OP_TIMER_CLR_STAT_CLEARED 0x80 |
| 264 | #define CEC_MSG_TIMER_STATUS 0x35 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 265 | #define CEC_OP_TIMER_OVERLAP_WARNING_NO_OVERLAP 0 |
| 266 | #define CEC_OP_TIMER_OVERLAP_WARNING_OVERLAP 1 |
| 267 | #define CEC_OP_MEDIA_INFO_UNPROT_MEDIA 0 |
| 268 | #define CEC_OP_MEDIA_INFO_PROT_MEDIA 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 269 | #define CEC_OP_MEDIA_INFO_NO_MEDIA 2 |
| 270 | #define CEC_OP_PROG_IND_NOT_PROGRAMMED 0 |
| 271 | #define CEC_OP_PROG_IND_PROGRAMMED 1 |
| 272 | #define CEC_OP_PROG_INFO_ENOUGH_SPACE 0x08 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 273 | #define CEC_OP_PROG_INFO_NOT_ENOUGH_SPACE 0x09 |
| 274 | #define CEC_OP_PROG_INFO_MIGHT_NOT_BE_ENOUGH_SPACE 0x0b |
| 275 | #define CEC_OP_PROG_INFO_NONE_AVAILABLE 0x0a |
| 276 | #define CEC_OP_PROG_ERROR_NO_FREE_TIMER 0x01 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 277 | #define CEC_OP_PROG_ERROR_DATE_OUT_OF_RANGE 0x02 |
| 278 | #define CEC_OP_PROG_ERROR_REC_SEQ_ERROR 0x03 |
| 279 | #define CEC_OP_PROG_ERROR_INV_EXT_PLUG 0x04 |
| 280 | #define CEC_OP_PROG_ERROR_INV_EXT_PHYS_ADDR 0x05 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 281 | #define CEC_OP_PROG_ERROR_CA_UNSUPP 0x06 |
| 282 | #define CEC_OP_PROG_ERROR_INSUF_CA_ENTITLEMENTS 0x07 |
| 283 | #define CEC_OP_PROG_ERROR_RESOLUTION_UNSUPP 0x08 |
| 284 | #define CEC_OP_PROG_ERROR_PARENTAL_LOCK 0x09 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 285 | #define CEC_OP_PROG_ERROR_CLOCK_FAILURE 0x0a |
| 286 | #define CEC_OP_PROG_ERROR_DUPLICATE 0x0e |
| 287 | #define CEC_MSG_CEC_VERSION 0x9e |
| 288 | #define CEC_OP_CEC_VERSION_1_3A 4 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 289 | #define CEC_OP_CEC_VERSION_1_4 5 |
| 290 | #define CEC_OP_CEC_VERSION_2_0 6 |
| 291 | #define CEC_MSG_GET_CEC_VERSION 0x9f |
| 292 | #define CEC_MSG_GIVE_PHYSICAL_ADDR 0x83 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 293 | #define CEC_MSG_GET_MENU_LANGUAGE 0x91 |
| 294 | #define CEC_MSG_REPORT_PHYSICAL_ADDR 0x84 |
| 295 | #define CEC_OP_PRIM_DEVTYPE_TV 0 |
| 296 | #define CEC_OP_PRIM_DEVTYPE_RECORD 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 297 | #define CEC_OP_PRIM_DEVTYPE_TUNER 3 |
| 298 | #define CEC_OP_PRIM_DEVTYPE_PLAYBACK 4 |
| 299 | #define CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM 5 |
| 300 | #define CEC_OP_PRIM_DEVTYPE_SWITCH 6 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 301 | #define CEC_OP_PRIM_DEVTYPE_PROCESSOR 7 |
| 302 | #define CEC_MSG_SET_MENU_LANGUAGE 0x32 |
| 303 | #define CEC_MSG_REPORT_FEATURES 0xa6 |
| 304 | #define CEC_OP_ALL_DEVTYPE_TV 0x80 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 305 | #define CEC_OP_ALL_DEVTYPE_RECORD 0x40 |
| 306 | #define CEC_OP_ALL_DEVTYPE_TUNER 0x20 |
| 307 | #define CEC_OP_ALL_DEVTYPE_PLAYBACK 0x10 |
| 308 | #define CEC_OP_ALL_DEVTYPE_AUDIOSYSTEM 0x08 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 309 | #define CEC_OP_ALL_DEVTYPE_SWITCH 0x04 |
| 310 | #define CEC_OP_FEAT_EXT 0x80 |
| 311 | #define CEC_OP_FEAT_RC_TV_PROFILE_NONE 0x00 |
| 312 | #define CEC_OP_FEAT_RC_TV_PROFILE_1 0x02 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 313 | #define CEC_OP_FEAT_RC_TV_PROFILE_2 0x06 |
| 314 | #define CEC_OP_FEAT_RC_TV_PROFILE_3 0x0a |
| 315 | #define CEC_OP_FEAT_RC_TV_PROFILE_4 0x0e |
| 316 | #define CEC_OP_FEAT_RC_SRC_HAS_DEV_ROOT_MENU 0x50 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 317 | #define CEC_OP_FEAT_RC_SRC_HAS_DEV_SETUP_MENU 0x48 |
| 318 | #define CEC_OP_FEAT_RC_SRC_HAS_CONTENTS_MENU 0x44 |
| 319 | #define CEC_OP_FEAT_RC_SRC_HAS_MEDIA_TOP_MENU 0x42 |
| 320 | #define CEC_OP_FEAT_RC_SRC_HAS_MEDIA_CONTEXT_MENU 0x41 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 321 | #define CEC_OP_FEAT_DEV_HAS_RECORD_TV_SCREEN 0x40 |
| 322 | #define CEC_OP_FEAT_DEV_HAS_SET_OSD_STRING 0x20 |
| 323 | #define CEC_OP_FEAT_DEV_HAS_DECK_CONTROL 0x10 |
| 324 | #define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_RATE 0x08 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 325 | #define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX 0x04 |
| 326 | #define CEC_OP_FEAT_DEV_SOURCE_HAS_ARC_RX 0x02 |
| 327 | #define CEC_MSG_GIVE_FEATURES 0xa5 |
| 328 | #define CEC_MSG_DECK_CONTROL 0x42 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 329 | #define CEC_OP_DECK_CTL_MODE_SKIP_FWD 1 |
| 330 | #define CEC_OP_DECK_CTL_MODE_SKIP_REV 2 |
| 331 | #define CEC_OP_DECK_CTL_MODE_STOP 3 |
| 332 | #define CEC_OP_DECK_CTL_MODE_EJECT 4 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 333 | #define CEC_MSG_DECK_STATUS 0x1b |
| 334 | #define CEC_OP_DECK_INFO_PLAY 0x11 |
| 335 | #define CEC_OP_DECK_INFO_RECORD 0x12 |
| 336 | #define CEC_OP_DECK_INFO_PLAY_REV 0x13 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 337 | #define CEC_OP_DECK_INFO_STILL 0x14 |
| 338 | #define CEC_OP_DECK_INFO_SLOW 0x15 |
| 339 | #define CEC_OP_DECK_INFO_SLOW_REV 0x16 |
| 340 | #define CEC_OP_DECK_INFO_FAST_FWD 0x17 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 341 | #define CEC_OP_DECK_INFO_FAST_REV 0x18 |
| 342 | #define CEC_OP_DECK_INFO_NO_MEDIA 0x19 |
| 343 | #define CEC_OP_DECK_INFO_STOP 0x1a |
| 344 | #define CEC_OP_DECK_INFO_SKIP_FWD 0x1b |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 345 | #define CEC_OP_DECK_INFO_SKIP_REV 0x1c |
| 346 | #define CEC_OP_DECK_INFO_INDEX_SEARCH_FWD 0x1d |
| 347 | #define CEC_OP_DECK_INFO_INDEX_SEARCH_REV 0x1e |
| 348 | #define CEC_OP_DECK_INFO_OTHER 0x1f |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 349 | #define CEC_MSG_GIVE_DECK_STATUS 0x1a |
| 350 | #define CEC_OP_STATUS_REQ_ON 1 |
| 351 | #define CEC_OP_STATUS_REQ_OFF 2 |
| 352 | #define CEC_OP_STATUS_REQ_ONCE 3 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 353 | #define CEC_MSG_PLAY 0x41 |
| 354 | #define CEC_OP_PLAY_MODE_PLAY_FWD 0x24 |
| 355 | #define CEC_OP_PLAY_MODE_PLAY_REV 0x20 |
| 356 | #define CEC_OP_PLAY_MODE_PLAY_STILL 0x25 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 357 | #define CEC_OP_PLAY_MODE_PLAY_FAST_FWD_MIN 0x05 |
| 358 | #define CEC_OP_PLAY_MODE_PLAY_FAST_FWD_MED 0x06 |
| 359 | #define CEC_OP_PLAY_MODE_PLAY_FAST_FWD_MAX 0x07 |
| 360 | #define CEC_OP_PLAY_MODE_PLAY_FAST_REV_MIN 0x09 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 361 | #define CEC_OP_PLAY_MODE_PLAY_FAST_REV_MED 0x0a |
| 362 | #define CEC_OP_PLAY_MODE_PLAY_FAST_REV_MAX 0x0b |
| 363 | #define CEC_OP_PLAY_MODE_PLAY_SLOW_FWD_MIN 0x15 |
| 364 | #define CEC_OP_PLAY_MODE_PLAY_SLOW_FWD_MED 0x16 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 365 | #define CEC_OP_PLAY_MODE_PLAY_SLOW_FWD_MAX 0x17 |
| 366 | #define CEC_OP_PLAY_MODE_PLAY_SLOW_REV_MIN 0x19 |
| 367 | #define CEC_OP_PLAY_MODE_PLAY_SLOW_REV_MED 0x1a |
| 368 | #define CEC_OP_PLAY_MODE_PLAY_SLOW_REV_MAX 0x1b |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 369 | #define CEC_MSG_GIVE_TUNER_DEVICE_STATUS 0x08 |
| 370 | #define CEC_MSG_SELECT_ANALOGUE_SERVICE 0x92 |
| 371 | #define CEC_MSG_SELECT_DIGITAL_SERVICE 0x93 |
| 372 | #define CEC_MSG_TUNER_DEVICE_STATUS 0x07 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 373 | #define CEC_OP_REC_FLAG_USED 0 |
| 374 | #define CEC_OP_REC_FLAG_NOT_USED 1 |
| 375 | #define CEC_OP_TUNER_DISPLAY_INFO_DIGITAL 0 |
| 376 | #define CEC_OP_TUNER_DISPLAY_INFO_NONE 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 377 | #define CEC_OP_TUNER_DISPLAY_INFO_ANALOGUE 2 |
| 378 | #define CEC_MSG_TUNER_STEP_DECREMENT 0x06 |
| 379 | #define CEC_MSG_TUNER_STEP_INCREMENT 0x05 |
| 380 | #define CEC_MSG_DEVICE_VENDOR_ID 0x87 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 381 | #define CEC_MSG_GIVE_DEVICE_VENDOR_ID 0x8c |
| 382 | #define CEC_MSG_VENDOR_COMMAND 0x89 |
| 383 | #define CEC_MSG_VENDOR_COMMAND_WITH_ID 0xa0 |
| 384 | #define CEC_MSG_VENDOR_REMOTE_BUTTON_DOWN 0x8a |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 385 | #define CEC_MSG_VENDOR_REMOTE_BUTTON_UP 0x8b |
| 386 | #define CEC_MSG_SET_OSD_STRING 0x64 |
| 387 | #define CEC_OP_DISP_CTL_DEFAULT 0x00 |
| 388 | #define CEC_OP_DISP_CTL_UNTIL_CLEARED 0x40 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 389 | #define CEC_OP_DISP_CTL_CLEAR 0x80 |
| 390 | #define CEC_MSG_GIVE_OSD_NAME 0x46 |
| 391 | #define CEC_MSG_SET_OSD_NAME 0x47 |
| 392 | #define CEC_MSG_MENU_REQUEST 0x8d |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 393 | #define CEC_OP_MENU_REQUEST_ACTIVATE 0x00 |
| 394 | #define CEC_OP_MENU_REQUEST_DEACTIVATE 0x01 |
| 395 | #define CEC_OP_MENU_REQUEST_QUERY 0x02 |
| 396 | #define CEC_MSG_MENU_STATUS 0x8e |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 397 | #define CEC_OP_MENU_STATE_ACTIVATED 0x00 |
| 398 | #define CEC_OP_MENU_STATE_DEACTIVATED 0x01 |
| 399 | #define CEC_MSG_USER_CONTROL_PRESSED 0x44 |
| 400 | #define CEC_OP_UI_BCAST_TYPE_TOGGLE_ALL 0x00 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 401 | #define CEC_OP_UI_BCAST_TYPE_TOGGLE_DIG_ANA 0x01 |
| 402 | #define CEC_OP_UI_BCAST_TYPE_ANALOGUE 0x10 |
| 403 | #define CEC_OP_UI_BCAST_TYPE_ANALOGUE_T 0x20 |
| 404 | #define CEC_OP_UI_BCAST_TYPE_ANALOGUE_CABLE 0x30 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 405 | #define CEC_OP_UI_BCAST_TYPE_ANALOGUE_SAT 0x40 |
| 406 | #define CEC_OP_UI_BCAST_TYPE_DIGITAL 0x50 |
| 407 | #define CEC_OP_UI_BCAST_TYPE_DIGITAL_T 0x60 |
| 408 | #define CEC_OP_UI_BCAST_TYPE_DIGITAL_CABLE 0x70 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 409 | #define CEC_OP_UI_BCAST_TYPE_DIGITAL_SAT 0x80 |
| 410 | #define CEC_OP_UI_BCAST_TYPE_DIGITAL_COM_SAT 0x90 |
| 411 | #define CEC_OP_UI_BCAST_TYPE_DIGITAL_COM_SAT2 0x91 |
| 412 | #define CEC_OP_UI_BCAST_TYPE_IP 0xa0 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 413 | #define CEC_OP_UI_SND_PRES_CTL_DUAL_MONO 0x10 |
| 414 | #define CEC_OP_UI_SND_PRES_CTL_KARAOKE 0x20 |
| 415 | #define CEC_OP_UI_SND_PRES_CTL_DOWNMIX 0x80 |
| 416 | #define CEC_OP_UI_SND_PRES_CTL_REVERB 0x90 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 417 | #define CEC_OP_UI_SND_PRES_CTL_EQUALIZER 0xa0 |
| 418 | #define CEC_OP_UI_SND_PRES_CTL_BASS_UP 0xb1 |
| 419 | #define CEC_OP_UI_SND_PRES_CTL_BASS_NEUTRAL 0xb2 |
| 420 | #define CEC_OP_UI_SND_PRES_CTL_BASS_DOWN 0xb3 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 421 | #define CEC_OP_UI_SND_PRES_CTL_TREBLE_UP 0xc1 |
| 422 | #define CEC_OP_UI_SND_PRES_CTL_TREBLE_NEUTRAL 0xc2 |
| 423 | #define CEC_OP_UI_SND_PRES_CTL_TREBLE_DOWN 0xc3 |
| 424 | #define CEC_MSG_USER_CONTROL_RELEASED 0x45 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 425 | #define CEC_MSG_GIVE_DEVICE_POWER_STATUS 0x8f |
| 426 | #define CEC_MSG_REPORT_POWER_STATUS 0x90 |
| 427 | #define CEC_OP_POWER_STATUS_ON 0 |
| 428 | #define CEC_OP_POWER_STATUS_STANDBY 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 429 | #define CEC_OP_POWER_STATUS_TO_ON 2 |
| 430 | #define CEC_OP_POWER_STATUS_TO_STANDBY 3 |
| 431 | #define CEC_MSG_FEATURE_ABORT 0x00 |
| 432 | #define CEC_OP_ABORT_UNRECOGNIZED_OP 0 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 433 | #define CEC_OP_ABORT_INCORRECT_MODE 1 |
| 434 | #define CEC_OP_ABORT_NO_SOURCE 2 |
| 435 | #define CEC_OP_ABORT_INVALID_OP 3 |
| 436 | #define CEC_OP_ABORT_REFUSED 4 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 437 | #define CEC_OP_ABORT_UNDETERMINED 5 |
| 438 | #define CEC_MSG_ABORT 0xff |
| 439 | #define CEC_MSG_GIVE_AUDIO_STATUS 0x71 |
| 440 | #define CEC_MSG_GIVE_SYSTEM_AUDIO_MODE_STATUS 0x7d |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 441 | #define CEC_MSG_REPORT_AUDIO_STATUS 0x7a |
| 442 | #define CEC_OP_AUD_MUTE_STATUS_OFF 0 |
| 443 | #define CEC_OP_AUD_MUTE_STATUS_ON 1 |
| 444 | #define CEC_MSG_REPORT_SHORT_AUDIO_DESCRIPTOR 0xa3 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 445 | #define CEC_MSG_REQUEST_SHORT_AUDIO_DESCRIPTOR 0xa4 |
| 446 | #define CEC_MSG_SET_SYSTEM_AUDIO_MODE 0x72 |
| 447 | #define CEC_OP_SYS_AUD_STATUS_OFF 0 |
| 448 | #define CEC_OP_SYS_AUD_STATUS_ON 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 449 | #define CEC_MSG_SYSTEM_AUDIO_MODE_REQUEST 0x70 |
| 450 | #define CEC_MSG_SYSTEM_AUDIO_MODE_STATUS 0x7e |
| 451 | #define CEC_OP_AUD_FMT_ID_CEA861 0 |
| 452 | #define CEC_OP_AUD_FMT_ID_CEA861_CXT 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 453 | #define CEC_MSG_SET_AUDIO_RATE 0x9a |
| 454 | #define CEC_OP_AUD_RATE_OFF 0 |
| 455 | #define CEC_OP_AUD_RATE_WIDE_STD 1 |
| 456 | #define CEC_OP_AUD_RATE_WIDE_FAST 2 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 457 | #define CEC_OP_AUD_RATE_WIDE_SLOW 3 |
| 458 | #define CEC_OP_AUD_RATE_NARROW_STD 4 |
| 459 | #define CEC_OP_AUD_RATE_NARROW_FAST 5 |
| 460 | #define CEC_OP_AUD_RATE_NARROW_SLOW 6 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 461 | #define CEC_MSG_INITIATE_ARC 0xc0 |
| 462 | #define CEC_MSG_REPORT_ARC_INITIATED 0xc1 |
| 463 | #define CEC_MSG_REPORT_ARC_TERMINATED 0xc2 |
| 464 | #define CEC_MSG_REQUEST_ARC_INITIATION 0xc3 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 465 | #define CEC_MSG_REQUEST_ARC_TERMINATION 0xc4 |
| 466 | #define CEC_MSG_TERMINATE_ARC 0xc5 |
| 467 | #define CEC_MSG_REQUEST_CURRENT_LATENCY 0xa7 |
| 468 | #define CEC_MSG_REPORT_CURRENT_LATENCY 0xa8 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 469 | #define CEC_OP_LOW_LATENCY_MODE_OFF 0 |
| 470 | #define CEC_OP_LOW_LATENCY_MODE_ON 1 |
| 471 | #define CEC_OP_AUD_OUT_COMPENSATED_NA 0 |
| 472 | #define CEC_OP_AUD_OUT_COMPENSATED_DELAY 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 473 | #define CEC_OP_AUD_OUT_COMPENSATED_NO_DELAY 2 |
| 474 | #define CEC_OP_AUD_OUT_COMPENSATED_PARTIAL_DELAY 3 |
| 475 | #define CEC_MSG_CDC_MESSAGE 0xf8 |
| 476 | #define CEC_MSG_CDC_HEC_INQUIRE_STATE 0x00 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 477 | #define CEC_MSG_CDC_HEC_REPORT_STATE 0x01 |
| 478 | #define CEC_OP_HEC_FUNC_STATE_NOT_SUPPORTED 0 |
| 479 | #define CEC_OP_HEC_FUNC_STATE_INACTIVE 1 |
| 480 | #define CEC_OP_HEC_FUNC_STATE_ACTIVE 2 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 481 | #define CEC_OP_HEC_FUNC_STATE_ACTIVATION_FIELD 3 |
| 482 | #define CEC_OP_HOST_FUNC_STATE_NOT_SUPPORTED 0 |
| 483 | #define CEC_OP_HOST_FUNC_STATE_INACTIVE 1 |
| 484 | #define CEC_OP_HOST_FUNC_STATE_ACTIVE 2 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 485 | #define CEC_OP_ENC_FUNC_STATE_EXT_CON_NOT_SUPPORTED 0 |
| 486 | #define CEC_OP_ENC_FUNC_STATE_EXT_CON_INACTIVE 1 |
| 487 | #define CEC_OP_ENC_FUNC_STATE_EXT_CON_ACTIVE 2 |
| 488 | #define CEC_OP_CDC_ERROR_CODE_NONE 0 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 489 | #define CEC_OP_CDC_ERROR_CODE_CAP_UNSUPPORTED 1 |
| 490 | #define CEC_OP_CDC_ERROR_CODE_WRONG_STATE 2 |
| 491 | #define CEC_OP_CDC_ERROR_CODE_OTHER 3 |
| 492 | #define CEC_OP_HEC_SUPPORT_NO 0 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 493 | #define CEC_OP_HEC_SUPPORT_YES 1 |
| 494 | #define CEC_OP_HEC_ACTIVATION_ON 0 |
| 495 | #define CEC_OP_HEC_ACTIVATION_OFF 1 |
| 496 | #define CEC_MSG_CDC_HEC_SET_STATE_ADJACENT 0x02 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 497 | #define CEC_MSG_CDC_HEC_SET_STATE 0x03 |
| 498 | #define CEC_OP_HEC_SET_STATE_DEACTIVATE 0 |
| 499 | #define CEC_OP_HEC_SET_STATE_ACTIVATE 1 |
| 500 | #define CEC_MSG_CDC_HEC_REQUEST_DEACTIVATION 0x04 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 501 | #define CEC_MSG_CDC_HEC_NOTIFY_ALIVE 0x05 |
| 502 | #define CEC_MSG_CDC_HEC_DISCOVER 0x06 |
| 503 | #define CEC_MSG_CDC_HPD_SET_STATE 0x10 |
| 504 | #define CEC_OP_HPD_STATE_CP_EDID_DISABLE 0 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 505 | #define CEC_OP_HPD_STATE_CP_EDID_ENABLE 1 |
| 506 | #define CEC_OP_HPD_STATE_CP_EDID_DISABLE_ENABLE 2 |
| 507 | #define CEC_OP_HPD_STATE_EDID_DISABLE 3 |
| 508 | #define CEC_OP_HPD_STATE_EDID_ENABLE 4 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 509 | #define CEC_OP_HPD_STATE_EDID_DISABLE_ENABLE 5 |
| 510 | #define CEC_MSG_CDC_HPD_REPORT_STATE 0x11 |
| 511 | #define CEC_OP_HPD_ERROR_NONE 0 |
| 512 | #define CEC_OP_HPD_ERROR_INITIATOR_NOT_CAPABLE 1 |
Christopher Ferris | 48af7cb | 2017-02-21 12:35:09 -0800 | [diff] [blame] | 513 | #define CEC_OP_HPD_ERROR_INITIATOR_WRONG_STATE 2 |
| 514 | #define CEC_OP_HPD_ERROR_OTHER 3 |
| 515 | #define CEC_OP_HPD_ERROR_NONE_NO_VIDEO 4 |
| 516 | #endif |