PipeWire 1.2.6

Loading...
Searching...
No Matches
security-context.h
Go to the documentation of this file.
1/* PipeWire */
2/* SPDX-FileCopyrightText: Copyright © 2019 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef PIPEWIRE_EXT_SECURITY_CONTEXT_H
6#define PIPEWIRE_EXT_SECURITY_CONTEXT_H
7
8#ifdef __cplusplus
9 extern "C" {
10#endif
11
12#include <spa/utils/defs.h>
13
22#define PW_TYPE_INTERFACE_SecurityContext PW_TYPE_INFO_INTERFACE_BASE "SecurityContext"
23
24#define PW_SECURITY_CONTEXT_PERM_MASK PW_PERM_RWX
25
26#define PW_VERSION_SECURITY_CONTEXT 3
27 struct pw_security_context;
28
29#define PW_EXTENSION_MODULE_SECURITY_CONTEXT PIPEWIRE_MODULE_PREFIX "module-security-context"
30
31#define PW_SECURITY_CONTEXT_EVENT_NUM 0
32
33
35 struct pw_security_context_events {
36#define PW_VERSION_SECURITY_CONTEXT_EVENTS 0
37 uint32_t version;
38};
39
40#define PW_SECURITY_CONTEXT_METHOD_ADD_LISTENER 0
41#define PW_SECURITY_CONTEXT_METHOD_CREATE 1
42#define PW_SECURITY_CONTEXT_METHOD_NUM 2
43
45 struct pw_security_context_methods {
46#define PW_VERSION_SECURITY_CONTEXT_METHODS 0
47 uint32_t version;
48
49 int (*add_listener) (void *object,
50 struct spa_hook *listener,
51 const struct pw_security_context_events *events,
52 void *data);
53
91 int (*create) (void *object,
92 int listen_fd,
93 int close_fd,
94 const struct spa_dict *props);
95};
96
97
98#define pw_security_context_method(o,method,version,...) \
99({ \
100 int _res = -ENOTSUP; \
101 spa_interface_call_res((struct spa_interface*)o, \
102 struct pw_security_context_methods, _res, \
103 method, version, ##__VA_ARGS__); \
104 _res; \
105})
106
107#define pw_security_context_add_listener(c,...) pw_security_context_method(c,add_listener,0,__VA_ARGS__)
108#define pw_security_context_create(c,...) pw_security_context_method(c,create,0,__VA_ARGS__)
109
114#ifdef __cplusplus
115} /* extern "C" */
116#endif
117
118#endif /* PIPEWIRE_EXT_SECURITY_CONTEXT_H */
defs.h
spa/utils/defs.h
pw_security_context_events
Security Context events
Definition security-context.h:45
pw_security_context_events::version
uint32_t version
Definition security-context.h:48
pw_security_context_methods
Security Context methods
Definition security-context.h:59
pw_security_context_methods::version
uint32_t version
Definition security-context.h:62
pw_security_context_methods::add_listener
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_security_context_events *events, void *data)
Definition security-context.h:64
pw_security_context_methods::create
int(* create)(void *object, int listen_fd, int close_fd, const struct spa_dict *props)
Create a new security context.
Definition security-context.h:106
pw_security_context
spa_dict
Definition dict.h:39
spa_hook
A hook, contains the structure with functions and the data passed to the functions.
Definition hook.h:350