5.6. ioctl MEDIA_IOC_ENUM_ENTITIES¶
5.6.1. 名称¶
MEDIA_IOC_ENUM_ENTITIES - 枚举实体及其属性
5.6.2. 概要¶
-
MEDIA_IOC_ENUM_ENTITIES¶
int ioctl(int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp)
5.6.3. 参数¶
fd
open()
返回的文件描述符。argp
指向 struct
media_entity_desc
的指针。
5.6.4. 描述¶
要查询实体的属性,应用程序设置 struct media_entity_desc
结构的 id 字段,并使用指向此结构的指针调用 MEDIA_IOC_ENUM_ENTITIES ioctl。如果 id 无效,驱动程序将填充结构的其余部分或返回 EINVAL 错误代码。
可以通过将 id 与 MEDIA_ENT_ID_FLAG_NEXT
标志进行或运算来枚举实体。驱动程序将返回有关 id 严格大于请求的 id 的最小实体(“下一个实体”)的信息,如果不存在则返回 EINVAL
错误代码。
实体 ID 可以是不连续的。应用程序不能尝试通过使用递增的 id 调用 MEDIA_IOC_ENUM_ENTITIES 直到出现错误来枚举实体。
-
type media_entity_desc¶
__u32 |
|
实体 ID,由应用程序设置。当 ID 与 |
|
char |
|
实体名称,作为以 NULL 结尾的 UTF-8 字符串。此名称在媒体拓扑中必须是唯一的。 |
|
__u32 |
|
实体类型,有关详细信息,请参见 媒体实体功能。 |
|
__u32 |
|
实体修订版本。始终为零(已过时) |
|
__u32 |
|
实体标志,有关详细信息,请参见 媒体实体标志。 |
|
__u32 |
|
实体组 ID。始终为零(已过时) |
|
__u16 |
|
pad 的数量 |
|
__u16 |
|
出站链接的总数。此字段中不计算入站链接。 |
|
__u32 |
|
保留用于将来的扩展。驱动程序和应用程序必须将数组设置为零。 |
|
union { |
(anonymous) |
||
struct |
|
对于创建单个设备节点(子)设备有效。 |
|
__u32 |
|
设备节点主号码。 |
|
__u32 |
|
设备节点次号码。 |
|
__u8 |
|
||
} |
5.6.5. 返回值¶
成功时返回 0,出错时返回 -1,并适当设置 errno
变量。通用错误代码在 通用错误代码 章节中进行了描述。
- EINVAL
struct
media_entity_desc
id
引用了一个不存在的实体。