1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 201fae02dSMauro Carvalho Chehab.. c:namespace:: CEC 354f38fcaSMauro Carvalho Chehab 454f38fcaSMauro Carvalho Chehab.. _CEC_ADAP_LOG_ADDRS: 554f38fcaSMauro Carvalho Chehab.. _CEC_ADAP_G_LOG_ADDRS: 654f38fcaSMauro Carvalho Chehab.. _CEC_ADAP_S_LOG_ADDRS: 754f38fcaSMauro Carvalho Chehab 854f38fcaSMauro Carvalho Chehab**************************************************** 954f38fcaSMauro Carvalho Chehabioctls CEC_ADAP_G_LOG_ADDRS and CEC_ADAP_S_LOG_ADDRS 1054f38fcaSMauro Carvalho Chehab**************************************************** 1154f38fcaSMauro Carvalho Chehab 1254f38fcaSMauro Carvalho ChehabName 1354f38fcaSMauro Carvalho Chehab==== 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho ChehabCEC_ADAP_G_LOG_ADDRS, CEC_ADAP_S_LOG_ADDRS - Get or set the logical addresses 1654f38fcaSMauro Carvalho Chehab 1754f38fcaSMauro Carvalho ChehabSynopsis 1854f38fcaSMauro Carvalho Chehab======== 1954f38fcaSMauro Carvalho Chehab 2001fae02dSMauro Carvalho Chehab.. c:macro:: CEC_ADAP_G_LOG_ADDRS 2154f38fcaSMauro Carvalho Chehab 2201fae02dSMauro Carvalho Chehab``int ioctl(int fd, CEC_ADAP_G_LOG_ADDRS, struct cec_log_addrs *argp)`` 2301fae02dSMauro Carvalho Chehab 2401fae02dSMauro Carvalho Chehab.. c:macro:: CEC_ADAP_S_LOG_ADDRS 2501fae02dSMauro Carvalho Chehab 2601fae02dSMauro Carvalho Chehab``int ioctl(int fd, CEC_ADAP_S_LOG_ADDRS, struct cec_log_addrs *argp)`` 2754f38fcaSMauro Carvalho Chehab 2854f38fcaSMauro Carvalho ChehabArguments 2954f38fcaSMauro Carvalho Chehab========= 3054f38fcaSMauro Carvalho Chehab 3154f38fcaSMauro Carvalho Chehab``fd`` 3201fae02dSMauro Carvalho Chehab File descriptor returned by :c:func:`open()`. 3354f38fcaSMauro Carvalho Chehab 3454f38fcaSMauro Carvalho Chehab``argp`` 3554f38fcaSMauro Carvalho Chehab Pointer to struct :c:type:`cec_log_addrs`. 3654f38fcaSMauro Carvalho Chehab 3754f38fcaSMauro Carvalho ChehabDescription 3854f38fcaSMauro Carvalho Chehab=========== 3954f38fcaSMauro Carvalho Chehab 4054f38fcaSMauro Carvalho ChehabTo query the current CEC logical addresses, applications call 4154f38fcaSMauro Carvalho Chehab:ref:`ioctl CEC_ADAP_G_LOG_ADDRS <CEC_ADAP_G_LOG_ADDRS>` with a pointer to a 4254f38fcaSMauro Carvalho Chehabstruct :c:type:`cec_log_addrs` where the driver stores the logical addresses. 4354f38fcaSMauro Carvalho Chehab 4454f38fcaSMauro Carvalho ChehabTo set new logical addresses, applications fill in 4554f38fcaSMauro Carvalho Chehabstruct :c:type:`cec_log_addrs` and call :ref:`ioctl CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` 4654f38fcaSMauro Carvalho Chehabwith a pointer to this struct. The :ref:`ioctl CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` 4754f38fcaSMauro Carvalho Chehabis only available if ``CEC_CAP_LOG_ADDRS`` is set (the ``ENOTTY`` error code is 4854f38fcaSMauro Carvalho Chehabreturned otherwise). The :ref:`ioctl CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` 4954f38fcaSMauro Carvalho Chehabcan only be called by a file descriptor in initiator mode (see :ref:`CEC_S_MODE`), if not 5054f38fcaSMauro Carvalho Chehabthe ``EBUSY`` error code will be returned. 5154f38fcaSMauro Carvalho Chehab 5254f38fcaSMauro Carvalho ChehabTo clear existing logical addresses set ``num_log_addrs`` to 0. All other fields 5354f38fcaSMauro Carvalho Chehabwill be ignored in that case. The adapter will go to the unconfigured state and the 5454f38fcaSMauro Carvalho Chehab``cec_version``, ``vendor_id`` and ``osd_name`` fields are all reset to their default 5554f38fcaSMauro Carvalho Chehabvalues (CEC version 2.0, no vendor ID and an empty OSD name). 5654f38fcaSMauro Carvalho Chehab 5754f38fcaSMauro Carvalho ChehabIf the physical address is valid (see :ref:`ioctl CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHYS_ADDR>`), 5854f38fcaSMauro Carvalho Chehabthen this ioctl will block until all requested logical 5954f38fcaSMauro Carvalho Chehabaddresses have been claimed. If the file descriptor is in non-blocking mode then it will 6054f38fcaSMauro Carvalho Chehabnot wait for the logical addresses to be claimed, instead it just returns 0. 6154f38fcaSMauro Carvalho Chehab 6254f38fcaSMauro Carvalho ChehabA :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` event is sent when the 6354f38fcaSMauro Carvalho Chehablogical addresses are claimed or cleared. 6454f38fcaSMauro Carvalho Chehab 6554f38fcaSMauro Carvalho ChehabAttempting to call :ref:`ioctl CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` when 6654f38fcaSMauro Carvalho Chehablogical address types are already defined will return with error ``EBUSY``. 6754f38fcaSMauro Carvalho Chehab 6854f38fcaSMauro Carvalho Chehab.. c:type:: cec_log_addrs 6954f38fcaSMauro Carvalho Chehab 70*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{1.0cm}|p{8.0cm}|p{8.0cm}| 7154f38fcaSMauro Carvalho Chehab 7254f38fcaSMauro Carvalho Chehab.. cssclass:: longtable 7354f38fcaSMauro Carvalho Chehab 7454f38fcaSMauro Carvalho Chehab.. flat-table:: struct cec_log_addrs 7554f38fcaSMauro Carvalho Chehab :header-rows: 0 7654f38fcaSMauro Carvalho Chehab :stub-columns: 0 7754f38fcaSMauro Carvalho Chehab :widths: 1 1 16 7854f38fcaSMauro Carvalho Chehab 7954f38fcaSMauro Carvalho Chehab * - __u8 8054f38fcaSMauro Carvalho Chehab - ``log_addr[CEC_MAX_LOG_ADDRS]`` 8154f38fcaSMauro Carvalho Chehab - The actual logical addresses that were claimed. This is set by the 8254f38fcaSMauro Carvalho Chehab driver. If no logical address could be claimed, then it is set to 8354f38fcaSMauro Carvalho Chehab ``CEC_LOG_ADDR_INVALID``. If this adapter is Unregistered, then 8454f38fcaSMauro Carvalho Chehab ``log_addr[0]`` is set to 0xf and all others to 8554f38fcaSMauro Carvalho Chehab ``CEC_LOG_ADDR_INVALID``. 8654f38fcaSMauro Carvalho Chehab * - __u16 8754f38fcaSMauro Carvalho Chehab - ``log_addr_mask`` 8854f38fcaSMauro Carvalho Chehab - The bitmask of all logical addresses this adapter has claimed. If 8954f38fcaSMauro Carvalho Chehab this adapter is Unregistered then ``log_addr_mask`` sets bit 15 9054f38fcaSMauro Carvalho Chehab and clears all other bits. If this adapter is not configured at 9154f38fcaSMauro Carvalho Chehab all, then ``log_addr_mask`` is set to 0. Set by the driver. 9254f38fcaSMauro Carvalho Chehab * - __u8 9354f38fcaSMauro Carvalho Chehab - ``cec_version`` 9454f38fcaSMauro Carvalho Chehab - The CEC version that this adapter shall use. See 9554f38fcaSMauro Carvalho Chehab :ref:`cec-versions`. Used to implement the 9654f38fcaSMauro Carvalho Chehab ``CEC_MSG_CEC_VERSION`` and ``CEC_MSG_REPORT_FEATURES`` messages. 9754f38fcaSMauro Carvalho Chehab Note that :ref:`CEC_OP_CEC_VERSION_1_3A <CEC-OP-CEC-VERSION-1-3A>` is not allowed by the CEC 9854f38fcaSMauro Carvalho Chehab framework. 9954f38fcaSMauro Carvalho Chehab * - __u8 10054f38fcaSMauro Carvalho Chehab - ``num_log_addrs`` 10154f38fcaSMauro Carvalho Chehab - Number of logical addresses to set up. Must be ≤ 10254f38fcaSMauro Carvalho Chehab ``available_log_addrs`` as returned by 10354f38fcaSMauro Carvalho Chehab :ref:`CEC_ADAP_G_CAPS`. All arrays in 10454f38fcaSMauro Carvalho Chehab this structure are only filled up to index 10554f38fcaSMauro Carvalho Chehab ``available_log_addrs``-1. The remaining array elements will be 10654f38fcaSMauro Carvalho Chehab ignored. Note that the CEC 2.0 standard allows for a maximum of 2 10754f38fcaSMauro Carvalho Chehab logical addresses, although some hardware has support for more. 10854f38fcaSMauro Carvalho Chehab ``CEC_MAX_LOG_ADDRS`` is 4. The driver will return the actual 10954f38fcaSMauro Carvalho Chehab number of logical addresses it could claim, which may be less than 11054f38fcaSMauro Carvalho Chehab what was requested. If this field is set to 0, then the CEC 11154f38fcaSMauro Carvalho Chehab adapter shall clear all claimed logical addresses and all other 11254f38fcaSMauro Carvalho Chehab fields will be ignored. 11354f38fcaSMauro Carvalho Chehab * - __u32 11454f38fcaSMauro Carvalho Chehab - ``vendor_id`` 11554f38fcaSMauro Carvalho Chehab - The vendor ID is a 24-bit number that identifies the specific 11654f38fcaSMauro Carvalho Chehab vendor or entity. Based on this ID vendor specific commands may be 11754f38fcaSMauro Carvalho Chehab defined. If you do not want a vendor ID then set it to 11854f38fcaSMauro Carvalho Chehab ``CEC_VENDOR_ID_NONE``. 11954f38fcaSMauro Carvalho Chehab * - __u32 12054f38fcaSMauro Carvalho Chehab - ``flags`` 12154f38fcaSMauro Carvalho Chehab - Flags. See :ref:`cec-log-addrs-flags` for a list of available flags. 12254f38fcaSMauro Carvalho Chehab * - char 12354f38fcaSMauro Carvalho Chehab - ``osd_name[15]`` 12454f38fcaSMauro Carvalho Chehab - The On-Screen Display name as is returned by the 12554f38fcaSMauro Carvalho Chehab ``CEC_MSG_SET_OSD_NAME`` message. 12654f38fcaSMauro Carvalho Chehab * - __u8 12754f38fcaSMauro Carvalho Chehab - ``primary_device_type[CEC_MAX_LOG_ADDRS]`` 12854f38fcaSMauro Carvalho Chehab - Primary device type for each logical address. See 12954f38fcaSMauro Carvalho Chehab :ref:`cec-prim-dev-types` for possible types. 13054f38fcaSMauro Carvalho Chehab * - __u8 13154f38fcaSMauro Carvalho Chehab - ``log_addr_type[CEC_MAX_LOG_ADDRS]`` 13254f38fcaSMauro Carvalho Chehab - Logical address types. See :ref:`cec-log-addr-types` for 13354f38fcaSMauro Carvalho Chehab possible types. The driver will update this with the actual 13454f38fcaSMauro Carvalho Chehab logical address type that it claimed (e.g. it may have to fallback 13554f38fcaSMauro Carvalho Chehab to :ref:`CEC_LOG_ADDR_TYPE_UNREGISTERED <CEC-LOG-ADDR-TYPE-UNREGISTERED>`). 13654f38fcaSMauro Carvalho Chehab * - __u8 13754f38fcaSMauro Carvalho Chehab - ``all_device_types[CEC_MAX_LOG_ADDRS]`` 13854f38fcaSMauro Carvalho Chehab - CEC 2.0 specific: the bit mask of all device types. See 13954f38fcaSMauro Carvalho Chehab :ref:`cec-all-dev-types-flags`. It is used in the CEC 2.0 14054f38fcaSMauro Carvalho Chehab ``CEC_MSG_REPORT_FEATURES`` message. For CEC 1.4 you can either leave 14154f38fcaSMauro Carvalho Chehab this field to 0, or fill it in according to the CEC 2.0 guidelines to 14254f38fcaSMauro Carvalho Chehab give the CEC framework more information about the device type, even 14354f38fcaSMauro Carvalho Chehab though the framework won't use it directly in the CEC message. 14454f38fcaSMauro Carvalho Chehab * - __u8 14554f38fcaSMauro Carvalho Chehab - ``features[CEC_MAX_LOG_ADDRS][12]`` 14654f38fcaSMauro Carvalho Chehab - Features for each logical address. It is used in the CEC 2.0 14754f38fcaSMauro Carvalho Chehab ``CEC_MSG_REPORT_FEATURES`` message. The 12 bytes include both the 14854f38fcaSMauro Carvalho Chehab RC Profile and the Device Features. For CEC 1.4 you can either leave 14954f38fcaSMauro Carvalho Chehab this field to all 0, or fill it in according to the CEC 2.0 guidelines to 15054f38fcaSMauro Carvalho Chehab give the CEC framework more information about the device type, even 15154f38fcaSMauro Carvalho Chehab though the framework won't use it directly in the CEC message. 15254f38fcaSMauro Carvalho Chehab 153*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{7.8cm}|p{1.0cm}|p{8.5cm}| 15454f38fcaSMauro Carvalho Chehab 15554f38fcaSMauro Carvalho Chehab.. _cec-log-addrs-flags: 15654f38fcaSMauro Carvalho Chehab 15754f38fcaSMauro Carvalho Chehab.. flat-table:: Flags for struct cec_log_addrs 15854f38fcaSMauro Carvalho Chehab :header-rows: 0 15954f38fcaSMauro Carvalho Chehab :stub-columns: 0 16054f38fcaSMauro Carvalho Chehab :widths: 3 1 4 16154f38fcaSMauro Carvalho Chehab 16254f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDRS-FL-ALLOW-UNREG-FALLBACK`: 16354f38fcaSMauro Carvalho Chehab 16454f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK`` 16554f38fcaSMauro Carvalho Chehab - 1 16654f38fcaSMauro Carvalho Chehab - By default if no logical address of the requested type can be claimed, then 16754f38fcaSMauro Carvalho Chehab it will go back to the unconfigured state. If this flag is set, then it will 16854f38fcaSMauro Carvalho Chehab fallback to the Unregistered logical address. Note that if the Unregistered 16954f38fcaSMauro Carvalho Chehab logical address was explicitly requested, then this flag has no effect. 17054f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDRS-FL-ALLOW-RC-PASSTHRU`: 17154f38fcaSMauro Carvalho Chehab 17254f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDRS_FL_ALLOW_RC_PASSTHRU`` 17354f38fcaSMauro Carvalho Chehab - 2 17454f38fcaSMauro Carvalho Chehab - By default the ``CEC_MSG_USER_CONTROL_PRESSED`` and ``CEC_MSG_USER_CONTROL_RELEASED`` 17554f38fcaSMauro Carvalho Chehab messages are only passed on to the follower(s), if any. If this flag is set, 17654f38fcaSMauro Carvalho Chehab then these messages are also passed on to the remote control input subsystem 17754f38fcaSMauro Carvalho Chehab and will appear as keystrokes. This features needs to be enabled explicitly. 17854f38fcaSMauro Carvalho Chehab If CEC is used to enter e.g. passwords, then you may not want to enable this 17954f38fcaSMauro Carvalho Chehab to avoid trivial snooping of the keystrokes. 18054f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDRS-FL-CDC-ONLY`: 18154f38fcaSMauro Carvalho Chehab 18254f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDRS_FL_CDC_ONLY`` 18354f38fcaSMauro Carvalho Chehab - 4 18454f38fcaSMauro Carvalho Chehab - If this flag is set, then the device is CDC-Only. CDC-Only CEC devices 18554f38fcaSMauro Carvalho Chehab are CEC devices that can only handle CDC messages. 18654f38fcaSMauro Carvalho Chehab 18754f38fcaSMauro Carvalho Chehab All other messages are ignored. 18854f38fcaSMauro Carvalho Chehab 189*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{7.8cm}|p{1.0cm}|p{8.5cm}| 19054f38fcaSMauro Carvalho Chehab 19154f38fcaSMauro Carvalho Chehab.. _cec-versions: 19254f38fcaSMauro Carvalho Chehab 19354f38fcaSMauro Carvalho Chehab.. flat-table:: CEC Versions 19454f38fcaSMauro Carvalho Chehab :header-rows: 0 19554f38fcaSMauro Carvalho Chehab :stub-columns: 0 19654f38fcaSMauro Carvalho Chehab :widths: 3 1 4 19754f38fcaSMauro Carvalho Chehab 19854f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-CEC-VERSION-1-3A`: 19954f38fcaSMauro Carvalho Chehab 20054f38fcaSMauro Carvalho Chehab - ``CEC_OP_CEC_VERSION_1_3A`` 20154f38fcaSMauro Carvalho Chehab - 4 20254f38fcaSMauro Carvalho Chehab - CEC version according to the HDMI 1.3a standard. 20354f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-CEC-VERSION-1-4B`: 20454f38fcaSMauro Carvalho Chehab 20554f38fcaSMauro Carvalho Chehab - ``CEC_OP_CEC_VERSION_1_4B`` 20654f38fcaSMauro Carvalho Chehab - 5 20754f38fcaSMauro Carvalho Chehab - CEC version according to the HDMI 1.4b standard. 20854f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-CEC-VERSION-2-0`: 20954f38fcaSMauro Carvalho Chehab 21054f38fcaSMauro Carvalho Chehab - ``CEC_OP_CEC_VERSION_2_0`` 21154f38fcaSMauro Carvalho Chehab - 6 21254f38fcaSMauro Carvalho Chehab - CEC version according to the HDMI 2.0 standard. 21354f38fcaSMauro Carvalho Chehab 214*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 21554f38fcaSMauro Carvalho Chehab 21654f38fcaSMauro Carvalho Chehab.. _cec-prim-dev-types: 21754f38fcaSMauro Carvalho Chehab 21854f38fcaSMauro Carvalho Chehab.. flat-table:: CEC Primary Device Types 21954f38fcaSMauro Carvalho Chehab :header-rows: 0 22054f38fcaSMauro Carvalho Chehab :stub-columns: 0 22154f38fcaSMauro Carvalho Chehab :widths: 3 1 4 22254f38fcaSMauro Carvalho Chehab 22354f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-TV`: 22454f38fcaSMauro Carvalho Chehab 22554f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_TV`` 22654f38fcaSMauro Carvalho Chehab - 0 22754f38fcaSMauro Carvalho Chehab - Use for a TV. 22854f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-RECORD`: 22954f38fcaSMauro Carvalho Chehab 23054f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_RECORD`` 23154f38fcaSMauro Carvalho Chehab - 1 23254f38fcaSMauro Carvalho Chehab - Use for a recording device. 23354f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-TUNER`: 23454f38fcaSMauro Carvalho Chehab 23554f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_TUNER`` 23654f38fcaSMauro Carvalho Chehab - 3 23754f38fcaSMauro Carvalho Chehab - Use for a device with a tuner. 23854f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-PLAYBACK`: 23954f38fcaSMauro Carvalho Chehab 24054f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_PLAYBACK`` 24154f38fcaSMauro Carvalho Chehab - 4 24254f38fcaSMauro Carvalho Chehab - Use for a playback device. 24354f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-AUDIOSYSTEM`: 24454f38fcaSMauro Carvalho Chehab 24554f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM`` 24654f38fcaSMauro Carvalho Chehab - 5 24754f38fcaSMauro Carvalho Chehab - Use for an audio system (e.g. an audio/video receiver). 24854f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-SWITCH`: 24954f38fcaSMauro Carvalho Chehab 25054f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_SWITCH`` 25154f38fcaSMauro Carvalho Chehab - 6 25254f38fcaSMauro Carvalho Chehab - Use for a CEC switch. 25354f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-PRIM-DEVTYPE-VIDEOPROC`: 25454f38fcaSMauro Carvalho Chehab 25554f38fcaSMauro Carvalho Chehab - ``CEC_OP_PRIM_DEVTYPE_VIDEOPROC`` 25654f38fcaSMauro Carvalho Chehab - 7 25754f38fcaSMauro Carvalho Chehab - Use for a video processor device. 25854f38fcaSMauro Carvalho Chehab 259*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 26054f38fcaSMauro Carvalho Chehab 26154f38fcaSMauro Carvalho Chehab.. _cec-log-addr-types: 26254f38fcaSMauro Carvalho Chehab 26354f38fcaSMauro Carvalho Chehab.. flat-table:: CEC Logical Address Types 26454f38fcaSMauro Carvalho Chehab :header-rows: 0 26554f38fcaSMauro Carvalho Chehab :stub-columns: 0 26654f38fcaSMauro Carvalho Chehab :widths: 3 1 16 26754f38fcaSMauro Carvalho Chehab 26854f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-TV`: 26954f38fcaSMauro Carvalho Chehab 27054f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_TV`` 27154f38fcaSMauro Carvalho Chehab - 0 27254f38fcaSMauro Carvalho Chehab - Use for a TV. 27354f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-RECORD`: 27454f38fcaSMauro Carvalho Chehab 27554f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_RECORD`` 27654f38fcaSMauro Carvalho Chehab - 1 27754f38fcaSMauro Carvalho Chehab - Use for a recording device. 27854f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-TUNER`: 27954f38fcaSMauro Carvalho Chehab 28054f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_TUNER`` 28154f38fcaSMauro Carvalho Chehab - 2 28254f38fcaSMauro Carvalho Chehab - Use for a tuner device. 28354f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-PLAYBACK`: 28454f38fcaSMauro Carvalho Chehab 28554f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_PLAYBACK`` 28654f38fcaSMauro Carvalho Chehab - 3 28754f38fcaSMauro Carvalho Chehab - Use for a playback device. 28854f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-AUDIOSYSTEM`: 28954f38fcaSMauro Carvalho Chehab 29054f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_AUDIOSYSTEM`` 29154f38fcaSMauro Carvalho Chehab - 4 29254f38fcaSMauro Carvalho Chehab - Use for an audio system device. 29354f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-SPECIFIC`: 29454f38fcaSMauro Carvalho Chehab 29554f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_SPECIFIC`` 29654f38fcaSMauro Carvalho Chehab - 5 29754f38fcaSMauro Carvalho Chehab - Use for a second TV or for a video processor device. 29854f38fcaSMauro Carvalho Chehab * .. _`CEC-LOG-ADDR-TYPE-UNREGISTERED`: 29954f38fcaSMauro Carvalho Chehab 30054f38fcaSMauro Carvalho Chehab - ``CEC_LOG_ADDR_TYPE_UNREGISTERED`` 30154f38fcaSMauro Carvalho Chehab - 6 30254f38fcaSMauro Carvalho Chehab - Use this if you just want to remain unregistered. Used for pure 30354f38fcaSMauro Carvalho Chehab CEC switches or CDC-only devices (CDC: Capability Discovery and 30454f38fcaSMauro Carvalho Chehab Control). 30554f38fcaSMauro Carvalho Chehab 30654f38fcaSMauro Carvalho Chehab 307*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 30854f38fcaSMauro Carvalho Chehab 30954f38fcaSMauro Carvalho Chehab.. _cec-all-dev-types-flags: 31054f38fcaSMauro Carvalho Chehab 31154f38fcaSMauro Carvalho Chehab.. flat-table:: CEC All Device Types Flags 31254f38fcaSMauro Carvalho Chehab :header-rows: 0 31354f38fcaSMauro Carvalho Chehab :stub-columns: 0 31454f38fcaSMauro Carvalho Chehab :widths: 3 1 4 31554f38fcaSMauro Carvalho Chehab 31654f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-ALL-DEVTYPE-TV`: 31754f38fcaSMauro Carvalho Chehab 31854f38fcaSMauro Carvalho Chehab - ``CEC_OP_ALL_DEVTYPE_TV`` 31954f38fcaSMauro Carvalho Chehab - 0x80 32054f38fcaSMauro Carvalho Chehab - This supports the TV type. 32154f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-ALL-DEVTYPE-RECORD`: 32254f38fcaSMauro Carvalho Chehab 32354f38fcaSMauro Carvalho Chehab - ``CEC_OP_ALL_DEVTYPE_RECORD`` 32454f38fcaSMauro Carvalho Chehab - 0x40 32554f38fcaSMauro Carvalho Chehab - This supports the Recording type. 32654f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-ALL-DEVTYPE-TUNER`: 32754f38fcaSMauro Carvalho Chehab 32854f38fcaSMauro Carvalho Chehab - ``CEC_OP_ALL_DEVTYPE_TUNER`` 32954f38fcaSMauro Carvalho Chehab - 0x20 33054f38fcaSMauro Carvalho Chehab - This supports the Tuner type. 33154f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-ALL-DEVTYPE-PLAYBACK`: 33254f38fcaSMauro Carvalho Chehab 33354f38fcaSMauro Carvalho Chehab - ``CEC_OP_ALL_DEVTYPE_PLAYBACK`` 33454f38fcaSMauro Carvalho Chehab - 0x10 33554f38fcaSMauro Carvalho Chehab - This supports the Playback type. 33654f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-ALL-DEVTYPE-AUDIOSYSTEM`: 33754f38fcaSMauro Carvalho Chehab 33854f38fcaSMauro Carvalho Chehab - ``CEC_OP_ALL_DEVTYPE_AUDIOSYSTEM`` 33954f38fcaSMauro Carvalho Chehab - 0x08 34054f38fcaSMauro Carvalho Chehab - This supports the Audio System type. 34154f38fcaSMauro Carvalho Chehab * .. _`CEC-OP-ALL-DEVTYPE-SWITCH`: 34254f38fcaSMauro Carvalho Chehab 34354f38fcaSMauro Carvalho Chehab - ``CEC_OP_ALL_DEVTYPE_SWITCH`` 34454f38fcaSMauro Carvalho Chehab - 0x04 34554f38fcaSMauro Carvalho Chehab - This supports the CEC Switch or Video Processing type. 34654f38fcaSMauro Carvalho Chehab 34754f38fcaSMauro Carvalho Chehab 34854f38fcaSMauro Carvalho ChehabReturn Value 34954f38fcaSMauro Carvalho Chehab============ 35054f38fcaSMauro Carvalho Chehab 35154f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set 35254f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the 35354f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter. 35454f38fcaSMauro Carvalho Chehab 35554f38fcaSMauro Carvalho ChehabThe :ref:`ioctl CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` can return the following 35654f38fcaSMauro Carvalho Chehaberror codes: 35754f38fcaSMauro Carvalho Chehab 35854f38fcaSMauro Carvalho ChehabENOTTY 35954f38fcaSMauro Carvalho Chehab The ``CEC_CAP_LOG_ADDRS`` capability wasn't set, so this ioctl is not supported. 36054f38fcaSMauro Carvalho Chehab 36154f38fcaSMauro Carvalho ChehabEBUSY 36254f38fcaSMauro Carvalho Chehab The CEC adapter is currently configuring itself, or it is already configured and 36354f38fcaSMauro Carvalho Chehab ``num_log_addrs`` is non-zero, or another filehandle is in exclusive follower or 36454f38fcaSMauro Carvalho Chehab initiator mode, or the filehandle is in mode ``CEC_MODE_NO_INITIATOR``. 36554f38fcaSMauro Carvalho Chehab 36654f38fcaSMauro Carvalho ChehabEINVAL 36754f38fcaSMauro Carvalho Chehab The contents of struct :c:type:`cec_log_addrs` is invalid. 368