ioctl MEDIA_IOC_ENUM_LINKS &manvol; MEDIA_IOC_ENUM_LINKS Enumerate all pads and links for a given entity int ioctl int fd int request struct media_links_enum *argp Arguments fd File descriptor returned by open(). request MEDIA_IOC_ENUM_LINKS argp Description To enumerate pads and/or links for a given entity, applications set the entity field of a &media-links-enum; structure and initialize the &media-pad-desc; and &media-link-desc; structure arrays pointed by the pads and links fields. They then call the MEDIA_IOC_ENUM_LINKS ioctl with a pointer to this structure. If the pads field is not NULL, the driver fills the pads array with information about the entity's pads. The array must have enough room to store all the entity's pads. The number of pads can be retrieved with the &MEDIA-IOC-ENUM-ENTITIES; ioctl. If the links field is not NULL, the driver fills the links array with information about the entity's outbound links. The array must have enough room to store all the entity's outbound links. The number of outbound links can be retrieved with the &MEDIA-IOC-ENUM-ENTITIES; ioctl. Only forward links that originate at one of the entity's source pads are returned during the enumeration process. struct <structname>media_links_enum</structname> &cs-str; __u32 entity Entity id, set by the application. struct &media-pad-desc; *pads Pointer to a pads array allocated by the application. Ignored if NULL. struct &media-link-desc; *links Pointer to a links array allocated by the application. Ignored if NULL. struct <structname>media_pad_desc</structname> &cs-str; __u32 entity ID of the entity this pad belongs to. __u16 index 0-based pad index. __u32 flags Pad flags, see for more details.
Media pad flags MEDIA_PAD_FL_SINK Input pad, relative to the entity. Input pads sink data and are targets of links. MEDIA_PAD_FL_SOURCE Output pad, relative to the entity. Output pads source data and are origins of links.
struct <structname>media_link_desc</structname> &cs-str; struct &media-pad-desc; source Pad at the origin of this link. struct &media-pad-desc; sink Pad at the target of this link. __u32 flags Link flags, see for more details. Media link flags MEDIA_LNK_FL_ENABLED The link is enabled and can be used to transfer media data. When two or more links target a sink pad, only one of them can be enabled at a time. MEDIA_LNK_FL_IMMUTABLE The link enabled state can't be modified at runtime. An immutable link is always enabled. MEDIA_LNK_FL_DYNAMIC The link enabled state can be modified during streaming. This flag is set by drivers and is read-only for applications. One and only one of MEDIA_PAD_FL_SINK and MEDIA_PAD_FL_SOURCE must be set for every pad.
&return-value; EINVAL The &media-links-enum; id references a non-existing entity.