PipeWire  0.2.0
protocol.h File Reference
Include dependency graph for protocol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pw_protocol_client
 
struct  pw_protocol_server
 
struct  pw_protocol_marshal
 
struct  pw_protocol_implementaton
 
struct  pw_protocol_events
 

Macros

#define PW_TYPE__Protocol   "PipeWire:Protocol"
 
#define PW_TYPE_PROTOCOL_BASE   PW_TYPE__Protocol ":"
 
#define pw_protocol_client_connect(c, cb, d)   ((c)->connect(c,cb,d))
 
#define pw_protocol_client_connect_fd(c, fd)   ((c)->connect_fd(c,fd))
 
#define pw_protocol_client_steal_fd(c)   ((c)->steal_fd(c))
 
#define pw_protocol_client_disconnect(c)   ((c)->disconnect(c))
 
#define pw_protocol_client_destroy(c)   ((c)->destroy(c))
 
#define pw_protocol_server_destroy(l)   ((l)->destroy(l))
 
#define PW_VERSION_PROTOCOL_IMPLEMENTATION   0
 
#define PW_VERSION_PROTOCOL_EVENTS   0
 
#define pw_protocol_new_client(p, ...)   (pw_protocol_get_implementation(p)->new_client(p,__VA_ARGS__))
 
#define pw_protocol_add_server(p, ...)   (pw_protocol_get_implementation(p)->add_server(p,__VA_ARGS__))
 
#define pw_protocol_ext(p, type, method, ...)   (((type*)pw_protocol_get_extension(p))->method( __VA_ARGS__))
 

Functions

struct pw_protocolpw_protocol_new (struct pw_core *core, const char *name, size_t user_data_size)
 
void pw_protocol_destroy (struct pw_protocol *protocol)
 
void * pw_protocol_get_user_data (struct pw_protocol *protocol)
 
const struct pw_protocol_implementatonpw_protocol_get_implementation (struct pw_protocol *protocol)
 
const void * pw_protocol_get_extension (struct pw_protocol *protocol)
 
void pw_protocol_add_listener (struct pw_protocol *protocol, struct spa_hook *listener, const struct pw_protocol_events *events, void *data)
 
int pw_protocol_add_marshal (struct pw_protocol *protocol, const struct pw_protocol_marshal *marshal)
 
const struct pw_protocol_marshalpw_protocol_get_marshal (struct pw_protocol *protocol, uint32_t type)
 
struct pw_protocolpw_core_find_protocol (struct pw_core *core, const char *name)
 

Macro Definition Documentation

◆ pw_protocol_add_server

#define pw_protocol_add_server (   p,
  ... 
)    (pw_protocol_get_implementation(p)->add_server(p,__VA_ARGS__))

◆ pw_protocol_client_connect

#define pw_protocol_client_connect (   c,
  cb,
 
)    ((c)->connect(c,cb,d))

Referenced by pw_remote_connect().

◆ pw_protocol_client_connect_fd

#define pw_protocol_client_connect_fd (   c,
  fd 
)    ((c)->connect_fd(c,fd))

Referenced by pw_remote_connect_fd().

◆ pw_protocol_client_destroy

#define pw_protocol_client_destroy (   c)    ((c)->destroy(c))

◆ pw_protocol_client_disconnect

#define pw_protocol_client_disconnect (   c)    ((c)->disconnect(c))

Referenced by pw_remote_disconnect().

◆ pw_protocol_client_steal_fd

#define pw_protocol_client_steal_fd (   c)    ((c)->steal_fd(c))

Referenced by pw_remote_steal_fd().

◆ pw_protocol_ext

#define pw_protocol_ext (   p,
  type,
  method,
  ... 
)    (((type*)pw_protocol_get_extension(p))->method( __VA_ARGS__))

◆ pw_protocol_new_client

#define pw_protocol_new_client (   p,
  ... 
)    (pw_protocol_get_implementation(p)->new_client(p,__VA_ARGS__))

Referenced by pw_remote_new().

◆ pw_protocol_server_destroy

#define pw_protocol_server_destroy (   l)    ((l)->destroy(l))

Referenced by pw_protocol_destroy().

◆ PW_TYPE__Protocol

#define PW_TYPE__Protocol   "PipeWire:Protocol"

◆ PW_TYPE_PROTOCOL_BASE

#define PW_TYPE_PROTOCOL_BASE   PW_TYPE__Protocol ":"

◆ PW_VERSION_PROTOCOL_EVENTS

#define PW_VERSION_PROTOCOL_EVENTS   0

◆ PW_VERSION_PROTOCOL_IMPLEMENTATION

#define PW_VERSION_PROTOCOL_IMPLEMENTATION   0

Function Documentation

◆ pw_core_find_protocol()

struct pw_protocol* pw_core_find_protocol ( struct pw_core core,
const char *  name 
)

Referenced by pw_remote_new().

◆ pw_protocol_add_listener()

void pw_protocol_add_listener ( struct pw_protocol protocol,
struct spa_hook *  listener,
const struct pw_protocol_events events,
void *  data 
)

◆ pw_protocol_add_marshal()

int pw_protocol_add_marshal ( struct pw_protocol protocol,
const struct pw_protocol_marshal marshal 
)

◆ pw_protocol_destroy()

◆ pw_protocol_get_extension()

const void* pw_protocol_get_extension ( struct pw_protocol protocol)

◆ pw_protocol_get_implementation()

const struct pw_protocol_implementaton* pw_protocol_get_implementation ( struct pw_protocol protocol)

◆ pw_protocol_get_marshal()

const struct pw_protocol_marshal* pw_protocol_get_marshal ( struct pw_protocol protocol,
uint32_t  type 
)

◆ pw_protocol_get_user_data()

void* pw_protocol_get_user_data ( struct pw_protocol protocol)

◆ pw_protocol_new()

struct pw_protocol* pw_protocol_new ( struct pw_core core,
const char *  name,
size_t  user_data_size 
)