linux/include/uapi/linux/cec-funcs.h

/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
/*
 * cec - HDMI Consumer Electronics Control message functions
 *
 * Copyright 2016 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
 */

#ifndef _CEC_UAPI_FUNCS_H
#define _CEC_UAPI_FUNCS_H

#include <linux/cec.h>

/* One Touch Play Feature */
static inline void cec_msg_active_source(struct cec_msg *msg, __u16 phys_addr)
{}

static inline void cec_ops_active_source(const struct cec_msg *msg,
					 __u16 *phys_addr)
{}

static inline void cec_msg_image_view_on(struct cec_msg *msg)
{}

static inline void cec_msg_text_view_on(struct cec_msg *msg)
{}


/* Routing Control Feature */
static inline void cec_msg_inactive_source(struct cec_msg *msg,
					   __u16 phys_addr)
{}

static inline void cec_ops_inactive_source(const struct cec_msg *msg,
					   __u16 *phys_addr)
{}

static inline void cec_msg_request_active_source(struct cec_msg *msg,
						 int reply)
{}

static inline void cec_msg_routing_information(struct cec_msg *msg,
					       __u16 phys_addr)
{}

static inline void cec_ops_routing_information(const struct cec_msg *msg,
					       __u16 *phys_addr)
{}

static inline void cec_msg_routing_change(struct cec_msg *msg,
					  int reply,
					  __u16 orig_phys_addr,
					  __u16 new_phys_addr)
{}

static inline void cec_ops_routing_change(const struct cec_msg *msg,
					  __u16 *orig_phys_addr,
					  __u16 *new_phys_addr)
{}

static inline void cec_msg_set_stream_path(struct cec_msg *msg, __u16 phys_addr)
{}

static inline void cec_ops_set_stream_path(const struct cec_msg *msg,
					   __u16 *phys_addr)
{}


/* Standby Feature */
static inline void cec_msg_standby(struct cec_msg *msg)
{}


/* One Touch Record Feature */
static inline void cec_msg_record_off(struct cec_msg *msg, int reply)
{}

struct cec_op_arib_data {};

struct cec_op_atsc_data {};

struct cec_op_dvb_data {};

struct cec_op_channel_data {};

struct cec_op_digital_service_id {};

struct cec_op_record_src {};

static inline void cec_set_digital_service_id(__u8 *msg,
	      const struct cec_op_digital_service_id *digital)
{}

static inline void cec_get_digital_service_id(const __u8 *msg,
	      struct cec_op_digital_service_id *digital)
{}

static inline void cec_msg_record_on_own(struct cec_msg *msg)
{}

static inline void cec_msg_record_on_digital(struct cec_msg *msg,
			     const struct cec_op_digital_service_id *digital)
{}

static inline void cec_msg_record_on_analog(struct cec_msg *msg,
					    __u8 ana_bcast_type,
					    __u16 ana_freq,
					    __u8 bcast_system)
{}

static inline void cec_msg_record_on_plug(struct cec_msg *msg,
					  __u8 plug)
{}

static inline void cec_msg_record_on_phys_addr(struct cec_msg *msg,
					       __u16 phys_addr)
{}

static inline void cec_msg_record_on(struct cec_msg *msg,
				     int reply,
				     const struct cec_op_record_src *rec_src)
{}

static inline void cec_ops_record_on(const struct cec_msg *msg,
				     struct cec_op_record_src *rec_src)
{}

static inline void cec_msg_record_status(struct cec_msg *msg, __u8 rec_status)
{}

static inline void cec_ops_record_status(const struct cec_msg *msg,
					 __u8 *rec_status)
{}

static inline void cec_msg_record_tv_screen(struct cec_msg *msg,
					    int reply)
{}


/* Timer Programming Feature */
static inline void cec_msg_timer_status(struct cec_msg *msg,
					__u8 timer_overlap_warning,
					__u8 media_info,
					__u8 prog_info,
					__u8 prog_error,
					__u8 duration_hr,
					__u8 duration_min)
{}

static inline void cec_ops_timer_status(const struct cec_msg *msg,
					__u8 *timer_overlap_warning,
					__u8 *media_info,
					__u8 *prog_info,
					__u8 *prog_error,
					__u8 *duration_hr,
					__u8 *duration_min)
{}

