Logo

Linux 内核

6.13.0-rc6

快速搜索

目录

  • 开发流程
  • 提交补丁
  • 行为准则
  • 维护者手册
  • 所有开发流程文档
  • 核心 API
  • 驱动程序 API
  • 子系统
  • 锁定
  • 许可规则
  • 编写文档
  • 开发工具
  • 测试指南
  • 黑客指南
  • 追踪
  • 故障注入
  • 热补丁
  • Rust
  • 管理
  • 构建系统
  • 报告问题
  • 用户空间工具
  • 用户空间 API
    • 系统调用
    • 安全相关接口
    • 设备和 I/O
      • OpenCAPI (开放一致加速器处理器接口)
      • 交换像素缓冲区
      • GPIO
      • IOMMUFD
      • Linux 媒体基础设施用户空间 API
      • 戴尔系统管理基本驱动程序
      • VDUSE - “用户空间中的 vDPA 设备”
      • ISA 即插即用支持
    • 其他一切
  • 固件
  • 固件和设备树
  • CPU 架构
  • 未分类文档
  • 翻译

本页

  • 显示源代码

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¶
struct media_links_enum¶

__u32

entity

实体 ID,由应用程序设置。

struct media_pad_desc

*pads

指向由应用程序分配的 pads 数组的指针。如果为 NULL 则忽略。

struct media_link_desc

*links

指向由应用程序分配的 links 数组的指针。如果为 NULL 则忽略。

__u32

reserved[4]

保留供将来扩展。驱动程序和应用程序必须将数组设置为零。

类型 media_pad_desc¶
struct media_pad_desc¶

__u32

entity

ID of the entity this pad belongs to.

__u16

index

Pad 索引,从 0 开始。

__u32

flags

Pad 标志,有关详细信息,请参见 媒体 pad 标志。

__u32

reserved[2]

保留供将来扩展。驱动程序和应用程序必须将数组设置为零。

类型 media_link_desc¶
struct media_link_desc¶

struct media_pad_desc

source

此 link 起始端的 Pad。

struct media_pad_desc

sink

此 link 目标端的 Pad。

__u32

flags

Link 标志,有关详细信息,请参见 媒体 link 标志。

__u32

reserved[2]

保留供将来扩展。驱动程序和应用程序必须将数组设置为零。

5.7.5. 返回值¶

成功时返回 0,失败时返回 -1 并设置 errno 变量。通用错误代码在 通用错误代码 章节中描述。

EINVAL

struct media_links_enum id 引用一个不存在的实体。

©内核开发社区。 | 由 Sphinx 5.3.0 & Alabaster 0.7.16 驱动 | 页面源代码