Merge greybus driver tree into 4.8-rc6
[cascardo/linux.git] / Documentation / media / uapi / v4l / vidioc-g-output.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _VIDIOC_G_OUTPUT:
4
5 **************************************
6 ioctl VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT
7 **************************************
8
9 Name
10 ====
11
12 VIDIOC_G_OUTPUT - VIDIOC_S_OUTPUT - Query or select the current video output
13
14
15 Synopsis
16 ========
17
18 .. cpp:function:: int ioctl( int fd, int request, int *argp )
19
20
21 Arguments
22 =========
23
24 ``fd``
25     File descriptor returned by :ref:`open() <func-open>`.
26
27 ``request``
28     VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT
29
30 ``argp``
31
32
33 Description
34 ===========
35
36 To query the current video output applications call the
37 :ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` ioctl with a pointer to an integer where the driver
38 stores the number of the output, as in the struct
39 :ref:`v4l2_output <v4l2-output>` ``index`` field. This ioctl will
40 fail only when there are no video outputs, returning the ``EINVAL`` error
41 code.
42
43 To select a video output applications store the number of the desired
44 output in an integer and call the :ref:`VIDIOC_S_OUTPUT <VIDIOC_G_OUTPUT>` ioctl with a
45 pointer to this integer. Side effects are possible. For example outputs
46 may support different video standards, so the driver may implicitly
47 switch the current standard. standard. Because of these possible side
48 effects applications must select an output before querying or
49 negotiating any other parameters.
50
51 Information about video outputs is available using the
52 :ref:`VIDIOC_ENUMOUTPUT` ioctl.
53
54
55 Return Value
56 ============
57
58 On success 0 is returned, on error -1 and the ``errno`` variable is set
59 appropriately. The generic error codes are described at the
60 :ref:`Generic Error Codes <gen-errors>` chapter.
61
62 EINVAL
63     The number of the video output is out of bounds, or there are no
64     video outputs at all.