5 #ifndef PIPEWIRE_LOOP_H 6 #define PIPEWIRE_LOOP_H 37 #ifndef PW_API_LOOP_IMPL 38 #define PW_API_LOOP_IMPL static inline 63 size_t size,
bool block,
void *user_data)
131 struct timespec *interval,
bool absolute)
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)
Definition: loop.h:433
PW_API_LOOP_IMPL void pw_loop_destroy_source(struct pw_loop *object, struct spa_source *source)
Definition: loop.h:146
PW_API_LOOP_IMPL struct spa_source * pw_loop_add_event(struct pw_loop *object, spa_source_event_func_t func, void *data)
Definition: loop.h:120
SPA_API_LOOP void spa_loop_control_enter(struct spa_loop_control *object)
Definition: loop.h:313
PW_API_LOOP_IMPL int pw_loop_update_source(struct pw_loop *object, struct spa_source *source)
Definition: loop.h:58
spa_source_func_t func
Definition: loop.h:69
uint32_t mask
Definition: loop.h:72
PW_API_LOOP_IMPL int pw_loop_update_timer(struct pw_loop *object, struct spa_source *source, struct timespec *value, struct timespec *interval, bool absolute)
Definition: loop.h:134
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:427
struct pw_loop * pw_loop_new(const struct spa_dict *props)
Create a new loop.
Definition: loop.c:41
PW_API_LOOP_IMPL struct spa_source * pw_loop_add_idle(struct pw_loop *object, bool enabled, spa_source_idle_func_t func, void *data)
Definition: loop.h:109
PW_API_LOOP_IMPL int pw_loop_invoke(struct pw_loop *object, spa_invoke_func_t func, uint32_t seq, const void *data, size_t size, bool block, void *user_data)
Definition: loop.h:66
struct spa_loop * loop
wrapped loop
Definition: loop.h:35
PW_API_LOOP_IMPL int pw_loop_iterate(struct pw_loop *object, int timeout)
Definition: loop.h:91
SPA_API_LOOP struct spa_source * spa_loop_utils_add_timer(struct spa_loop_utils *object, spa_source_timer_func_t func, void *data)
Definition: loop.h:428
SPA_API_LOOP void spa_loop_utils_destroy_source(struct spa_loop_utils *object, struct spa_source *source)
Definition: loop.h:449
PW_API_LOOP_IMPL int pw_loop_remove_source(struct pw_loop *object, struct spa_source *source)
Definition: loop.h:62
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)
Definition: loop.h:306
int pw_loop_set_name(struct pw_loop *loop, const char *name)
Definition: loop.c:176
PW_API_LOOP_IMPL int pw_loop_get_fd(struct pw_loop *object)
Definition: loop.h:73
PW_API_LOOP_IMPL struct spa_source * pw_loop_add_timer(struct pw_loop *object, spa_source_timer_func_t func, void *data)
Definition: loop.h:130
SPA_API_LOOP int spa_loop_add_source(struct spa_loop *object, struct spa_source *source)
Definition: loop.h:157
void(* spa_source_signal_func_t)(void *data, int signal_number)
Definition: loop.h:343
PW_API_LOOP_IMPL struct spa_source * pw_loop_add_signal(struct pw_loop *object, int signal_number, spa_source_signal_func_t func, void *data)
Definition: loop.h:141
PW_API_LOOP_IMPL struct spa_source * pw_loop_add_io(struct pw_loop *object, int fd, uint32_t mask, bool close, spa_source_io_func_t func, void *data)
Definition: loop.h:98
struct spa_loop_control * control
loop control
Definition: loop.h:36
PW_API_LOOP_IMPL int pw_loop_signal_event(struct pw_loop *object, struct spa_source *source)
Definition: loop.h:124
SPA_API_LOOP int spa_loop_control_get_fd(struct spa_loop_control *object)
Definition: loop.h:301
PW_API_LOOP_IMPL void pw_loop_leave(struct pw_loop *object)
Definition: loop.h:87
Control hooks.
Definition: loop.h:184
void(* spa_source_io_func_t)(void *data, int fd, uint32_t mask)
Definition: loop.h:339
PW_API_LOOP_IMPL int pw_loop_enable_idle(struct pw_loop *object, struct spa_source *source, bool enabled)
Definition: loop.h:114
SPA_API_LOOP int spa_loop_utils_signal_event(struct spa_loop_utils *object, struct spa_source *source)
Definition: loop.h:421
void(* spa_source_timer_func_t)(void *data, uint64_t expirations)
Definition: loop.h:342
PW_API_LOOP_IMPL void pw_loop_enter(struct pw_loop *object)
Definition: loop.h:83
SPA_API_LOOP int spa_loop_control_iterate_fast(struct spa_loop_control *object, int timeout)
Definition: loop.h:327
int(* spa_invoke_func_t)(struct spa_loop *loop, bool async, uint32_t seq, const void *data, size_t size, void *user_data)
Definition: loop.h:78
int fd
Definition: loop.h:71
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)
Definition: loop.h:442
SPA_API_LOOP struct spa_source * spa_loop_utils_add_event(struct spa_loop_utils *object, spa_source_event_func_t func, void *data)
Definition: loop.h:416
struct spa_system * system
system utils
Definition: loop.h:34
void(* spa_source_event_func_t)(void *data, uint64_t count)
Definition: loop.h:341
void pw_loop_destroy(struct pw_loop *loop)
Destroy a loop.
Definition: loop.c:157
uint32_t int seq
Definition: core.h:432
void(* spa_source_idle_func_t)(void *data)
Definition: loop.h:340
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)
Definition: loop.h:172
SPA_API_LOOP int spa_loop_utils_enable_idle(struct spa_loop_utils *object, struct spa_source *source, bool enabled)
Definition: loop.h:409
PW_API_LOOP_IMPL int pw_loop_add_source(struct pw_loop *object, struct spa_source *source)
Definition: loop.h:54
void * data
Definition: loop.h:70
SPA_API_LOOP int spa_loop_utils_update_io(struct spa_loop_utils *object, struct spa_source *source, uint32_t mask)
Definition: loop.h:396
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)
Definition: loop.h:403
SPA_API_LOOP void spa_loop_control_leave(struct spa_loop_control *object)
Definition: loop.h:317
SPA_API_LOOP int spa_loop_remove_source(struct spa_loop *object, struct spa_source *source)
Definition: loop.h:167
SPA_API_LOOP int spa_loop_update_source(struct spa_loop *object, struct spa_source *source)
Definition: loop.h:162
PW_API_LOOP_IMPL void pw_loop_add_hook(struct pw_loop *object, struct spa_hook *hook, const struct spa_loop_control_hooks *hooks, void *data)
Definition: loop.h:77
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)
Definition: loop.h:390
#define PW_API_LOOP_IMPL
Definition: loop.h:43
PW_API_LOOP_IMPL int pw_loop_update_io(struct pw_loop *object, struct spa_source *source, uint32_t mask)
Definition: loop.h:103