Merge remote-tracking branch 'regmap/fix/cache' into regmap-linus
[cascardo/linux.git] / Documentation / media / uapi / v4l / vidioc-g-priority.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _VIDIOC_G_PRIORITY:
4
5 ******************************************
6 ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
7 ******************************************
8
9 Name
10 ====
11
12 VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor
13
14
15 Synopsis
16 ========
17
18 .. cpp:function:: int ioctl( int fd, int request, enum v4l2_priority *argp )
19
20 .. cpp:function:: int ioctl( int fd, int request, const enum v4l2_priority *argp )
21
22
23 Arguments
24 =========
25
26 ``fd``
27     File descriptor returned by :ref:`open() <func-open>`.
28
29 ``request``
30     VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
31
32 ``argp``
33     Pointer to an enum v4l2_priority type.
34
35
36 Description
37 ===========
38
39 To query the current access priority applications call the
40 :ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` ioctl with a pointer to an enum v4l2_priority
41 variable where the driver stores the current priority.
42
43 To request an access priority applications store the desired priority in
44 an enum v4l2_priority variable and call :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl
45 with a pointer to this variable.
46
47
48 .. _v4l2-priority:
49
50 .. flat-table:: enum v4l2_priority
51     :header-rows:  0
52     :stub-columns: 0
53     :widths:       3 1 4
54
55
56     -  .. row 1
57
58        -  ``V4L2_PRIORITY_UNSET``
59
60        -  0
61
62        -
63
64     -  .. row 2
65
66        -  ``V4L2_PRIORITY_BACKGROUND``
67
68        -  1
69
70        -  Lowest priority, usually applications running in background, for
71           example monitoring VBI transmissions. A proxy application running
72           in user space will be necessary if multiple applications want to
73           read from a device at this priority.
74
75     -  .. row 3
76
77        -  ``V4L2_PRIORITY_INTERACTIVE``
78
79        -  2
80
81        -
82
83     -  .. row 4
84
85        -  ``V4L2_PRIORITY_DEFAULT``
86
87        -  2
88
89        -  Medium priority, usually applications started and interactively
90           controlled by the user. For example TV viewers, Teletext browsers,
91           or just "panel" applications to change the channel or video
92           controls. This is the default priority unless an application
93           requests another.
94
95     -  .. row 5
96
97        -  ``V4L2_PRIORITY_RECORD``
98
99        -  3
100
101        -  Highest priority. Only one file descriptor can have this priority,
102           it blocks any other fd from changing device properties. Usually
103           applications which must not be interrupted, like video recording.
104
105
106 Return Value
107 ============
108
109 On success 0 is returned, on error -1 and the ``errno`` variable is set
110 appropriately. The generic error codes are described at the
111 :ref:`Generic Error Codes <gen-errors>` chapter.
112
113 EINVAL
114     The requested priority value is invalid.
115
116 EBUSY
117     Another application already requested higher priority.