]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libsystemd/sd-bus/bus-creds.h
hwdb: Add mapping for Xiaomi Mipad 2 bottom bezel capacitive buttons
[thirdparty/systemd.git] / src / libsystemd / sd-bus / bus-creds.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
5b12334d
LP
2#pragma once
3
5b12334d
LP
4#include <stdbool.h>
5
6#include "sd-bus.h"
5b12334d 7
71be6406
LP
8#include "pidref.h"
9#include "user-util.h"
10
5b12334d
LP
11struct sd_bus_creds {
12 bool allocated;
13 unsigned n_ref;
0f514420 14
5b12334d 15 uint64_t mask;
0f514420 16 uint64_t augmented;
5b12334d
LP
17
18 uid_t uid;
705a415f
LP
19 uid_t euid;
20 uid_t suid;
21 uid_t fsuid;
5b12334d 22 gid_t gid;
705a415f
LP
23 gid_t egid;
24 gid_t sgid;
25 gid_t fsgid;
26
02581590
LP
27 gid_t *supplementary_gids;
28 unsigned n_supplementary_gids;
29
1386e47d 30 pid_t ppid;
5b12334d 31 pid_t pid;
5b12334d 32 pid_t tid;
71be6406 33 int pidfd;
5b12334d
LP
34
35 char *comm;
36 char *tid_comm;
37 char *exe;
38
39 char *cmdline;
49b832c5 40 size_t cmdline_size;
5b12334d
LP
41 char **cmdline_array;
42
43 char *cgroup;
44 char *session;
45 char *unit;
46 char *user_unit;
47 char *slice;
329ac4bc 48 char *user_slice;
5b12334d 49
4761e880
LP
50 char *tty;
51
7d9fcc2b 52 uint32_t *capability;
5b12334d
LP
53
54 uint32_t audit_session_id;
55 uid_t audit_login_uid;
56
57 char *label;
49b832c5
LP
58
59 char *unique_name;
60
65dae17a 61 char **well_known_names;
fb6d9b77
LP
62 bool well_known_names_driver:1;
63 bool well_known_names_local:1;
751bc6ac
LP
64
65 char *cgroup_root;
cccb0b2c 66
455971c1 67 char *description, *unescaped_description;
5b12334d
LP
68};
69
71be6406
LP
70#define SD_BUS_CREDS_INIT_FIELDS \
71 .uid = UID_INVALID, \
72 .euid = UID_INVALID, \
73 .suid = UID_INVALID, \
74 .fsuid = UID_INVALID, \
75 .gid = GID_INVALID, \
76 .egid = GID_INVALID, \
77 .sgid = GID_INVALID, \
78 .fsgid = GID_INVALID, \
79 .pidfd = -EBADF, \
80 .audit_login_uid = UID_INVALID
81
5b12334d
LP
82sd_bus_creds* bus_creds_new(void);
83
84void bus_creds_done(sd_bus_creds *c);
85
71be6406 86int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, PidRef *pidref, pid_t tid);
49b832c5
LP
87
88int bus_creds_extend_by_pid(sd_bus_creds *c, uint64_t mask, sd_bus_creds **ret);