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

GPIO字元裝置的檔案描述符,由open()返回。

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錯誤程式碼中描述。