GPIO_GET_LINEINFO_WATCH_IOCTL

警告

此ioctl是GPIO字符设备用户空间API (v1)的一部分,已被GPIO_V2_GET_LINEINFO_WATCH_IOCTL取代。

名称

GPIO_GET_LINEINFO_WATCH_IOCTL - 启用监视线路的请求状态和配置信息的变化。

概要

GPIO_GET_LINEINFO_WATCH_IOCTL

int ioctl(int chip_fd, GPIO_GET_LINEINFO_WATCH_IOCTL, struct gpioline_info *info)

参数

chip_fd

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

info

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

描述

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

注意

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

线路信息不包括线路值。

必须使用GPIO_GET_LINEHANDLE_IOCTLGPIO_GET_LINEEVENT_IOCTL请求线路才能访问其值,并且线路事件可以使用GPIO_LINEEVENT_DATA_READ监视线路的事件。

默认情况下,打开GPIO芯片时,所有线路都处于未监视状态。

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

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

向已监视的线路添加监视会报错 (EBUSY)。

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

首次在5.7中添加。

返回值

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

出错时返回-1,并且errno变量被适当地设置。常见的错误代码在GPIO错误代码中描述。