PipeWire 1.2.6
Loading...
Searching...
No Matches

Files

file  protocol.h
 pipewire/protocol.h
 

Data Structures

struct  pw_protocol_client
 
struct  pw_protocol_server
 
struct  pw_protocol_marshal
 
struct  pw_protocol_implementation
 
struct  pw_protocol_events
 
struct  pw_protocol
 

Macros

#define PW_TYPE_INFO_Protocol   "PipeWire:Protocol"
 
#define PW_TYPE_INFO_PROTOCOL_BASE   PW_TYPE_INFO_Protocol ":"
 
#define pw_protocol_client_connect(c, p, cb, d)
 
#define pw_protocol_client_connect_fd(c, fd, cl)
 
#define pw_protocol_client_steal_fd(c)
 
#define pw_protocol_client_disconnect(c)
 
#define pw_protocol_client_destroy(c)
 
#define pw_protocol_client_set_paused(c, p)
 
#define pw_protocol_server_destroy(l)
 
#define PW_PROTOCOL_MARSHAL_FLAG_IMPL   (1 << 0)
 marshal for implementations
 
#define PW_VERSION_PROTOCOL_IMPLEMENTATION   1
 
#define PW_VERSION_PROTOCOL_EVENTS   0
 
#define pw_protocol_new_client(p, ...)
 
#define pw_protocol_add_server(p, ...)
 
#define pw_protocol_add_fd_server(p, ...)
 
#define pw_protocol_ext(p, type, method, ...)
 

Functions

struct pw_protocolpw_protocol_new (struct pw_context *context, const char *name, size_t user_data_size)
 
void pw_protocol_destroy (struct pw_protocol *protocol)
 
struct pw_contextpw_protocol_get_context (struct pw_protocol *protocol)
 
void * pw_protocol_get_user_data (struct pw_protocol *protocol)
 
const struct pw_protocol_implementationpw_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, const char *type, uint32_t version, uint32_t flags)
 
struct pw_protocolpw_context_find_protocol (struct pw_context *context, const char *name)
 

Detailed Description

Manages protocols and their implementation

Macro Definition Documentation

◆ PW_TYPE_INFO_Protocol

#define PW_TYPE_INFO_Protocol   "PipeWire:Protocol"

◆ PW_TYPE_INFO_PROTOCOL_BASE

#define PW_TYPE_INFO_PROTOCOL_BASE   PW_TYPE_INFO_Protocol ":"

◆ pw_protocol_client_connect

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

◆ pw_protocol_client_connect_fd

#define pw_protocol_client_connect_fd ( c,
fd,
cl )
Value:
((c)->connect_fd(c,fd,cl))

◆ pw_protocol_client_steal_fd

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

◆ pw_protocol_client_disconnect

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

◆ pw_protocol_client_destroy

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

◆ pw_protocol_client_set_paused

#define pw_protocol_client_set_paused ( c,
p )
Value:
((c)->set_paused(c,p))

◆ pw_protocol_server_destroy

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

◆ PW_PROTOCOL_MARSHAL_FLAG_IMPL

#define PW_PROTOCOL_MARSHAL_FLAG_IMPL   (1 << 0)

marshal for implementations

◆ PW_VERSION_PROTOCOL_IMPLEMENTATION

#define PW_VERSION_PROTOCOL_IMPLEMENTATION   1

◆ PW_VERSION_PROTOCOL_EVENTS

#define PW_VERSION_PROTOCOL_EVENTS   0

◆ pw_protocol_new_client

#define pw_protocol_new_client ( p,
... )
Value:
const struct pw_protocol_implementation * pw_protocol_get_implementation(struct pw_protocol *protocol)
Definition protocol.c:72
struct pw_protocol_client *(* new_client)(struct pw_protocol *protocol, struct pw_core *core, const struct spa_dict *props)
Definition protocol.h:96

◆ pw_protocol_add_server

#define pw_protocol_add_server ( p,
... )
Value:
struct pw_protocol_server *(* add_server)(struct pw_protocol *protocol, struct pw_impl_core *core, const struct spa_dict *props)
Definition protocol.h:99

◆ pw_protocol_add_fd_server

#define pw_protocol_add_fd_server ( p,
... )
Value:
struct pw_protocol_server *(* add_fd_server)(struct pw_protocol *protocol, struct pw_impl_core *core, int listen_fd, int close_fd, const struct spa_dict *props)
Definition protocol.h:102

◆ pw_protocol_ext

#define pw_protocol_ext ( p,
type,
method,
... )
Value:
(((type*)pw_protocol_get_extension(p))->method( __VA_ARGS__))
const void * pw_protocol_get_extension(struct pw_protocol *protocol)
Definition protocol.c:79

Function Documentation

◆ pw_protocol_new()

struct pw_protocol * pw_protocol_new ( struct pw_context * context,
const char * name,
size_t user_data_size )

◆ pw_protocol_destroy()

void pw_protocol_destroy ( struct pw_protocol * protocol)

◆ pw_protocol_get_context()

struct pw_context * pw_protocol_get_context ( struct pw_protocol * protocol)

◆ pw_protocol_get_user_data()

void * pw_protocol_get_user_data ( struct pw_protocol * protocol)

◆ pw_protocol_get_implementation()

const struct pw_protocol_implementation * pw_protocol_get_implementation ( struct pw_protocol * protocol)

◆ pw_protocol_get_extension()

const void * pw_protocol_get_extension ( struct pw_protocol * protocol)

◆ 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_get_marshal()

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

◆ pw_context_find_protocol()

struct pw_protocol * pw_context_find_protocol ( struct pw_context * context,
const char * name )