PipeWire  0.3.45
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_RWX   (PW_PERM_R|PW_PERM_W|PW_PERM_X)
 
#define PW_PERM_RWXM   (PW_PERM_RWX|PW_PERM_M)
 
#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_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"
 
#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_RWX

#define PW_PERM_RWX   (PW_PERM_R|PW_PERM_W|PW_PERM_X)

◆ PW_PERM_RWXM

#define PW_PERM_RWXM   (PW_PERM_RWX|PW_PERM_M)

◆ 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_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"

◆ PW_PERMISSION_ARGS

#define PW_PERMISSION_ARGS (   permission)