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  }