chiark / gitweb /
tree-wide: remove Lennart's copyright lines
[elogind.git] / src / libelogind / sd-bus / bus-creds.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5 ***/
6
7 #include <stdbool.h>
8
9 #include "sd-bus.h"
10
11 struct sd_bus_creds {
12         bool allocated;
13         unsigned n_ref;
14
15         uint64_t mask;
16         uint64_t augmented;
17
18         uid_t uid;
19         uid_t euid;
20         uid_t suid;
21         uid_t fsuid;
22         gid_t gid;
23         gid_t egid;
24         gid_t sgid;
25         gid_t fsgid;
26
27         gid_t *supplementary_gids;
28         unsigned n_supplementary_gids;
29
30         pid_t ppid;
31         pid_t pid;
32         pid_t tid;
33
34         char *comm;
35         char *tid_comm;
36         char *exe;
37
38         char *cmdline;
39         size_t cmdline_size;
40         char **cmdline_array;
41
42         char *cgroup;
43         char *session;
44         char *unit;
45         char *user_unit;
46         char *slice;
47         char *user_slice;
48
49         char *tty;
50
51         uint32_t *capability;
52
53         uint32_t audit_session_id;
54         uid_t audit_login_uid;
55
56         char *label;
57
58         char *unique_name;
59
60         char **well_known_names;
61         bool well_known_names_driver:1;
62         bool well_known_names_local:1;
63
64         char *cgroup_root;
65
66         char *description, *unescaped_description;
67 };
68
69 sd_bus_creds* bus_creds_new(void);
70
71 void bus_creds_done(sd_bus_creds *c);
72
73 int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid);
74
75 int bus_creds_extend_by_pid(sd_bus_creds *c, uint64_t mask, sd_bus_creds **ret);