| 
| #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   0 | 
|   | 
| #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_loop_method(o,  method,  version, ...) | 
|   | 
| #define  | spa_loop_add_source(l, ...)   spa_loop_method(l,add_source,0,##__VA_ARGS__) | 
|   | add a source to the loop  More...
  | 
|   | 
| #define  | spa_loop_update_source(l, ...)   spa_loop_method(l,update_source,0,##__VA_ARGS__) | 
|   | update the source io mask  More...
  | 
|   | 
| #define  | spa_loop_remove_source(l, ...)   spa_loop_method(l,remove_source,0,##__VA_ARGS__) | 
|   | remove a source from the loop  More...
  | 
|   | 
| #define  | spa_loop_invoke(l, ...)   spa_loop_method(l,invoke,0,##__VA_ARGS__) | 
|   | invoke a function in the context of this loop  More...
  | 
|   | 
| #define  | SPA_VERSION_LOOP_CONTROL_HOOKS   0 | 
|   | 
| #define  | spa_loop_control_hook_before(l) | 
|   | 
| #define  | spa_loop_control_hook_after(l) | 
|   | 
| #define  | SPA_VERSION_LOOP_CONTROL_METHODS   0 | 
|   | 
| #define  | spa_loop_control_method_v(o,  method,  version, ...) | 
|   | 
| #define  | spa_loop_control_method_r(o,  method,  version, ...) | 
|   | 
| #define  | spa_loop_control_get_fd(l)   spa_loop_control_method_r(l,get_fd,0) | 
|   | 
| #define  | spa_loop_control_add_hook(l, ...)   spa_loop_control_method_v(l,add_hook,0,__VA_ARGS__) | 
|   | Add a hook.  More...
  | 
|   | 
| #define  | spa_loop_control_enter(l)   spa_loop_control_method_v(l,enter,0) | 
|   | Enter a loop.  More...
  | 
|   | 
| #define  | spa_loop_control_leave(l)   spa_loop_control_method_v(l,leave,0) | 
|   | Leave a loop.  More...
  | 
|   | 
| #define  | spa_loop_control_iterate(l, ...)   spa_loop_control_method_r(l,iterate,0,__VA_ARGS__) | 
|   | Perform one iteration of the loop.  More...
  | 
|   | 
| #define  | SPA_VERSION_LOOP_UTILS_METHODS   0 | 
|   | 
| #define  | spa_loop_utils_method_v(o,  method,  version, ...) | 
|   | 
| #define  | spa_loop_utils_method_r(o,  method,  version, ...) | 
|   | 
| #define  | spa_loop_utils_method_s(o,  method,  version, ...) | 
|   | 
| #define  | spa_loop_utils_add_io(l, ...)   spa_loop_utils_method_s(l,add_io,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_update_io(l, ...)   spa_loop_utils_method_r(l,update_io,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_add_idle(l, ...)   spa_loop_utils_method_s(l,add_idle,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_enable_idle(l, ...)   spa_loop_utils_method_r(l,enable_idle,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_add_event(l, ...)   spa_loop_utils_method_s(l,add_event,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_signal_event(l, ...)   spa_loop_utils_method_r(l,signal_event,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_add_timer(l, ...)   spa_loop_utils_method_s(l,add_timer,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_update_timer(l, ...)   spa_loop_utils_method_r(l,update_timer,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_add_signal(l, ...)   spa_loop_utils_method_s(l,add_signal,0,__VA_ARGS__) | 
|   | 
| #define  | spa_loop_utils_destroy_source(l, ...)   spa_loop_utils_method_v(l,destroy_source,0,__VA_ARGS__) | 
|   | destroy a source allocated with this interface.  More...
  | 
|   |