5.7. ioctl MEDIA_IOC_ENUM_LINKS¶
5.7.1. 名称¶
MEDIA_IOC_ENUM_LINKS - 枚举给定实体的所有pad和link
5.7.2. 概要¶
-
MEDIA_IOC_ENUM_LINKS¶
int ioctl(int fd, MEDIA_IOC_ENUM_LINKS, struct media_links_enum *argp)
5.7.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向struct
media_links_enum
的指针。
5.7.4. 描述¶
要枚举给定实体的pad和/或link,应用程序需要设置struct media_links_enum
结构的entity字段,并初始化由pads
和links
字段指向的struct media_pad_desc
和struct media_link_desc
结构数组。然后,它们使用指向此结构的指针调用MEDIA_IOC_ENUM_LINKS ioctl。
如果pads
字段不为NULL,则驱动程序将使用有关实体的pad的信息填充pads
数组。 该数组必须有足够的空间来存储实体的所有pad。 pad的数量可以使用ioctl MEDIA_IOC_ENUM_ENTITIES检索。
如果links
字段不为NULL,则驱动程序将使用有关实体的出站link的信息填充links
数组。 该数组必须有足够的空间来存储实体的所有出站link。 出站link的数量可以使用ioctl MEDIA_IOC_ENUM_ENTITIES检索。
在枚举过程中,仅返回源自实体源pad的前向link。
-
type media_links_enum¶
__u32 |
|
实体id,由应用程序设置。 |
struct |
* |
指向应用程序分配的pad数组的指针。如果为NULL,则忽略。 |
struct |
* |
指向应用程序分配的link数组的指针。如果为NULL,则忽略。 |
__u32 |
|
保留以供将来扩展。驱动程序和应用程序必须将数组设置为零。 |
-
type media_pad_desc¶
__u32 |
|
ID of the entity this pad belongs to. |
__u16 |
|
Pad 索引,从 0 开始。 |
__u32 |
|
Pad 标志,有关更多详细信息,请参见Media pad flags。 |
__u32 |
|
保留以供将来扩展。驱动程序和应用程序必须将数组设置为零。 |
-
type media_link_desc¶
struct |
|
此link起点的Pad。 |
struct |
|
此link目标的Pad。 |
__u32 |
|
Link 标志,有关更多详细信息,请参见Media link flags。 |
__u32 |
|
保留以供将来扩展。驱动程序和应用程序必须将数组设置为零。 |
5.7.5. 返回值¶
成功时返回0,出错时返回-1,并适当设置errno
变量。通用错误代码在Generic Error Codes章节中描述。
- EINVAL
struct
media_links_enum
id
引用了不存在的实体。