GPIO_V2_GET_LINEINFO_WATCH_IOCTL

名称

GPIO_V2_GET_LINEINFO_WATCH_IOCTL - 启用监视线路的请求状态和配置信息更改。

概要

GPIO_V2_GET_LINEINFO_WATCH_IOCTL

int ioctl(int chip_fd, GPIO_V2_GET_LINEINFO_WATCH_IOCTL, struct gpio_v2_line_info *info)

参数

chip_fd

open() 返回的 GPIO 字符设备的文件描述符。

info

要填充的 line_info 结构体,其中 offset 设置为指示要监视的线路

描述

启用监视线路的请求状态和配置信息更改。线路信息更改包括线路被请求、释放或重新配置。

注意

通常不需要监视线路信息,通常只由系统监控组件使用。

线路信息不包含线路值。必须使用 GPIO_V2_GET_LINE_IOCTL 请求线路以访问其值,并且线路请求可以使用 GPIO_V2_LINE_EVENT_READ 监视线路事件。

默认情况下,打开 GPIO 芯片时,所有线路都将取消监视。

可以通过为每个线路添加监视来同时监视多条线路。

设置监视后,对线路信息的任何更改都将生成事件,可以从 chip_fd 读取,如 GPIO_V2_LINEINFO_CHANGED_READ 中所述。

向已监视的线路添加监视是一个错误 (EBUSY)。

监视特定于 chip_fd,并且独立于使用单独调用 open() 打开的同一 GPIO 芯片上的监视。

返回值

成功时返回 0,并且 info 将填充当前线路信息。

失败时返回 -1,并且 errno 变量将设置为适当的值。常见的错误代码在 GPIO 错误代码 中进行了描述。