PipeWire: spa/support/loop.h File Reference

PipeWire 1.6.8

Loading...
Searching...
No Matches
loop.h File Reference
SPA » Support » Loop

spa/support/loop.h More...

Go to the source code of this file.

## Data Structures
struct | spa_loop
struct | spa_loop_control
struct | spa_loop_utils
struct | spa_source
struct | spa_loop_methods
| Register sources and work items to an event loop. More...
struct | spa_loop_control_hooks
| Control hooks. More...
struct | spa_loop_control_methods
| Control an event loop. More...
struct | spa_loop_utils_methods
| Create sources for an event loop. More...

## Macros
#define | SPA_API_LOOP static inline
#define | SPA_TYPE_INTERFACE_Loop SPA_TYPE_INFO_INTERFACE_BASE "Loop"
#define | SPA_TYPE_INTERFACE_DataLoop SPA_TYPE_INFO_INTERFACE_BASE "DataLoop"
#define | SPA_VERSION_LOOP 0
#define | SPA_TYPE_INTERFACE_LoopControl SPA_TYPE_INFO_INTERFACE_BASE "LoopControl"
#define | SPA_VERSION_LOOP_CONTROL 2
#define | SPA_TYPE_INTERFACE_LoopUtils SPA_TYPE_INFO_INTERFACE_BASE "LoopUtils"
#define | SPA_VERSION_LOOP_UTILS 0
#define | SPA_VERSION_LOOP_METHODS 0
#define | SPA_VERSION_LOOP_CONTROL_HOOKS 0
#define | SPA_VERSION_LOOP_CONTROL_METHODS 2
#define | SPA_VERSION_LOOP_UTILS_METHODS 0

## Typedefs
typedef void(* | spa_source_func_t) (struct spa_source *source)
typedef int(* | spa_invoke_func_t) (struct spa_loop *loop, bool async, uint32_t seq, const void *data, size_t size, void *user_data)
typedef void(* | spa_source_io_func_t) (void *data, int fd, uint32_t mask)
typedef void(* | spa_source_idle_func_t) (void *data)
typedef void(* | spa_source_event_func_t) (void *data, uint64_t count)
typedef void(* | spa_source_timer_func_t) (void *data, uint64_t expirations)
typedef void(* | spa_source_signal_func_t) (void *data, int signal_number)

## Functions
SPA_API_LOOP int | spa_loop_add_source (struct spa_loop *object, struct spa_source *source)
SPA_API_LOOP int | spa_loop_update_source (struct spa_loop *object, struct spa_source *source)
SPA_API_LOOP int | spa_loop_remove_source (struct spa_loop *object, struct spa_source *source)
SPA_API_LOOP int | spa_loop_invoke (struct spa_loop *object, spa_invoke_func_t func, uint32_t seq, const void *data, size_t size, bool block, void *user_data)
SPA_API_LOOP int | spa_loop_locked (struct spa_loop *object, spa_invoke_func_t func, uint32_t seq, const void *data, size_t size, void *user_data)
SPA_API_LOOP void | spa_loop_control_hook_before (struct spa_hook_list *l)
SPA_API_LOOP void | spa_loop_control_hook_after (struct spa_hook_list *l)
SPA_API_LOOP int | spa_loop_control_get_fd (struct spa_loop_control *object)
SPA_API_LOOP void | spa_loop_control_add_hook (struct spa_loop_control *object, struct spa_hook *hook, const struct spa_loop_control_hooks *hooks, void *data)
SPA_API_LOOP void | spa_loop_control_enter (struct spa_loop_control *object)
SPA_API_LOOP void | spa_loop_control_leave (struct spa_loop_control *object)
SPA_API_LOOP int | spa_loop_control_iterate (struct spa_loop_control *object, int timeout)
SPA_API_LOOP int | spa_loop_control_iterate_fast (struct spa_loop_control *object, int timeout)
SPA_API_LOOP int | spa_loop_control_check (struct spa_loop_control *object)
SPA_API_LOOP int | spa_loop_control_lock (struct spa_loop_control *object)
SPA_API_LOOP int | spa_loop_control_unlock (struct spa_loop_control *object)
SPA_API_LOOP int | spa_loop_control_get_time (struct spa_loop_control *object, struct timespec *abstime, int64_t timeout)
SPA_API_LOOP int | spa_loop_control_wait (struct spa_loop_control *object, const struct timespec *abstime)
SPA_API_LOOP int | spa_loop_control_signal (struct spa_loop_control *object, bool wait_for_accept)
SPA_API_LOOP int | spa_loop_control_accept (struct spa_loop_control *object)
SPA_API_LOOP struct spa_source * | spa_loop_utils_add_io (struct spa_loop_utils *object, int fd, uint32_t mask, bool close, spa_source_io_func_t func, void *data)
SPA_API_LOOP int | spa_loop_utils_update_io (struct spa_loop_utils *object, struct spa_source *source, uint32_t mask)
SPA_API_LOOP struct spa_source * | spa_loop_utils_add_idle (struct spa_loop_utils *object, bool enabled, spa_source_idle_func_t func, void *data)
SPA_API_LOOP int | spa_loop_utils_enable_idle (struct spa_loop_utils *object, struct spa_source *source, bool enabled)
SPA_API_LOOP struct spa_source * | spa_loop_utils_add_event (struct spa_loop_utils *object, spa_source_event_func_t func, void *data)
SPA_API_LOOP int | spa_loop_utils_signal_event (struct spa_loop_utils *object, struct spa_source *source)
SPA_API_LOOP struct spa_source * | spa_loop_utils_add_timer (struct spa_loop_utils *object, spa_source_timer_func_t func, void *data)
SPA_API_LOOP int | spa_loop_utils_update_timer (struct spa_loop_utils *object, struct spa_source *source, struct timespec *value, struct timespec *interval, bool absolute)
SPA_API_LOOP struct spa_source * | spa_loop_utils_add_signal (struct spa_loop_utils *object, int signal_number, spa_source_signal_func_t func, void *data)
SPA_API_LOOP void | spa_loop_utils_destroy_source (struct spa_loop_utils *object, struct spa_source *source)

## Detailed Description

spa/support/loop.h

## Macro Definition Documentation

## ◆ SPA_API_LOOP

#define SPA_API_LOOP static inline