GPIO line watch
- group line_watch
Accessors for the info event objects allowing to monitor changes in GPIO line status.
Callers are notified about changes in a line’s status due to GPIO uAPI calls. Each info event contains information about the event itself (timestamp, type) as well as a snapshot of line’s status in the form of a line-info object.
Enums
-
enum gpiod_info_event_type
Line status change event types.
Values:
-
enumerator GPIOD_INFO_EVENT_LINE_REQUESTED
Line has been requested.
-
enumerator GPIOD_INFO_EVENT_LINE_RELEASED
Previously requested line has been released.
-
enumerator GPIOD_INFO_EVENT_LINE_CONFIG_CHANGED
Line configuration has changed.
-
enumerator GPIOD_INFO_EVENT_LINE_REQUESTED
Functions
-
void gpiod_info_event_free(struct gpiod_info_event *event)
Free the info event object and release all associated resources.
- Parameters:
event – Info event to free.
-
enum gpiod_info_event_type gpiod_info_event_get_event_type(struct gpiod_info_event *event)
Get the event type of the status change event.
- Parameters:
event – Line status watch event.
- Returns:
One of GPIOD_INFO_EVENT_LINE_REQUESTED, GPIOD_INFO_EVENT_LINE_RELEASED or GPIOD_INFO_EVENT_LINE_CONFIG_CHANGED.
-
uint64_t gpiod_info_event_get_timestamp_ns(struct gpiod_info_event *event)
Get the timestamp of the event.
- Parameters:
event – Line status watch event.
- Returns:
Timestamp in nanoseconds, read from the monotonic clock.
-
struct gpiod_line_info *gpiod_info_event_get_line_info(struct gpiod_info_event *event)
Get the snapshot of line-info associated with the event.
Warning
Thread-safety: Since the line-info object is tied to the event, different threads may not operate on the event and line-info at the same time. The line-info can be copied using gpiod_line_info_copy in order to create a standalone object - which then may safely be used from a different thread concurrently.
- Parameters:
event – Line info event object.
- Returns:
Returns a pointer to the line-info object associated with the event. The object lifetime is tied to the event object, so the pointer must be not be freed by the caller.
-
enum gpiod_info_event_type