libgpiod  2.1
Enumerations | Functions
Line status watch events

Accessors for the info event objects allowing to monitor changes in GPIO line status. More...

Enumerations

enum  gpiod_info_event_type { GPIOD_INFO_EVENT_LINE_REQUESTED = 1, GPIOD_INFO_EVENT_LINE_RELEASED, GPIOD_INFO_EVENT_LINE_CONFIG_CHANGED }
 Line status change event types. More...
 

Functions

void gpiod_info_event_free (struct gpiod_info_event *event)
 Free the info event object and release all associated resources. More...
 
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. More...
 
uint64_t gpiod_info_event_get_timestamp_ns (struct gpiod_info_event *event)
 Get the timestamp of the event. More...
 
struct gpiod_line_infogpiod_info_event_get_line_info (struct gpiod_info_event *event)
 Get the snapshot of line-info associated with the event. More...
 

Detailed Description

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.

Enumeration Type Documentation

Line status change event types.

Enumerator
GPIOD_INFO_EVENT_LINE_REQUESTED 

Line has been requested.

GPIOD_INFO_EVENT_LINE_RELEASED 

Previously requested line has been released.

GPIOD_INFO_EVENT_LINE_CONFIG_CHANGED 

Line configuration has changed.

Definition at line 597 of file gpiod.h.

Function Documentation

void gpiod_info_event_free ( struct gpiod_info_event event)

Free the info event object and release all associated resources.

Parameters
eventInfo 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
eventLine status watch event.
Returns
One of GPIOD_INFO_EVENT_LINE_REQUESTED, GPIOD_INFO_EVENT_LINE_RELEASED or GPIOD_INFO_EVENT_LINE_CONFIG_CHANGED.
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.

Parameters
eventLine 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.
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.
uint64_t gpiod_info_event_get_timestamp_ns ( struct gpiod_info_event event)

Get the timestamp of the event.

Parameters
eventLine status watch event.
Returns
Timestamp in nanoseconds, read from the monotonic clock.