PipeWire 1.4.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
loop.h File Reference

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   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
 

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 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_sourcespa_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_sourcespa_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_sourcespa_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_sourcespa_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_sourcespa_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

Macro Definition Documentation

◆ SPA_API_LOOP

#define SPA_API_LOOP   static inline