Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / Documentation / userspace-api / media / v4l / vidioc-g-output.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2 .. c:namespace:: V4L
3
4 .. _VIDIOC_G_OUTPUT:
5
6 **************************************
7 ioctl VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT
8 **************************************
9
10 Name
11 ====
12
13 VIDIOC_G_OUTPUT - VIDIOC_S_OUTPUT - Query or select the current video output
14
15 Synopsis
16 ========
17
18 .. c:macro:: VIDIOC_G_OUTPUT
19
20 ``int ioctl(int fd, VIDIOC_G_OUTPUT, int *argp)``
21
22 .. c:macro:: VIDIOC_S_OUTPUT
23
24 ``int ioctl(int fd, VIDIOC_S_OUTPUT, int *argp)``
25
26 Arguments
27 =========
28
29 ``fd``
30     File descriptor returned by :c:func:`open()`.
31
32 ``argp``
33     Pointer to an integer with output index.
34
35 Description
36 ===========
37
38 To query the current video output applications call the
39 :ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` ioctl with a pointer to an integer where the driver
40 stores the number of the output, as in the struct
41 :c:type:`v4l2_output` ``index`` field. This ioctl will
42 fail only when there are no video outputs, returning the ``EINVAL`` error
43 code.
44
45 To select a video output applications store the number of the desired
46 output in an integer and call the :ref:`VIDIOC_S_OUTPUT <VIDIOC_G_OUTPUT>` ioctl with a
47 pointer to this integer. Side effects are possible. For example outputs
48 may support different video standards, so the driver may implicitly
49 switch the current standard. Because of these possible side
50 effects applications must select an output before querying or
51 negotiating any other parameters.
52
53 Information about video outputs is available using the
54 :ref:`VIDIOC_ENUMOUTPUT` ioctl.
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 EINVAL
64     The number of the video output is out of bounds, or there are no
65     video outputs at all.