static inline void cec_msg_timer_cleared_status(struct cec_msg *msg,
						__u8 timer_cleared_status)
{}

static inline void cec_ops_timer_cleared_status(const struct cec_msg *msg,
						__u8 *timer_cleared_status)
{}

static inline void cec_msg_clear_analogue_timer(struct cec_msg *msg,
						int reply,
						__u8 day,
						__u8 month,
						__u8 start_hr,
						__u8 start_min,
						__u8 duration_hr,
						__u8 duration_min,
						__u8 recording_seq,
						__u8 ana_bcast_type,
						__u16 ana_freq,
						__u8 bcast_system)
{}

static inline void cec_ops_clear_analogue_timer(const struct cec_msg *msg,
						__u8 *day,
						__u8 *month,
						__u8 *start_hr,
						__u8 *start_min,
						__u8 *duration_hr,
						__u8 *duration_min,
						__u8 *recording_seq,
						__u8 *ana_bcast_type,
						__u16 *ana_freq,
						__u8 *bcast_system)
{}

static inline void cec_msg_clear_digital_timer(struct cec_msg *msg,
				int reply,
				__u8 day,
				__u8 month,
				__u8 start_hr,
				__u8 start_min,
				__u8 duration_hr,
				__u8 duration_min,
				__u8 recording_seq,
				const struct cec_op_digital_service_id *digital)
{}

static inline void cec_ops_clear_digital_timer(const struct cec_msg *msg,
				__u8 *day,
				__u8 *month,
				__u8 *start_hr,
				__u8 *start_min,
				__u8 *duration_hr,
				__u8 *duration_min,
				__u8 *recording_seq,
				struct cec_op_digital_service_id *digital)
{}

static inline void cec_msg_clear_ext_timer(struct cec_msg *msg,
					   int reply,
					   __u8 day,
					   __u8 month,
					   __u8 start_hr,
					   __u8 start_min,
					   __u8 duration_hr,
					   __u8 duration_min,
					   __u8 recording_seq,
					   __u8 ext_src_spec,
					   __u8 plug,
					   __u16 phys_addr)
{}

static inline void cec_ops_clear_ext_timer(const struct cec_msg *msg,
					   __u8 *day,
					   __u8 *month,
					   __u8 *start_hr,
					   __u8 *start_min,
					   __u8 *duration_hr,
					   __u8 *duration_min,
					   __u8 *recording_seq,
					   __u8 *ext_src_spec,
					   __u8 *plug,
					   __u16 *phys_addr)
{}

static inline void cec_msg_set_analogue_timer(struct cec_msg *msg,
					      int reply,
					      __u8 day,
					      __u8 month,
					      __u8 start_hr,
					      __u8 start_min,
					      __u8 duration_hr,
					      __u8 duration_min,
					      __u8 recording_seq,
					      __u8 ana_bcast_type,
					      __u16 ana_freq,
					      __u8 bcast_system)
{}

static inline void cec_ops_set_analogue_timer(const struct cec_msg *msg,
					      __u8 *day,
					      __u8 *month,
					      __u8 *start_hr,
					      __u8 *start_min,
					      __u8 *duration_hr,
					      __u8 *duration_min,
					      __u8 *recording_seq,
					      __u8 *ana_bcast_type,
					      __u16 *ana_freq,
					      __u8 *bcast_system)
{}

static inline void cec_msg_set_digital_timer(struct cec_msg *msg,
			int reply,
			__u8 day,
			__u8 month,
			__u8 start_hr,
			__u8 start_min,
			__u8 duration_hr,
			__u8 duration_min,
			__u8 recording_seq,
			const struct cec_op_digital_service_id *digital)
{}

static inline void cec_ops_set_digital_timer(const struct cec_msg *msg,
			__u8 *day,
			__u8 *month,
			__u8 *start_hr,
			__u8 *start_min,
			__u8 *duration_hr,
			__u8 *duration_min,
			__u8 *recording_seq,
			struct cec_op_digital_service_id *digital)
{}

static inline void cec_msg_set_ext_timer(struct cec_msg *msg,
					 int reply,
					 __u8 day,
					 __u8 month,
					 __u8 start_hr,
					 __u8 start_min,
					 __u8 duration_hr,
					 __u8 duration_min,
					 __u8 recording_seq,
					 __u8 ext_src_spec,
					 __u8 plug,
					 __u16 phys_addr)
{}

