Merge tag 'fuse-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszered...
[sfrench/cifs-2.6.git] / Documentation / media / uapi / mediactl / request-func-ioctl.rst
1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-or-later WITH no-invariant-sections
2
3 .. _request-func-ioctl:
4
5 ***************
6 request ioctl()
7 ***************
8
9 Name
10 ====
11
12 request-ioctl - Control a request file descriptor
13
14
15 Synopsis
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
26 Arguments
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
40 Description
41 ===========
42
43 The :ref:`ioctl() <request-func-ioctl>` function manipulates request
44 parameters. The argument ``fd`` must be an open file descriptor.
45
46 The ioctl ``cmd`` code specifies the request function to be called. It
47 has encoded in it whether the argument is an input, output or read/write
48 parameter, and the size of the argument ``argp`` in bytes.
49
50 Macros and structures definitions specifying request ioctl commands and
51 their parameters are located in the media.h header file. All request ioctl
52 commands, their respective function and parameters are specified in
53 :ref:`media-user-func`.
54
55
56 Return Value
57 ============
58
59 On success 0 is returned, on error -1 and the ``errno`` variable is set
60 appropriately. The generic error codes are described at the
61 :ref:`Generic Error Codes <gen-errors>` chapter.
62
63 Command-specific error codes are listed in the individual command
64 descriptions.
65
66 When an ioctl that takes an output or read/write parameter fails, the
67 parameter remains unmodified.