Commit | Line | Data |
---|---|---|
5377d91f MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
af4a4d0d | 3 | .. _VIDIOC_SUBDEV_ENUM_MBUS_CODE: |
5377d91f MH |
4 | |
5 | ********************************** | |
6 | ioctl VIDIOC_SUBDEV_ENUM_MBUS_CODE | |
7 | ********************************** | |
8 | ||
9 | *man VIDIOC_SUBDEV_ENUM_MBUS_CODE(2)* | |
10 | ||
11 | Enumerate media bus formats | |
12 | ||
13 | ||
14 | Synopsis | |
15 | ======== | |
16 | ||
17 | .. c:function:: int ioctl( int fd, int request, struct v4l2_subdev_mbus_code_enum * argp ) | |
18 | ||
19 | Arguments | |
20 | ========= | |
21 | ||
22 | ``fd`` | |
23 | File descriptor returned by :ref:`open() <func-open>`. | |
24 | ||
25 | ``request`` | |
26 | VIDIOC_SUBDEV_ENUM_MBUS_CODE | |
27 | ||
28 | ``argp`` | |
29 | ||
30 | ||
31 | Description | |
32 | =========== | |
33 | ||
34 | To enumerate media bus formats available at a given sub-device pad | |
35 | applications initialize the ``pad``, ``which`` and ``index`` fields of | |
36 | struct | |
37 | :ref:`v4l2_subdev_mbus_code_enum <v4l2-subdev-mbus-code-enum>` and | |
38 | call the ``VIDIOC_SUBDEV_ENUM_MBUS_CODE`` ioctl with a pointer to this | |
39 | structure. Drivers fill the rest of the structure or return an EINVAL | |
40 | error code if either the ``pad`` or ``index`` are invalid. All media bus | |
41 | formats are enumerable by beginning at index zero and incrementing by | |
42 | one until EINVAL is returned. | |
43 | ||
44 | Available media bus formats may depend on the current 'try' formats at | |
45 | other pads of the sub-device, as well as on the current active links. | |
af4a4d0d | 46 | See :ref:`VIDIOC_SUBDEV_G_FMT <VIDIOC_SUBDEV_G_FMT>` for more |
5377d91f MH |
47 | information about the try formats. |
48 | ||
49 | ||
50 | .. _v4l2-subdev-mbus-code-enum: | |
51 | ||
52 | .. flat-table:: struct v4l2_subdev_mbus_code_enum | |
53 | :header-rows: 0 | |
54 | :stub-columns: 0 | |
55 | :widths: 1 1 2 | |
56 | ||
57 | ||
58 | - .. row 1 | |
59 | ||
60 | - __u32 | |
61 | ||
62 | - ``pad`` | |
63 | ||
64 | - Pad number as reported by the media controller API. | |
65 | ||
66 | - .. row 2 | |
67 | ||
68 | - __u32 | |
69 | ||
70 | - ``index`` | |
71 | ||
72 | - Number of the format in the enumeration, set by the application. | |
73 | ||
74 | - .. row 3 | |
75 | ||
76 | - __u32 | |
77 | ||
78 | - ``code`` | |
79 | ||
80 | - The media bus format code, as defined in | |
81 | :ref:`v4l2-mbus-format`. | |
82 | ||
83 | - .. row 4 | |
84 | ||
85 | - __u32 | |
86 | ||
87 | - ``which`` | |
88 | ||
89 | - Media bus format codes to be enumerated, from enum | |
90 | :ref:`v4l2_subdev_format_whence <v4l2-subdev-format-whence>`. | |
91 | ||
92 | - .. row 5 | |
93 | ||
94 | - __u32 | |
95 | ||
96 | - ``reserved``\ [8] | |
97 | ||
98 | - Reserved for future extensions. Applications and drivers must set | |
99 | the array to zero. | |
100 | ||
101 | ||
102 | ||
103 | Return Value | |
104 | ============ | |
105 | ||
106 | On success 0 is returned, on error -1 and the ``errno`` variable is set | |
107 | appropriately. The generic error codes are described at the | |
108 | :ref:`Generic Error Codes <gen-errors>` chapter. | |
109 | ||
110 | EINVAL | |
111 | The struct | |
112 | :ref:`v4l2_subdev_mbus_code_enum <v4l2-subdev-mbus-code-enum>` | |
113 | ``pad`` references a non-existing pad, or the ``index`` field is out | |
114 | of bounds. | |
115 | ||
116 | ||
117 | .. ------------------------------------------------------------------------------ | |
118 | .. This file was automatically converted from DocBook-XML with the dbxml | |
119 | .. library (https://github.com/return42/sphkerneldoc). The origin XML comes | |
120 | .. from the linux kernel, refer to: | |
121 | .. | |
122 | .. * https://github.com/torvalds/linux/tree/master/Documentation/DocBook | |
123 | .. ------------------------------------------------------------------------------ |