PipeWire 1.4.1
|
Event loop interface More...
Files | |
file | loop.h |
spa/support/loop.h | |
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... | |
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) |
Macros | |
#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 1 |
#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 1 |
#define | SPA_VERSION_LOOP_UTILS_METHODS 0 |
Event loop interface
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) |
#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 1 |
#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 1 |
#define SPA_VERSION_LOOP_UTILS_METHODS 0 |
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 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 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 ) |