github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/linux/dev_cec.txt (about) 1 # Copyright 2024 syzkaller project authors. All rights reserved. 2 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 3 4 include <uapi/asm/ioctl.h> 5 include <uapi/linux/cec.h> 6 7 resource fd_cec[fd] 8 9 syz_open_dev$cec(dev ptr[in, string["/dev/cec#"]], id proc[0, 1], flags flags[open_flags]) fd_cec 10 11 ioctl$CEC_ADAP_G_CAPS(fd fd_cec, cmd const[CEC_ADAP_G_CAPS], arg ptr[out, cec_caps]) 12 ioctl$CEC_ADAP_G_PHYS_ADDR(fd fd_cec, cmd const[CEC_ADAP_G_PHYS_ADDR], arg ptr[out, int16]) 13 ioctl$CEC_ADAP_S_PHYS_ADDR(fd fd_cec, cmd const[CEC_ADAP_S_PHYS_ADDR], arg ptr[in, int16]) 14 ioctl$CEC_ADAP_G_LOG_ADDRS(fd fd_cec, cmd const[CEC_ADAP_G_LOG_ADDRS], arg ptr[out, cec_log_addrs]) 15 ioctl$CEC_ADAP_S_LOG_ADDRS(fd fd_cec, cmd const[CEC_ADAP_S_LOG_ADDRS], arg ptr[inout, cec_log_addrs]) 16 ioctl$CEC_ADAP_G_CONNECTOR_INFO(fd fd_cec, cmd const[CEC_ADAP_G_CONNECTOR_INFO], arg ptr[out, cec_connector_info]) 17 ioctl$CEC_TRANSMIT(fd fd_cec, cmd const[CEC_TRANSMIT], arg ptr[inout, cec_msg]) 18 ioctl$CEC_RECEIVE(fd fd_cec, cmd const[CEC_RECEIVE], arg ptr[inout, cec_msg]) 19 ioctl$CEC_DQEVENT(fd fd_cec, cmd const[CEC_DQEVENT], arg ptr[out, cec_event]) 20 ioctl$CEC_G_MODE(fd fd_cec, cmd const[CEC_G_MODE], arg ptr[out, int32]) 21 ioctl$CEC_S_MODE(fd fd_cec, cmd const[CEC_S_MODE], arg ptr[in, int32]) 22 23 cec_caps { 24 driver array[int8, 32] 25 name array[int8, 32] 26 available_log_addrs int32 27 capabilities int32 28 version int32 29 } 30 31 cec_log_addrs { 32 log_addr array[int8, CEC_MAX_LOG_ADDRS] 33 log_addr_mask int16 34 cec_version int8 35 num_log_addrs int8 36 vendor_id int32 37 flags int32 38 osd_name array[int8, 15] 39 primary_device_type array[int8, CEC_MAX_LOG_ADDRS] 40 log_addr_type array[int8, CEC_MAX_LOG_ADDRS] 41 all_device_types array[int8, CEC_MAX_LOG_ADDRS] 42 features array[array[int8, 12], CEC_MAX_LOG_ADDRS] 43 } 44 45 cec_connector_info { 46 type int32 47 u cec_connector_info_union 48 } 49 50 cec_msg { 51 tx_ts int64 52 rx_ts int64 53 len int32 54 timeout int32 55 sequence int32 56 flags int32 57 msg array[int8, CEC_MAX_MSG_SIZE] 58 reply int8 59 rx_status int8 60 tx_status int8 61 tx_arb_lost_cnt int8 62 tx_nack_cnt int8 63 tx_low_drive_cnt int8 64 tx_error_cnt int8 65 } 66 67 cec_event { 68 ts int64 69 event int32 70 flags int32 71 union cec_event_union 72 } 73 74 cec_connector_info_union [ 75 drm cec_drm_connector_info 76 raw array[int32, 16] 77 ] 78 79 cec_event_union [ 80 state_change cec_event_state_change 81 lost_msgs cec_event_lost_msgs 82 raw array[int32, 16] 83 ] 84 85 cec_drm_connector_info { 86 card_no int32 87 connector_id drm_connector_id 88 } 89 90 cec_event_state_change { 91 phys_addr int16 92 log_addr_mask int16 93 have_conn_info int16 94 } 95 96 cec_event_lost_msgs { 97 lost_msgs int32 98 }