PipeWire  1.0.7
Permission

Permissions are kept for a client and describe what the client is allowed to do with an object. More...

Files

file  permission.h
 pipewire/permission.h
 

Data Structures

struct  pw_permission
 

Macros

#define PW_PERM_R   0400
 object can be seen and events can be received More...
 
#define PW_PERM_W   0200
 methods can be called that modify the object More...
 
#define PW_PERM_X   0100
 methods can be called on the object. More...
 
#define PW_PERM_M   0010
 metadata can be set on object, Since 0.3.9 More...
 
#define PW_PERM_L   0020
 a link can be made between a node that doesn't have permission to see the other node, Since 0.3.77 More...
 
#define PW_PERM_RW   (PW_PERM_R|PW_PERM_W)
 
#define PW_PERM_RWX   (PW_PERM_RW|PW_PERM_X)
 
#define PW_PERM_RWXM   (PW_PERM_RWX|PW_PERM_M)
 
#define PW_PERM_RWXML   (PW_PERM_RWXM|PW_PERM_L)
 
#define PW_PERM_IS_R(p)   (((p)&PW_PERM_R) == PW_PERM_R)
 
#define PW_PERM_IS_W(p)   (((p)&PW_PERM_W) == PW_PERM_W)
 
#define PW_PERM_IS_X(p)   (((p)&PW_PERM_X) == PW_PERM_X)
 
#define PW_PERM_IS_M(p)   (((p)&PW_PERM_M) == PW_PERM_M)
 
#define PW_PERM_IS_L(p)   (((p)&PW_PERM_L) == PW_PERM_L)
 
#define PW_PERM_ALL   PW_PERM_RWXM
 
#define PW_PERM_INVALID   (uint32_t)(0xffffffff)
 
#define PW_PERMISSION_INIT(id, p)   ((struct pw_permission){ (id), (p) })
 
#define PW_PERMISSION_FORMAT   "%c%c%c%c%c"
 
#define PW_PERMISSION_ARGS(permission)
 

Detailed Description

Permissions are kept for a client and describe what the client is allowed to do with an object.

See page_core_api

Macro Definition Documentation

#define PW_PERM_R   0400

object can be seen and events can be received

Examples:
export-sink.c.
#define PW_PERM_W   0200

methods can be called that modify the object

#define PW_PERM_X   0100

methods can be called on the object.

The W flag must be present in order to call methods that modify the object.

Examples:
export-sink.c.
#define PW_PERM_M   0010

metadata can be set on object, Since 0.3.9

#define PW_PERM_L   0020

a link can be made between a node that doesn't have permission to see the other node, Since 0.3.77

#define PW_PERM_RW   (PW_PERM_R|PW_PERM_W)
#define PW_PERM_RWX   (PW_PERM_RW|PW_PERM_X)
#define PW_PERM_RWXM   (PW_PERM_RWX|PW_PERM_M)
#define PW_PERM_RWXML   (PW_PERM_RWXM|PW_PERM_L)
#define PW_PERM_IS_R (   p)    (((p)&PW_PERM_R) == PW_PERM_R)
#define PW_PERM_IS_W (   p)    (((p)&PW_PERM_W) == PW_PERM_W)
#define PW_PERM_IS_X (   p)    (((p)&PW_PERM_X) == PW_PERM_X)
#define PW_PERM_IS_M (   p)    (((p)&PW_PERM_M) == PW_PERM_M)
#define PW_PERM_IS_L (   p)    (((p)&PW_PERM_L) == PW_PERM_L)
#define PW_PERM_ALL   PW_PERM_RWXM
#define PW_PERM_INVALID   (uint32_t)(0xffffffff)
#define PW_PERMISSION_INIT (   id,
 
)    ((struct pw_permission){ (id), (p) })
Examples:
export-sink.c.
#define PW_PERMISSION_FORMAT   "%c%c%c%c%c"
#define PW_PERMISSION_ARGS (   permission)