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