static inline void cec_ops_set_ext_timer(const struct cec_msg *msg,
					 __u8 *day,
					 __u8 *month,
					 __u8 *start_hr,
					 __u8 *start_min,
					 __u8 *duration_hr,
					 __u8 *duration_min,
					 __u8 *recording_seq,
					 __u8 *ext_src_spec,
					 __u8 *plug,
					 __u16 *phys_addr)
{}

static inline void cec_msg_set_timer_program_title(struct cec_msg *msg,
						   const char *prog_title)
{}

static inline void cec_ops_set_timer_program_title(const struct cec_msg *msg,
						   char *prog_title)
{}

/* System Information Feature */
static inline void cec_msg_cec_version(struct cec_msg *msg, __u8 cec_version)
{}

static inline void cec_ops_cec_version(const struct cec_msg *msg,
				       __u8 *cec_version)
{}

static inline void cec_msg_get_cec_version(struct cec_msg *msg,
					   int reply)
{}

static inline void cec_msg_report_physical_addr(struct cec_msg *msg,
					__u16 phys_addr, __u8 prim_devtype)
{}

static inline void cec_ops_report_physical_addr(const struct cec_msg *msg,
					__u16 *phys_addr, __u8 *prim_devtype)
{}

static inline void cec_msg_give_physical_addr(struct cec_msg *msg,
					      int reply)
{}

static inline void cec_msg_set_menu_language(struct cec_msg *msg,
					     const char *language)
{}

static inline void cec_ops_set_menu_language(const struct cec_msg *msg,
					     char *language)
{}

static inline void cec_msg_get_menu_language(struct cec_msg *msg,
					     int reply)
{}

/*
 * Assumes a single RC Profile byte and a single Device Features byte,
 * i.e. no extended features are supported by this helper function.
 *
 * As of CEC 2.0 no extended features are defined, should those be added
 * in the future, then this function needs to be adapted or a new function
 * should be added.
 */
static inline void cec_msg_report_features(struct cec_msg *msg,
				__u8 cec_version, __u8 all_device_types,
				__u8 rc_profile, __u8 dev_features)
{}

static inline void cec_ops_report_features(const struct cec_msg *msg,
			__u8 *cec_version, __u8 *all_device_types,
			const __u8 **rc_profile, const __u8 **dev_features)
{}

static inline void cec_msg_give_features(struct cec_msg *msg,
					 int reply)
{}

/* Deck Control Feature */
static inline void cec_msg_deck_control(struct cec_msg *msg,
					__u8 deck_control_mode)
{}

static inline void cec_ops_deck_control(const struct cec_msg *msg,
					__u8 *deck_control_mode)
{}

static inline void cec_msg_deck_status(struct cec_msg *msg,
				       __u8 deck_info)
{}

static inline void cec_ops_deck_status(const struct cec_msg *msg,
				       __u8 *deck_info)
{}

static inline void cec_msg_give_deck_status(struct cec_msg *msg,
					    int reply,
					    __u8 status_req)
{}

static inline void cec_ops_give_deck_status(const struct cec_msg *msg,
					    __u8 *status_req)
{}

static inline void cec_msg_play(struct cec_msg *msg,
				__u8 play_mode)
{}

static inline void cec_ops_play(const struct cec_msg *msg,
				__u8 *play_mode)
{}


/* Tuner Control Feature */
struct cec_op_tuner_device_info {};

static inline void cec_msg_tuner_device_status_analog(struct cec_msg *msg,
						      __u8 rec_flag,
						      __u8 tuner_display_info,
						      __u8 ana_bcast_type,
						      __u16 ana_freq,
						      __u8 bcast_system)
{}

static inline void cec_msg_tuner_device_status_digital(struct cec_msg *msg,
		   __u8 rec_flag, __u8 tuner_display_info,
		   const struct cec_op_digital_service_id *digital)
{}

static inline void cec_msg_tuner_device_status(struct cec_msg *msg,
			const struct cec_op_tuner_device_info *tuner_dev_info)
{}

static inline void cec_ops_tuner_device_status(const struct cec_msg *msg,
				struct cec_op_tuner_device_info *tuner_dev_info)
{}

