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