1 .. -*- coding: utf-8; mode: rst -*-
3 .. _media_ioc_enum_entities:
5 *****************************
6 ioctl MEDIA_IOC_ENUM_ENTITIES
7 *****************************
12 MEDIA_IOC_ENUM_ENTITIES - Enumerate entities and their properties
18 .. c:function:: int ioctl( int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp )
19 :name: MEDIA_IOC_ENUM_ENTITIES
26 File descriptor returned by :ref:`open() <media-func-open>`.
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.
40 .. _media-ent-id-flag-next:
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.
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.
52 .. c:type:: media_entity_desc
54 .. tabularcolumns:: |p{1.5cm}|p{1.7cm}|p{1.6cm}|p{1.5cm}|p{11.2cm}|
56 .. flat-table:: struct media_entity_desc
65 - Entity id, set by the application. When the id is or'ed with
66 ``MEDIA_ENT_ID_FLAG_NEXT``, the driver clears the flag and returns
67 the first entity with a larger id.
73 - Entity name as an UTF-8 NULL-terminated string.
79 - Entity type, see :ref:`media-entity-functions` for details.
85 - Entity revision. Always zero (obsolete)
91 - Entity flags, see :ref:`media-entity-flag` for details.
97 - Entity group ID. Always zero (obsolete)
109 - Total number of outbound links. Inbound links are not counted in
116 - Reserved for future extensions. Drivers and applications must set
125 - Valid for (sub-)devices that create a single device node.
131 - Device node major number.
137 - Device node minor number.
149 On success 0 is returned, on error -1 and the ``errno`` variable is set
150 appropriately. The generic error codes are described at the
151 :ref:`Generic Error Codes <gen-errors>` chapter.
154 The struct :c:type:`media_entity_desc` ``id``
155 references a non-existing entity.