]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libsystemd/sd-bus/bus-creds.h
vmspawn: Run auxiliary daemons inside scope instead of separate service (#38047)
[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
5cdf13c7 4#include "forward.h"
5b12334d 5
5cdf13c7 6typedef struct sd_bus_creds {
5b12334d
LP
7 bool allocated;
8 unsigned n_ref;
0f514420 9
5b12334d 10 uint64_t mask;
0f514420 11 uint64_t augmented;
5b12334d
LP
12
13 uid_t uid;
705a415f
LP
14 uid_t euid;
15 uid_t suid;
16 uid_t fsuid;
5b12334d 17 gid_t gid;
705a415f
LP
18 gid_t egid;
19 gid_t sgid;
20 gid_t fsgid;
21
02581590
LP
22 gid_t *supplementary_gids;
23 unsigned n_supplementary_gids;
24
1386e47d 25 pid_t ppid;
5b12334d 26 pid_t pid;
5b12334d 27 pid_t tid;
71be6406 28 int pidfd;
5b12334d
LP
29
30 char *comm;
31 char *tid_comm;
32 char *exe;
33
34 char *cmdline;
49b832c5 35 size_t cmdline_size;
5b12334d
LP
36 char **cmdline_array;
37
38 char *cgroup;
39 char *session;
40 char *unit;
41 char *user_unit;
42 char *slice;
329ac4bc 43 char *user_slice;
5b12334d 44
4761e880
LP
45 char *tty;
46
7d9fcc2b 47 uint32_t *capability;
5b12334d
LP
48
49 uint32_t audit_session_id;
50 uid_t audit_login_uid;
51
52 char *label;
49b832c5
LP
53
54 char *unique_name;
55
65dae17a 56 char **well_known_names;
fb6d9b77
LP
57 bool well_known_names_driver:1;
58 bool well_known_names_local:1;
751bc6ac
LP
59
60 char *cgroup_root;
cccb0b2c 61
455971c1 62 char *description, *unescaped_description;
5cdf13c7 63} sd_bus_creds;
5b12334d 64
71be6406
LP
65#define SD_BUS_CREDS_INIT_FIELDS \
66 .uid = UID_INVALID, \
67 .euid = UID_INVALID, \
68 .suid = UID_INVALID, \
69 .fsuid = UID_INVALID, \
70 .gid = GID_INVALID, \
71 .egid = GID_INVALID, \
72 .sgid = GID_INVALID, \
73 .fsgid = GID_INVALID, \
74 .pidfd = -EBADF, \
75 .audit_login_uid = UID_INVALID
76
5b12334d
LP
77sd_bus_creds* bus_creds_new(void);
78
79void bus_creds_done(sd_bus_creds *c);
80
71be6406 81int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, PidRef *pidref, pid_t tid);