Merge remote-tracking branch 'lightnvm/for-next'
[deliverable/linux.git] / Documentation / media / uapi / mediactl / media-ioc-enum-entities.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _media_ioc_enum_entities:
4
5 *****************************
6 ioctl MEDIA_IOC_ENUM_ENTITIES
7 *****************************
8
9 Name
10 ====
11
12 MEDIA_IOC_ENUM_ENTITIES - Enumerate entities and their properties
13
14
15 Synopsis
16 ========
17
18 .. c:function:: int ioctl( int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp )
19 :name: MEDIA_IOC_ENUM_ENTITIES
20
21
22 Arguments
23 =========
24
25 ``fd``
26 File descriptor returned by :ref:`open() <media-func-open>`.
27
28 ``argp``
29
30
31 Description
32 ===========
33
34 To query the attributes of an entity, applications set the id field of a
35 struct :c:type:`media_entity_desc` structure and
36 call the MEDIA_IOC_ENUM_ENTITIES ioctl with a pointer to this
37 structure. The driver fills the rest of the structure or returns an
38 EINVAL error code when the id is invalid.
39
40 .. _media-ent-id-flag-next:
41
42 Entities can be enumerated by or'ing the id with the
43 ``MEDIA_ENT_ID_FLAG_NEXT`` flag. The driver will return information
44 about the entity with the smallest id strictly larger than the requested
45 one ('next entity'), or the ``EINVAL`` error code if there is none.
46
47 Entity IDs can be non-contiguous. Applications must *not* try to
48 enumerate entities by calling MEDIA_IOC_ENUM_ENTITIES with increasing
49 id's until they get an error.
50
51
52 .. c:type:: media_entity_desc
53
54 .. tabularcolumns:: |p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{11.5cm}|
55
56 .. flat-table:: struct media_entity_desc
57 :header-rows: 0
58 :stub-columns: 0
59 :widths: 1 1 1 1 8
60
61
62 - .. row 1
63
64 - __u32
65
66 - ``id``
67
68 -
69 -
70 - Entity id, set by the application. When the id is or'ed with
71 ``MEDIA_ENT_ID_FLAG_NEXT``, the driver clears the flag and returns
72 the first entity with a larger id.
73
74 - .. row 2
75
76 - char
77
78 - ``name``\ [32]
79
80 -
81 -
82 - Entity name as an UTF-8 NULL-terminated string.
83
84 - .. row 3
85
86 - __u32
87
88 - ``type``
89
90 -
91 -
92 - Entity type, see :ref:`media-entity-type` for details.
93
94 - .. row 4
95
96 - __u32
97
98 - ``revision``
99
100 -
101 -
102 - Entity revision. Always zero (obsolete)
103
104 - .. row 5
105
106 - __u32
107
108 - ``flags``
109
110 -
111 -
112 - Entity flags, see :ref:`media-entity-flag` for details.
113
114 - .. row 6
115
116 - __u32
117
118 - ``group_id``
119
120 -
121 -
122 - Entity group ID. Always zero (obsolete)
123
124 - .. row 7
125
126 - __u16
127
128 - ``pads``
129
130 -
131 -
132 - Number of pads
133
134 - .. row 8
135
136 - __u16
137
138 - ``links``
139
140 -
141 -
142 - Total number of outbound links. Inbound links are not counted in
143 this field.
144
145 - .. row 9
146
147 - union
148
149 - .. row 10
150
151 -
152 - struct
153
154 - ``dev``
155
156 -
157 - Valid for (sub-)devices that create a single device node.
158
159 - .. row 11
160
161 -
162 -
163 - __u32
164
165 - ``major``
166
167 - Device node major number.
168
169 - .. row 12
170
171 -
172 -
173 - __u32
174
175 - ``minor``
176
177 - Device node minor number.
178
179 - .. row 13
180
181 -
182 - __u8
183
184 - ``raw``\ [184]
185
186 -
187 -
188
189
190 Return Value
191 ============
192
193 On success 0 is returned, on error -1 and the ``errno`` variable is set
194 appropriately. The generic error codes are described at the
195 :ref:`Generic Error Codes <gen-errors>` chapter.
196
197 EINVAL
198 The struct :c:type:`media_entity_desc` ``id``
199 references a non-existing entity.
This page took 0.054778 seconds and 6 git commands to generate.