18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci.. c:namespace:: MC 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci.. _request-func-ioctl: 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci*************** 78c2ecf20Sopenharmony_cirequest ioctl() 88c2ecf20Sopenharmony_ci*************** 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciName 118c2ecf20Sopenharmony_ci==== 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cirequest-ioctl - Control a request file descriptor 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciSynopsis 168c2ecf20Sopenharmony_ci======== 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci.. code-block:: c 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci #include <sys/ioctl.h> 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci``int ioctl(int fd, int cmd, void *argp)`` 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciArguments 258c2ecf20Sopenharmony_ci========= 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci``fd`` 288c2ecf20Sopenharmony_ci File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`. 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci``cmd`` 318c2ecf20Sopenharmony_ci The request ioctl command code as defined in the media.h header file, for 328c2ecf20Sopenharmony_ci example :ref:`MEDIA_REQUEST_IOC_QUEUE`. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci``argp`` 358c2ecf20Sopenharmony_ci Pointer to a request-specific structure. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciDescription 388c2ecf20Sopenharmony_ci=========== 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciThe :ref:`ioctl() <request-func-ioctl>` function manipulates request 418c2ecf20Sopenharmony_ciparameters. The argument ``fd`` must be an open file descriptor. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciThe ioctl ``cmd`` code specifies the request function to be called. It 448c2ecf20Sopenharmony_cihas encoded in it whether the argument is an input, output or read/write 458c2ecf20Sopenharmony_ciparameter, and the size of the argument ``argp`` in bytes. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciMacros and structures definitions specifying request ioctl commands and 488c2ecf20Sopenharmony_citheir parameters are located in the media.h header file. All request ioctl 498c2ecf20Sopenharmony_cicommands, their respective function and parameters are specified in 508c2ecf20Sopenharmony_ci:ref:`media-user-func`. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciReturn Value 538c2ecf20Sopenharmony_ci============ 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ciOn success 0 is returned, on error -1 and the ``errno`` variable is set 568c2ecf20Sopenharmony_ciappropriately. The generic error codes are described at the 578c2ecf20Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciCommand-specific error codes are listed in the individual command 608c2ecf20Sopenharmony_cidescriptions. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciWhen an ioctl that takes an output or read/write parameter fails, the 638c2ecf20Sopenharmony_ciparameter remains unmodified. 64