]>
Commit | Line | Data |
---|---|---|
1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | |
2 | #pragma once | |
3 | ||
4 | #include "forward.h" | |
5 | ||
6 | typedef struct sd_bus_creds { | |
7 | bool allocated; | |
8 | unsigned n_ref; | |
9 | ||
10 | uint64_t mask; | |
11 | uint64_t augmented; | |
12 | ||
13 | uid_t uid; | |
14 | uid_t euid; | |
15 | uid_t suid; | |
16 | uid_t fsuid; | |
17 | gid_t gid; | |
18 | gid_t egid; | |
19 | gid_t sgid; | |
20 | gid_t fsgid; | |
21 | ||
22 | gid_t *supplementary_gids; | |
23 | unsigned n_supplementary_gids; | |
24 | ||
25 | pid_t ppid; | |
26 | pid_t pid; | |
27 | pid_t tid; | |
28 | int pidfd; | |
29 | ||
30 | char *comm; | |
31 | char *tid_comm; | |
32 | char *exe; | |
33 | ||
34 | char *cmdline; | |
35 | size_t cmdline_size; | |
36 | char **cmdline_array; | |
37 | ||
38 | char *cgroup; | |
39 | char *session; | |
40 | char *unit; | |
41 | char *user_unit; | |
42 | char *slice; | |
43 | char *user_slice; | |
44 | ||
45 | char *tty; | |
46 | ||
47 | uint32_t *capability; | |
48 | ||
49 | uint32_t audit_session_id; | |
50 | uid_t audit_login_uid; | |
51 | ||
52 | char *label; | |
53 | ||
54 | char *unique_name; | |
55 | ||
56 | char **well_known_names; | |
57 | bool well_known_names_driver:1; | |
58 | bool well_known_names_local:1; | |
59 | ||
60 | char *cgroup_root; | |
61 | ||
62 | char *description, *unescaped_description; | |
63 | } sd_bus_creds; | |
64 | ||
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 | ||
77 | sd_bus_creds* bus_creds_new(void); | |
78 | ||
79 | void bus_creds_done(sd_bus_creds *c); | |
80 | ||
81 | int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, PidRef *pidref, pid_t tid); |