1.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 2.. c:namespace:: MC 3 4.. _request-func-ioctl: 5 6*************** 7request ioctl() 8*************** 9 10Name 11==== 12 13request-ioctl - Control a request file descriptor 14 15Synopsis 16======== 17 18.. code-block:: c 19 20 #include <sys/ioctl.h> 21 22``int ioctl(int fd, int cmd, void *argp)`` 23 24Arguments 25========= 26 27``fd`` 28 File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`. 29 30``cmd`` 31 The request ioctl command code as defined in the media.h header file, for 32 example :ref:`MEDIA_REQUEST_IOC_QUEUE`. 33 34``argp`` 35 Pointer to a request-specific structure. 36 37Description 38=========== 39 40The :ref:`ioctl() <request-func-ioctl>` function manipulates request 41parameters. The argument ``fd`` must be an open file descriptor. 42 43The ioctl ``cmd`` code specifies the request function to be called. It 44has encoded in it whether the argument is an input, output or read/write 45parameter, and the size of the argument ``argp`` in bytes. 46 47Macros and structures definitions specifying request ioctl commands and 48their parameters are located in the media.h header file. All request ioctl 49commands, their respective function and parameters are specified in 50:ref:`media-user-func`. 51 52Return Value 53============ 54 55On success 0 is returned, on error -1 and the ``errno`` variable is set 56appropriately. The generic error codes are described at the 57:ref:`Generic Error Codes <gen-errors>` chapter. 58 59Command-specific error codes are listed in the individual command 60descriptions. 61 62When an ioctl that takes an output or read/write parameter fails, the 63parameter remains unmodified. 64