static inline void cec_msg_give_tuner_device_status(struct cec_msg *msg,
						    int reply,
						    __u8 status_req)
{}

static inline void cec_ops_give_tuner_device_status(const struct cec_msg *msg,
						    __u8 *status_req)
{}

static inline void cec_msg_select_analogue_service(struct cec_msg *msg,
						   __u8 ana_bcast_type,
						   __u16 ana_freq,
						   __u8 bcast_system)
{}

static inline void cec_ops_select_analogue_service(const struct cec_msg *msg,
						   __u8 *ana_bcast_type,
						   __u16 *ana_freq,
						   __u8 *bcast_system)
{}

static inline void cec_msg_select_digital_service(struct cec_msg *msg,
				const struct cec_op_digital_service_id *digital)
{}

static inline void cec_ops_select_digital_service(const struct cec_msg *msg,
				struct cec_op_digital_service_id *digital)
{}

static inline void cec_msg_tuner_step_decrement(struct cec_msg *msg)
{}

static inline void cec_msg_tuner_step_increment(struct cec_msg *msg)
{}


/* Vendor Specific Commands Feature */
static inline void cec_msg_device_vendor_id(struct cec_msg *msg, __u32 vendor_id)
{}

static inline void cec_ops_device_vendor_id(const struct cec_msg *msg,
					    __u32 *vendor_id)
{}

static inline void cec_msg_give_device_vendor_id(struct cec_msg *msg,
						 int reply)
{}

static inline void cec_msg_vendor_command(struct cec_msg *msg,
					  __u8 size, const __u8 *vendor_cmd)
{}

static inline void cec_ops_vendor_command(const struct cec_msg *msg,
					  __u8 *size,
					  const __u8 **vendor_cmd)
{}

static inline void cec_msg_vendor_command_with_id(struct cec_msg *msg,
						  __u32 vendor_id, __u8 size,
						  const __u8 *vendor_cmd)
{}

static inline void cec_ops_vendor_command_with_id(const struct cec_msg *msg,
						  __u32 *vendor_id,  __u8 *size,
						  const __u8 **vendor_cmd)
{}

static inline void cec_msg_vendor_remote_button_down(struct cec_msg *msg,
						     __u8 size,
						     const __u8 *rc_code)
{}

static inline void cec_ops_vendor_remote_button_down(const struct cec_msg *msg,
						     __u8 *size,
						     const __u8 **rc_code)
{}

static inline void cec_msg_vendor_remote_button_up(struct cec_msg *msg)
{}


/* OSD Display Feature */
static inline void cec_msg_set_osd_string(struct cec_msg *msg,
					  __u8 disp_ctl,
					  const char *osd)
{}

static inline void cec_ops_set_osd_string(const struct cec_msg *msg,
					  __u8 *disp_ctl,
					  char *osd)
{}


/* Device OSD Transfer Feature */
static inline void cec_msg_set_osd_name(struct cec_msg *msg, const char *name)
{}

static inline void cec_ops_set_osd_name(const struct cec_msg *msg,
					char *name)
{}

static inline void cec_msg_give_osd_name(struct cec_msg *msg,
					 int reply)
{}


/* Device Menu Control Feature */
static inline void cec_msg_menu_status(struct cec_msg *msg,
				       __u8 menu_state)
{}

static inline void cec_ops_menu_status(const struct cec_msg *msg,
				       __u8 *menu_state)
{}

static inline void cec_msg_menu_request(struct cec_msg *msg,
					int reply,
					__u8 menu_req)
{}

static inline void cec_ops_menu_request(const struct cec_msg *msg,
					__u8 *menu_req)
{}

struct cec_op_ui_command {};

static inline void cec_msg_user_control_pressed(struct cec_msg *msg,
					const struct cec_op_ui_command *ui_cmd)
{}

static inline void cec_ops_user_control_pressed(const struct cec_msg *msg,
						struct cec_op_ui_command *ui_cmd)
{}

static inline void cec_msg_user_control_released(struct cec_msg *msg)
{}

/* Remote Control Passthrough Feature */

/* Power Status Feature */
static inline void cec_msg_report_power_status(struct cec_msg *msg,
					       __u8 pwr_state)
{}

