1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3.. _media-func-ioctl:
4
5*************
6media ioctl()
7*************
8
9Name
10====
11
12media-ioctl - Control a media device
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 request, void *argp )
24    :name: mc-ioctl
25
26Arguments
27=========
28
29``fd``
30    File descriptor returned by :c:func:`open() <mc-open>`.
31
32``request``
33    Media ioctl request code as defined in the media.h header file, for
34    example MEDIA_IOC_SETUP_LINK.
35
36``argp``
37    Pointer to a request-specific structure.
38
39
40Description
41===========
42
43The :ref:`ioctl() <media-func-ioctl>` function manipulates media device
44parameters. The argument ``fd`` must be an open file descriptor.
45
46The ioctl ``request`` code specifies the media 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 media ioctl requests and
51their parameters are located in the media.h header file. All media ioctl
52requests, 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
63Request-specific error codes are listed in the individual requests
64descriptions.
65
66When an ioctl that takes an output or read/write parameter fails, the
67parameter remains unmodified.
68