PipeWire: Permission

PipeWire 0.3.59

Files | Data Structures | Macros
Permission
Core API

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,
|  |  | p
| ) |  | ((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 | ) |