ioctl MEDIA_IOC_ENUM_ENTITIES
&manvol;

# MEDIA_IOC_ENUM_ENTITIES

Enumerate entities and their properties

    	int ioctl
    	int fd
    	int request
    	struct media_entity_desc *argp

## Arguments

`fd`

  File descriptor returned by `open()`.

`request`

  MEDIA_IOC_ENUM_ENTITIES

`argp`

## Description

To query the attributes of an entity, applications set the id field of a &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; when the id is invalid.

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; 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.

### struct media_entity_desc

__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.
char | name[32] |  |  | Entity name as an UTF-8 NULL-terminated string.
__u32 | type |  |  | Entity type, see for details.
__u32 | revision |  |  | Entity revision. Always zero (obsolete)
__u32 | flags |  |  | Entity flags, see for details.
__u32 | group_id |  |  | Entity group ID. Always zero (obsolete)
__u16 | pads |  |  | Number of pads
__u16 | links |  |  | Total number of outbound links. Inbound links are not counted in this field.
union
| struct | dev |  | Valid for (sub-)devices that create a single device node.
|  | __u32 | major | Device node major number.
|  | __u32 | minor | Device node minor number.
| __u8 | raw[184] |  |

&return-value;

EINVAL

  The &media-entity-desc; id references a non-existing entity.