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
结构的实体字段,并初始化由 pads
和 links
字段指向的 struct media_pad_desc
和 struct media_link_desc
结构数组。然后,它们使用指向此结构的指针调用 MEDIA_IOC_ENUM_LINKS ioctl。
如果 pads
字段不为 NULL,驱动程序将使用有关实体 pad 的信息填充 pads
数组。该数组必须有足够的空间来存储实体的所有 pad。可以使用 ioctl MEDIA_IOC_ENUM_ENTITIES 检索 pad 的数量。
如果 links
字段不为 NULL,驱动程序将使用有关实体出站 link 的信息填充 links
数组。该数组必须有足够的空间来存储实体的所有出站 link。可以使用 ioctl MEDIA_IOC_ENUM_ENTITIES 检索出站 link 的数量。
在枚举过程中,仅返回源自实体源 pad 之一的前向 link。
-
类型 media_links_enum¶
__u32 |
|
实体 ID,由应用程序设置。 |
struct |
* |
指向由应用程序分配的 pads 数组的指针。如果为 NULL 则忽略。 |
struct |
* |
指向由应用程序分配的 links 数组的指针。如果为 NULL 则忽略。 |
__u32 |
|
保留供将来扩展。驱动程序和应用程序必须将数组设置为零。 |
-
类型 media_pad_desc¶
__u32 |
|
ID of the entity this pad belongs to. |
__u16 |
|
Pad 索引,从 0 开始。 |
__u32 |
|
Pad 标志,有关详细信息,请参见 媒体 pad 标志。 |
__u32 |
|
保留供将来扩展。驱动程序和应用程序必须将数组设置为零。 |
-
类型 media_link_desc¶
struct |
|
此 link 起始端的 Pad。 |
struct |
|
此 link 目标端的 Pad。 |
__u32 |
|
Link 标志,有关详细信息,请参见 媒体 link 标志。 |
__u32 |
|
保留供将来扩展。驱动程序和应用程序必须将数组设置为零。 |
5.7.5. 返回值¶
成功时返回 0,失败时返回 -1 并设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
struct
media_links_enum
id
引用一个不存在的实体。