PipeWire 1.0.5
Loading...
Searching...
No Matches
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
 
#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.
 
#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, 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

◆ PW_PERM_R

#define PW_PERM_R   0400

object can be seen and events can be received

Examples
export-sink.c.

◆ PW_PERM_W

#define PW_PERM_W   0200

methods can be called that modify the object

◆ PW_PERM_X

#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.

◆ PW_PERM_M

#define PW_PERM_M   0010

metadata can be set on object, Since 0.3.9

◆ PW_PERM_L

#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

◆ PW_PERM_RW

#define PW_PERM_RW   (PW_PERM_R|PW_PERM_W)

◆ PW_PERM_RWX

#define PW_PERM_RWX   (PW_PERM_RW|PW_PERM_X)

◆ PW_PERM_RWXM

#define PW_PERM_RWXM   (PW_PERM_RWX|PW_PERM_M)

◆ PW_PERM_RWXML

#define PW_PERM_RWXML   (PW_PERM_RWXM|PW_PERM_L)

◆ PW_PERM_IS_R

#define PW_PERM_IS_R (   p)    (((p)&PW_PERM_R) == PW_PERM_R)

◆ PW_PERM_IS_W

#define PW_PERM_IS_W (   p)    (((p)&PW_PERM_W) == PW_PERM_W)

◆ PW_PERM_IS_X

#define PW_PERM_IS_X (   p)    (((p)&PW_PERM_X) == PW_PERM_X)

◆ PW_PERM_IS_M

#define PW_PERM_IS_M (   p)    (((p)&PW_PERM_M) == PW_PERM_M)

◆ PW_PERM_IS_L

#define PW_PERM_IS_L (   p)    (((p)&PW_PERM_L) == PW_PERM_L)

◆ PW_PERM_ALL

#define PW_PERM_ALL   PW_PERM_RWXM

◆ PW_PERM_INVALID

#define PW_PERM_INVALID   (uint32_t)(0xffffffff)

◆ PW_PERMISSION_INIT

#define PW_PERMISSION_INIT (   id,
 
)    ((struct pw_permission){ (id), (p) })
Examples
export-sink.c.

◆ PW_PERMISSION_FORMAT

#define PW_PERMISSION_FORMAT   "%c%c%c%c%c"

◆ PW_PERMISSION_ARGS

#define PW_PERMISSION_ARGS (   permission)