162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci.. c:namespace:: CEC 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci.. _cec-func-ioctl: 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci*********** 762306a36Sopenharmony_cicec ioctl() 862306a36Sopenharmony_ci*********** 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciName 1162306a36Sopenharmony_ci==== 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cicec-ioctl - Control a cec device 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciSynopsis 1662306a36Sopenharmony_ci======== 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci.. code-block:: c 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci #include <sys/ioctl.h> 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci``int ioctl(int fd, int request, void *argp)`` 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciArguments 2562306a36Sopenharmony_ci========= 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci``fd`` 2862306a36Sopenharmony_ci File descriptor returned by :c:func:`open()`. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci``request`` 3162306a36Sopenharmony_ci CEC ioctl request code as defined in the cec.h header file, for 3262306a36Sopenharmony_ci example :ref:`CEC_ADAP_G_CAPS <CEC_ADAP_G_CAPS>`. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci``argp`` 3562306a36Sopenharmony_ci Pointer to a request-specific structure. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciDescription 3862306a36Sopenharmony_ci=========== 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciThe :c:func:`ioctl()` function manipulates cec device parameters. The 4162306a36Sopenharmony_ciargument ``fd`` must be an open file descriptor. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciThe ioctl ``request`` code specifies the cec function to be called. It 4462306a36Sopenharmony_cihas encoded in it whether the argument is an input, output or read/write 4562306a36Sopenharmony_ciparameter, and the size of the argument ``argp`` in bytes. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciMacros and structures definitions specifying cec ioctl requests and 4862306a36Sopenharmony_citheir parameters are located in the cec.h header file. All cec ioctl 4962306a36Sopenharmony_cirequests, their respective function and parameters are specified in 5062306a36Sopenharmony_ci:ref:`cec-user-func`. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciReturn Value 5362306a36Sopenharmony_ci============ 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciOn success 0 is returned, on error -1 and the ``errno`` variable is set 5662306a36Sopenharmony_ciappropriately. The generic error codes are described at the 5762306a36Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter. 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciRequest-specific error codes are listed in the individual requests 6062306a36Sopenharmony_cidescriptions. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciWhen an ioctl that takes an output or read/write parameter fails, the 6362306a36Sopenharmony_ciparameter remains unmodified. 64