static inline void cec_ops_report_power_status(const struct cec_msg *msg,
					       __u8 *pwr_state)
{}

static inline void cec_msg_give_device_power_status(struct cec_msg *msg,
						    int reply)
{}

/* General Protocol Messages */
static inline void cec_msg_feature_abort(struct cec_msg *msg,
					 __u8 abort_msg, __u8 reason)
{}

static inline void cec_ops_feature_abort(const struct cec_msg *msg,
					 __u8 *abort_msg, __u8 *reason)
{}

/* This changes the current message into a feature abort message */
static inline void cec_msg_reply_feature_abort(struct cec_msg *msg, __u8 reason)
{}

static inline void cec_msg_abort(struct cec_msg *msg)
{}


/* System Audio Control Feature */
static inline void cec_msg_report_audio_status(struct cec_msg *msg,
					       __u8 aud_mute_status,
					       __u8 aud_vol_status)
{}

static inline void cec_ops_report_audio_status(const struct cec_msg *msg,
					       __u8 *aud_mute_status,
					       __u8 *aud_vol_status)
{}

static inline void cec_msg_give_audio_status(struct cec_msg *msg,
					     int reply)
{}

static inline void cec_msg_set_system_audio_mode(struct cec_msg *msg,
						 __u8 sys_aud_status)
{}

static inline void cec_ops_set_system_audio_mode(const struct cec_msg *msg,
						 __u8 *sys_aud_status)
{}

static inline void cec_msg_system_audio_mode_request(struct cec_msg *msg,
						     int reply,
						     __u16 phys_addr)
{}

static inline void cec_ops_system_audio_mode_request(const struct cec_msg *msg,
						     __u16 *phys_addr)
{}

static inline void cec_msg_system_audio_mode_status(struct cec_msg *msg,
						    __u8 sys_aud_status)
{}

static inline void cec_ops_system_audio_mode_status(const struct cec_msg *msg,
						    __u8 *sys_aud_status)
{}

static inline void cec_msg_give_system_audio_mode_status(struct cec_msg *msg,
							 int reply)
{}

static inline void cec_msg_report_short_audio_descriptor(struct cec_msg *msg,
					__u8 num_descriptors,
					const __u32 *descriptors)
{}

static inline void cec_ops_report_short_audio_descriptor(const struct cec_msg *msg,
							 __u8 *num_descriptors,
							 __u32 *descriptors)
{}

static inline void cec_msg_request_short_audio_descriptor(struct cec_msg *msg,
					int reply,
					__u8 num_descriptors,
					const __u8 *audio_format_id,
					const __u8 *audio_format_code)
{}

static inline void cec_ops_request_short_audio_descriptor(const struct cec_msg *msg,
					__u8 *num_descriptors,
					__u8 *audio_format_id,
					__u8 *audio_format_code)
{}

static inline void cec_msg_set_audio_volume_level(struct cec_msg *msg,
						  __u8 audio_volume_level)
{}

static inline void cec_ops_set_audio_volume_level(const struct cec_msg *msg,
						  __u8 *audio_volume_level)
{}


/* Audio Rate Control Feature */
static inline void cec_msg_set_audio_rate(struct cec_msg *msg,
					  __u8 audio_rate)
{}

static inline void cec_ops_set_audio_rate(const struct cec_msg *msg,
					  __u8 *audio_rate)
{}


/* Audio Return Channel Control Feature */
static inline void cec_msg_report_arc_initiated(struct cec_msg *msg)
{}

static inline void cec_msg_initiate_arc(struct cec_msg *msg,
					int reply)
{}

static inline void cec_msg_request_arc_initiation(struct cec_msg *msg,
						  int reply)
{}

static inline void cec_msg_report_arc_terminated(struct cec_msg *msg)
{}

static inline void cec_msg_terminate_arc(struct cec_msg *msg,
					 int reply)
{}

static inline void cec_msg_request_arc_termination(struct cec_msg *msg,
						   int reply)
{}


/* Dynamic Audio Lipsync Feature */
/* Only for CEC 2.0 and up */
static inline void cec_msg_report_current_latency(struct cec_msg *msg,
						  __u16 phys_addr,
						  __u8 video_latency,
						  __u8 low_latency_mode,
						  __u8 audio_out_compensated,
						  __u8 audio_out_delay)
{}

