.. -*- coding: utf-8; mode: rst -*- .. _media_ioc_enum_entities: ***************************** ioctl MEDIA_IOC_ENUM_ENTITIES ***************************** Name ==== MEDIA_IOC_ENUM_ENTITIES - Enumerate entities and their properties Synopsis ======== .. c:function:: int ioctl( int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp ) :name: MEDIA_IOC_ENUM_ENTITIES Arguments ========= ``fd`` File descriptor returned by :ref:`open() `. ``argp`` Description =========== To query the attributes of an entity, applications set the id field of a struct :c:type:`media_entity_desc` structure and call the MEDIA_IOC_ENUM_ENTITIES ioctl with a pointer to this structure. The driver fills the rest of the structure or returns an EINVAL error code when the id is invalid. .. _media-ent-id-flag-next: Entities can be enumerated by or'ing the id with the ``MEDIA_ENT_ID_FLAG_NEXT`` flag. The driver will return information about the entity with the smallest id strictly larger than the requested one ('next entity'), or the ``EINVAL`` error code if there is none. Entity IDs can be non-contiguous. Applications must *not* try to enumerate entities by calling MEDIA_IOC_ENUM_ENTITIES with increasing id's until they get an error. .. c:type:: media_entity_desc .. tabularcolumns:: |p{1.5cm}|p{1.7cm}|p{1.6cm}|p{1.5cm}|p{11.2cm}| .. flat-table:: struct media_entity_desc :header-rows: 0 :stub-columns: 0 :widths: 1 1 1 1 8 - .. row 1 - __u32 - ``id`` - - - Entity id, set by the application. When the id is or'ed with ``MEDIA_ENT_ID_FLAG_NEXT``, the driver clears the flag and returns the first entity with a larger id. - .. row 2 - char - ``name``\ [32] - - - Entity name as an UTF-8 NULL-terminated string. - .. row 3 - __u32 - ``type`` - - - Entity type, see :ref:`media-entity-type` for details. - .. row 4 - __u32 - ``revision`` - - - Entity revision. Always zero (obsolete) - .. row 5 - __u32 - ``flags`` - - - Entity flags, see :ref:`media-entity-flag` for details. - .. row 6 - __u32 - ``group_id`` - - - Entity group ID. Always zero (obsolete) - .. row 7 - __u16 - ``pads`` - - - Number of pads - .. row 8 - __u16 - ``links`` - - - Total number of outbound links. Inbound links are not counted in this field. - .. row 9 - __u32 - ``reserved[4]`` - - - Reserved for future extensions. Drivers and applications must set the array to zero. - .. row 10 - union - .. row 11 - - struct - ``dev`` - - Valid for (sub-)devices that create a single device node. - .. row 12 - - - __u32 - ``major`` - Device node major number. - .. row 13 - - - __u32 - ``minor`` - Device node minor number. - .. row 14 - - __u8 - ``raw``\ [184] - - Return Value ============ On success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter. EINVAL The struct :c:type:`media_entity_desc` ``id`` references a non-existing entity.