Loading...
Searching...
No Matches
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
#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)
#define | PW_PERM_IS_W(p)
#define | PW_PERM_IS_X(p)
#define | PW_PERM_IS_M(p)
#define | PW_PERM_IS_L(p)
#define | PW_PERM_ALL PW_PERM_RWXM
#define | PW_PERM_INVALID (uint32_t)(0xffffffff)
#define | PW_PERMISSION_INIT(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 | ) |

Value:
(((p)&PW_PERM_R) == PW_PERM_R)
PW_PERM_R
#define PW_PERM_R
object can be seen and events can be received
Definition permission.h:32

## PW_PERM_IS_W

#define PW_PERM_IS_W | ( |  | p | ) |

Value:
(((p)&PW_PERM_W) == PW_PERM_W)
PW_PERM_W
#define PW_PERM_W
methods can be called that modify the object
Definition permission.h:34

## PW_PERM_IS_X

#define PW_PERM_IS_X | ( |  | p | ) |

Value:
(((p)&PW_PERM_X) == PW_PERM_X)
PW_PERM_X
#define PW_PERM_X
methods can be called on the object.
Definition permission.h:36

## PW_PERM_IS_M

#define PW_PERM_IS_M | ( |  | p | ) |

Value:
(((p)&PW_PERM_M) == PW_PERM_M)
PW_PERM_M
#define PW_PERM_M
metadata can be set on object, Since 0.3.9
Definition permission.h:39

## PW_PERM_IS_L

#define PW_PERM_IS_L | ( |  | p | ) |

Value:
(((p)&PW_PERM_L) == PW_PERM_L)
PW_PERM_L
#define PW_PERM_L
a link can be made between a node that doesn't have permission to see the other node,...
Definition permission.h:41

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

Value:
((struct pw_permission){ (id), (p) })
id
uint32_t id
Definition core.h:432
pw_permission
Definition permission.h:69

Examples
  export-sink.c.

## PW_PERMISSION_FORMAT

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

## PW_PERMISSION_ARGS

#define PW_PERMISSION_ARGS | ( |  | permission | ) |