static inline void cec_ops_report_current_latency(const struct cec_msg *msg,
						  __u16 *phys_addr,
						  __u8 *video_latency,
						  __u8 *low_latency_mode,
						  __u8 *audio_out_compensated,
						  __u8 *audio_out_delay)
{}

static inline void cec_msg_request_current_latency(struct cec_msg *msg,
						   int reply,
						   __u16 phys_addr)
{}

static inline void cec_ops_request_current_latency(const struct cec_msg *msg,
						   __u16 *phys_addr)
{}


/* Capability Discovery and Control Feature */
static inline void cec_msg_cdc_hec_inquire_state(struct cec_msg *msg,
						 __u16 phys_addr1,
						 __u16 phys_addr2)
{}

static inline void cec_ops_cdc_hec_inquire_state(const struct cec_msg *msg,
						 __u16 *phys_addr,
						 __u16 *phys_addr1,
						 __u16 *phys_addr2)
{}

static inline void cec_msg_cdc_hec_report_state(struct cec_msg *msg,
						__u16 target_phys_addr,
						__u8 hec_func_state,
						__u8 host_func_state,
						__u8 enc_func_state,
						__u8 cdc_errcode,
						__u8 has_field,
						__u16 hec_field)
{}

static inline void cec_ops_cdc_hec_report_state(const struct cec_msg *msg,
						__u16 *phys_addr,
						__u16 *target_phys_addr,
						__u8 *hec_func_state,
						__u8 *host_func_state,
						__u8 *enc_func_state,
						__u8 *cdc_errcode,
						__u8 *has_field,
						__u16 *hec_field)
{}

static inline void cec_msg_cdc_hec_set_state(struct cec_msg *msg,
					     __u16 phys_addr1,
					     __u16 phys_addr2,
					     __u8 hec_set_state,
					     __u16 phys_addr3,
					     __u16 phys_addr4,
					     __u16 phys_addr5)
{}

static inline void cec_ops_cdc_hec_set_state(const struct cec_msg *msg,
					     __u16 *phys_addr,
					     __u16 *phys_addr1,
					     __u16 *phys_addr2,
					     __u8 *hec_set_state,
					     __u16 *phys_addr3,
					     __u16 *phys_addr4,
					     __u16 *phys_addr5)
{}

static inline void cec_msg_cdc_hec_set_state_adjacent(struct cec_msg *msg,
						      __u16 phys_addr1,
						      __u8 hec_set_state)
{}

static inline void cec_ops_cdc_hec_set_state_adjacent(const struct cec_msg *msg,
						      __u16 *phys_addr,
						      __u16 *phys_addr1,
						      __u8 *hec_set_state)
{}

static inline void cec_msg_cdc_hec_request_deactivation(struct cec_msg *msg,
							__u16 phys_addr1,
							__u16 phys_addr2,
							__u16 phys_addr3)
{}

static inline void cec_ops_cdc_hec_request_deactivation(const struct cec_msg *msg,
							__u16 *phys_addr,
							__u16 *phys_addr1,
							__u16 *phys_addr2,
							__u16 *phys_addr3)
{}

static inline void cec_msg_cdc_hec_notify_alive(struct cec_msg *msg)
{}

static inline void cec_ops_cdc_hec_notify_alive(const struct cec_msg *msg,
						__u16 *phys_addr)
{}

static inline void cec_msg_cdc_hec_discover(struct cec_msg *msg)
{}

static inline void cec_ops_cdc_hec_discover(const struct cec_msg *msg,
					    __u16 *phys_addr)
{}

static inline void cec_msg_cdc_hpd_set_state(struct cec_msg *msg,
					     __u8 input_port,
					     __u8 hpd_state)
{}

static inline void cec_ops_cdc_hpd_set_state(const struct cec_msg *msg,
					    __u16 *phys_addr,
					    __u8 *input_port,
					    __u8 *hpd_state)
{}

static inline void cec_msg_cdc_hpd_report_state(struct cec_msg *msg,
						__u8 hpd_state,
						__u8 hpd_error)
{}

static inline void cec_ops_cdc_hpd_report_state(const struct cec_msg *msg,
						__u16 *phys_addr,
						__u8 *hpd_state,
						__u8 *hpd_error)
{}

#endif