summaryrefslogtreecommitdiff
path: root/src/grp-system/libcore
diff options
context:
space:
mode:
Diffstat (limited to 'src/grp-system/libcore')
-rw-r--r--src/grp-system/libcore/Makefile9
-rw-r--r--src/grp-system/libcore/audit-fd.c6
-rw-r--r--src/grp-system/libcore/busname.h1
-rw-r--r--src/grp-system/libcore/cgroup.h1
-rw-r--r--src/grp-system/libcore/dbus-automount.h1
-rw-r--r--src/grp-system/libcore/dbus-busname.h1
-rw-r--r--src/grp-system/libcore/dbus-execute.c34
-rw-r--r--src/grp-system/libcore/dbus-path.h2
-rw-r--r--src/grp-system/libcore/device.h2
-rw-r--r--src/grp-system/libcore/execute.c82
-rw-r--r--src/grp-system/libcore/execute.h2
-rw-r--r--src/grp-system/libcore/killall.h2
-rw-r--r--src/grp-system/libcore/kmod-setup.c6
-rw-r--r--src/grp-system/libcore/load-fragment-gperf.gperf.m44
-rw-r--r--src/grp-system/libcore/load-fragment.c60
-rw-r--r--src/grp-system/libcore/loopback-setup.c1
-rw-r--r--src/grp-system/libcore/machine-id-setup.h2
-rw-r--r--src/grp-system/libcore/manager.c82
-rw-r--r--src/grp-system/libcore/manager.h4
-rw-r--r--src/grp-system/libcore/scope.h1
-rw-r--r--src/grp-system/libcore/selinux-access.c18
-rw-r--r--src/grp-system/libcore/selinux-setup.c10
-rw-r--r--src/grp-system/libcore/service.h3
-rw-r--r--src/grp-system/libcore/slice.h2
-rw-r--r--src/grp-system/libcore/smack-setup.h2
-rw-r--r--src/grp-system/libcore/socket.h1
-rw-r--r--src/grp-system/libcore/swap.h2
-rw-r--r--src/grp-system/libcore/target.c1
-rw-r--r--src/grp-system/libcore/target.h2
-rw-r--r--src/grp-system/libcore/timer.h2
-rw-r--r--src/grp-system/libcore/unit.h2
31 files changed, 185 insertions, 163 deletions
diff --git a/src/grp-system/libcore/Makefile b/src/grp-system/libcore/Makefile
index cbf4916c13..1f19355412 100644
--- a/src/grp-system/libcore/Makefile
+++ b/src/grp-system/libcore/Makefile
@@ -163,8 +163,13 @@ libcore_la_LIBADD = \
$(APPARMOR_LIBS) \
$(MOUNT_LIBS)
-$(outdir)/load-fragment-gperf-nulstr.c: src/core/load-fragment-gperf.gperf
- $(AM_V_at)$(MKDIR_P) $(dir $@)
+$(outdir)/load-fragment-gperf-nulstr.c: $(outdir)/load-fragment-gperf.gperf
$(AM_V_GEN)$(AWK) 'BEGIN{ keywords=0 ; FS="," ; print "extern const char load_fragment_gperf_nulstr[];" ; print "const char load_fragment_gperf_nulstr[] ="} ; keyword==1 { print "\"" $$1 "\\0\"" } ; /%%/ { keyword=1} ; END { print ";" }' < $< > $@
+sd.CPPFLAGS += -I$(topsrcdir)/src/libudev/src
+sd.CPPFLAGS += -DMOUNT_PATH=\"$(MOUNT_PATH)\"
+sd.CPPFLAGS += -DUMOUNT_PATH=\"$(UMOUNT_PATH)\"
+sd.CPPFLAGS += -DSYSTEMD_CGROUP_AGENT_PATH=\"$(libexecdir)/systemd-cgroups-agent\"
+sd.CPPFLAGS += -DSYSTEMD_BINARY_PATH=\"$(libexecdir)/systemd\"
+
include $(topsrcdir)/build-aux/Makefile.tail.mk
diff --git a/src/grp-system/libcore/audit-fd.c b/src/grp-system/libcore/audit-fd.c
index 76afe3fe15..8ea525eda3 100644
--- a/src/grp-system/libcore/audit-fd.c
+++ b/src/grp-system/libcore/audit-fd.c
@@ -27,9 +27,9 @@
#include <libaudit.h>
#include <stdbool.h>
-#include "fd-util.h"
-#include "log.h"
-#include "util.h"
+#include "basic/fd-util.h"
+#include "basic/log.h"
+#include "basic/util.h"
static bool initialized = false;
static int audit_fd;
diff --git a/src/grp-system/libcore/busname.h b/src/grp-system/libcore/busname.h
index aa7f0ecb1b..95a356bddc 100644
--- a/src/grp-system/libcore/busname.h
+++ b/src/grp-system/libcore/busname.h
@@ -20,7 +20,6 @@
***/
typedef struct BusName BusName;
-typedef struct BusNamePolicy BusNamePolicy;
#include "bus-policy.h"
#include "unit.h"
diff --git a/src/grp-system/libcore/cgroup.h b/src/grp-system/libcore/cgroup.h
index abc780b5d5..36699fb21b 100644
--- a/src/grp-system/libcore/cgroup.h
+++ b/src/grp-system/libcore/cgroup.h
@@ -115,7 +115,6 @@ struct CGroupContext {
bool delegate;
};
-#include "cgroup-util.h"
#include "unit.h"
void cgroup_context_init(CGroupContext *c);
diff --git a/src/grp-system/libcore/dbus-automount.h b/src/grp-system/libcore/dbus-automount.h
index 7b51eb973a..d1168c8188 100644
--- a/src/grp-system/libcore/dbus-automount.h
+++ b/src/grp-system/libcore/dbus-automount.h
@@ -19,5 +19,6 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <systemd/sd-bus.h>
extern const sd_bus_vtable bus_automount_vtable[];
diff --git a/src/grp-system/libcore/dbus-busname.h b/src/grp-system/libcore/dbus-busname.h
index 8643d1a404..c6aa90a424 100644
--- a/src/grp-system/libcore/dbus-busname.h
+++ b/src/grp-system/libcore/dbus-busname.h
@@ -19,5 +19,6 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <systemd/sd-bus.h>
extern const sd_bus_vtable bus_busname_vtable[];
diff --git a/src/grp-system/libcore/dbus-execute.c b/src/grp-system/libcore/dbus-execute.c
index 06943c6365..b5530d945e 100644
--- a/src/grp-system/libcore/dbus-execute.c
+++ b/src/grp-system/libcore/dbus-execute.c
@@ -23,28 +23,28 @@
#include <seccomp.h>
#endif
-#include "af-list.h"
-#include "alloc-util.h"
-#include "bus-util.h"
-#include "capability-util.h"
+#include "basic/af-list.h"
+#include "basic/alloc-util.h"
+#include "shared/bus-util.h"
+#include "basic/capability-util.h"
#include "dbus-execute.h"
-#include "env-util.h"
+#include "basic/env-util.h"
#include "execute.h"
-#include "fd-util.h"
-#include "fileio.h"
-#include "ioprio.h"
-#include "missing.h"
+#include "basic/fd-util.h"
+#include "basic/fileio.h"
+#include "basic/ioprio.h"
+#include "basic/missing.h"
#include "namespace.h"
-#include "parse-util.h"
-#include "path-util.h"
-#include "process-util.h"
-#include "rlimit-util.h"
+#include "basic/parse-util.h"
+#include "basic/path-util.h"
+#include "basic/process-util.h"
+#include "basic/rlimit-util.h"
#ifdef HAVE_SECCOMP
-#include "seccomp-util.h"
+#include "shared/seccomp-util.h"
#endif
-#include "strv.h"
-#include "syslog-util.h"
-#include "utf8.h"
+#include "basic/strv.h"
+#include "basic/syslog-util.h"
+#include "basic/utf8.h"
BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
diff --git a/src/grp-system/libcore/dbus-path.h b/src/grp-system/libcore/dbus-path.h
index d3c19e0c2b..f24b1d5d3d 100644
--- a/src/grp-system/libcore/dbus-path.h
+++ b/src/grp-system/libcore/dbus-path.h
@@ -19,6 +19,6 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-
+#include <systemd/sd-bus.h>
extern const sd_bus_vtable bus_path_vtable[];
diff --git a/src/grp-system/libcore/device.h b/src/grp-system/libcore/device.h
index 184a1a349b..60d5122966 100644
--- a/src/grp-system/libcore/device.h
+++ b/src/grp-system/libcore/device.h
@@ -21,6 +21,8 @@
typedef struct Device Device;
+#include "unit.h"
+
typedef enum DeviceFound {
DEVICE_NOT_FOUND = 0,
DEVICE_FOUND_UDEV = 1,
diff --git a/src/grp-system/libcore/execute.c b/src/grp-system/libcore/execute.c
index 5eb3f13695..e7628bceb3 100644
--- a/src/grp-system/libcore/execute.c
+++ b/src/grp-system/libcore/execute.c
@@ -49,55 +49,55 @@
#include <sys/apparmor.h>
#endif
-#include "sd-messages.h"
+#include <systemd/sd-messages.h>
-#include "af-list.h"
-#include "alloc-util.h"
+#include "basic/af-list.h"
+#include "basic/alloc-util.h"
#ifdef HAVE_APPARMOR
-#include "apparmor-util.h"
+#include "shared/apparmor-util.h"
#endif
-#include "async.h"
-#include "barrier.h"
-#include "cap-list.h"
-#include "capability-util.h"
-#include "def.h"
-#include "env-util.h"
-#include "errno-list.h"
+#include "basic/async.h"
+#include "basic/barrier.h"
+#include "basic/cap-list.h"
+#include "basic/capability-util.h"
+#include "basic/def.h"
+#include "basic/env-util.h"
+#include "basic/errno-list.h"
#include "execute.h"
-#include "exit-status.h"
-#include "fd-util.h"
-#include "fileio.h"
-#include "formats-util.h"
-#include "fs-util.h"
-#include "glob-util.h"
-#include "io-util.h"
-#include "ioprio.h"
-#include "log.h"
-#include "macro.h"
-#include "missing.h"
-#include "mkdir.h"
+#include "basic/exit-status.h"
+#include "basic/fd-util.h"
+#include "basic/fileio.h"
+#include "basic/formats-util.h"
+#include "basic/fs-util.h"
+#include "basic/glob-util.h"
+#include "basic/io-util.h"
+#include "basic/ioprio.h"
+#include "basic/log.h"
+#include "basic/macro.h"
+#include "basic/missing.h"
+#include "basic/mkdir.h"
#include "namespace.h"
-#include "parse-util.h"
-#include "path-util.h"
-#include "process-util.h"
-#include "rlimit-util.h"
-#include "rm-rf.h"
+#include "basic/parse-util.h"
+#include "basic/path-util.h"
+#include "basic/process-util.h"
+#include "basic/rlimit-util.h"
+#include "basic/rm-rf.h"
#ifdef HAVE_SECCOMP
-#include "seccomp-util.h"
+#include "shared/seccomp-util.h"
#endif
-#include "securebits.h"
-#include "selinux-util.h"
-#include "signal-util.h"
-#include "smack-util.h"
-#include "string-table.h"
-#include "string-util.h"
-#include "strv.h"
-#include "syslog-util.h"
-#include "terminal-util.h"
+#include "basic/securebits.h"
+#include "basic/selinux-util.h"
+#include "basic/signal-util.h"
+#include "basic/smack-util.h"
+#include "basic/string-table.h"
+#include "basic/string-util.h"
+#include "basic/strv.h"
+#include "basic/syslog-util.h"
+#include "basic/terminal-util.h"
#include "unit.h"
-#include "user-util.h"
-#include "util.h"
-#include "utmp-wtmp.h"
+#include "basic/user-util.h"
+#include "basic/util.h"
+#include "shared/utmp-wtmp.h"
#define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
#define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
diff --git a/src/grp-system/libcore/execute.h b/src/grp-system/libcore/execute.h
index 68560271d4..73292dd086 100644
--- a/src/grp-system/libcore/execute.h
+++ b/src/grp-system/libcore/execute.h
@@ -200,7 +200,7 @@ struct ExecContext {
bool no_new_privileges_set:1;
};
-#include "cgroup-util.h"
+#include "basic/cgroup-util.h"
#include "cgroup.h"
struct ExecParameters {
diff --git a/src/grp-system/libcore/killall.h b/src/grp-system/libcore/killall.h
index acc2439f00..bbb101c863 100644
--- a/src/grp-system/libcore/killall.h
+++ b/src/grp-system/libcore/killall.h
@@ -19,4 +19,6 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <stdbool.h>
+
void broadcast_signal(int sig, bool wait_for_exit, bool send_sighup);
diff --git a/src/grp-system/libcore/kmod-setup.c b/src/grp-system/libcore/kmod-setup.c
index 3503db52ed..6ddf1137ec 100644
--- a/src/grp-system/libcore/kmod-setup.c
+++ b/src/grp-system/libcore/kmod-setup.c
@@ -24,10 +24,10 @@
#include <libkmod.h>
#endif
-#include "bus-util.h"
-#include "capability-util.h"
+#include "shared/bus-util.h"
+#include "basic/capability-util.h"
#include "kmod-setup.h"
-#include "macro.h"
+#include "basic/macro.h"
#ifdef HAVE_KMOD
static void systemd_kmod_log(
diff --git a/src/grp-system/libcore/load-fragment-gperf.gperf.m4 b/src/grp-system/libcore/load-fragment-gperf.gperf.m4
index 8193418980..c9f6e6acf7 100644
--- a/src/grp-system/libcore/load-fragment-gperf.gperf.m4
+++ b/src/grp-system/libcore/load-fragment-gperf.gperf.m4
@@ -1,8 +1,8 @@
%{
#include <stddef.h>
-#include "conf-parser.h"
+#include "shared/conf-parser.h"
#include "load-fragment.h"
-#include "missing.h"
+#include "basic/missing.h"
%}
struct ConfigPerfItem;
%null_strings
diff --git a/src/grp-system/libcore/load-fragment.c b/src/grp-system/libcore/load-fragment.c
index f01c72568b..0f17dc85c2 100644
--- a/src/grp-system/libcore/load-fragment.c
+++ b/src/grp-system/libcore/load-fragment.c
@@ -31,42 +31,42 @@
#include <sys/resource.h>
#include <sys/stat.h>
-#include "af-list.h"
-#include "alloc-util.h"
-#include "bus-error.h"
-#include "bus-internal.h"
-#include "bus-util.h"
-#include "cap-list.h"
-#include "capability-util.h"
+#include "basic/af-list.h"
+#include "basic/alloc-util.h"
+#include "sd-bus/bus-error.h"
+#include "sd-bus/bus-internal.h"
+#include "shared/bus-util.h"
+#include "basic/cap-list.h"
+#include "basic/capability-util.h"
#include "cgroup.h"
-#include "conf-parser.h"
-#include "cpu-set-util.h"
-#include "env-util.h"
-#include "errno-list.h"
-#include "escape.h"
-#include "fd-util.h"
-#include "fs-util.h"
-#include "ioprio.h"
+#include "shared/conf-parser.h"
+#include "basic/cpu-set-util.h"
+#include "basic/env-util.h"
+#include "basic/errno-list.h"
+#include "basic/escape.h"
+#include "basic/fd-util.h"
+#include "basic/fs-util.h"
+#include "basic/ioprio.h"
#include "load-fragment.h"
-#include "log.h"
-#include "missing.h"
-#include "parse-util.h"
-#include "path-util.h"
-#include "process-util.h"
-#include "rlimit-util.h"
+#include "basic/log.h"
+#include "basic/missing.h"
+#include "basic/parse-util.h"
+#include "basic/path-util.h"
+#include "basic/process-util.h"
+#include "basic/rlimit-util.h"
#ifdef HAVE_SECCOMP
-#include "seccomp-util.h"
+#include "shared/seccomp-util.h"
#endif
-#include "securebits.h"
-#include "signal-util.h"
-#include "stat-util.h"
-#include "string-util.h"
-#include "strv.h"
-#include "unit-name.h"
+#include "basic/securebits.h"
+#include "basic/signal-util.h"
+#include "basic/stat-util.h"
+#include "basic/string-util.h"
+#include "basic/strv.h"
+#include "basic/unit-name.h"
#include "unit-printf.h"
#include "unit.h"
-#include "utf8.h"
-#include "web-util.h"
+#include "basic/utf8.h"
+#include "basic/web-util.h"
int config_parse_warn_compat(
const char *unit,
diff --git a/src/grp-system/libcore/loopback-setup.c b/src/grp-system/libcore/loopback-setup.c
index d5b65bca9c..f92e346f8c 100644
--- a/src/grp-system/libcore/loopback-setup.c
+++ b/src/grp-system/libcore/loopback-setup.c
@@ -21,7 +21,6 @@
#include <stdlib.h>
#include "basic/missing.h"
-#include "sd-netlink/netlink-util.h"
#include "sd-netlink/sd-netlink.h"
#include "loopback-setup.h"
diff --git a/src/grp-system/libcore/machine-id-setup.h b/src/grp-system/libcore/machine-id-setup.h
index a7e7678ed9..c5dd8d7790 100644
--- a/src/grp-system/libcore/machine-id-setup.h
+++ b/src/grp-system/libcore/machine-id-setup.h
@@ -19,5 +19,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <systemd/sd-id128.h>
+
int machine_id_commit(const char *root);
int machine_id_setup(const char *root, sd_id128_t machine_id);
diff --git a/src/grp-system/libcore/manager.c b/src/grp-system/libcore/manager.c
index ada22f52fd..2637296c9b 100644
--- a/src/grp-system/libcore/manager.c
+++ b/src/grp-system/libcore/manager.c
@@ -36,56 +36,56 @@
#include <libaudit.h>
#endif
-#include "sd-daemon.h"
-#include "sd-messages.h"
+#include <systemd/sd-daemon.h>
+#include <systemd/sd-messages.h>
-#include "alloc-util.h"
+#include "basic/alloc-util.h"
#include "audit-fd.h"
-#include "boot-timestamps.h"
-#include "bus-common-errors.h"
-#include "bus-error.h"
-#include "bus-kernel.h"
-#include "bus-util.h"
+#include "shared/boot-timestamps.h"
+#include "sd-bus/bus-common-errors.h"
+#include "sd-bus/bus-error.h"
+#include "sd-bus/bus-kernel.h"
+#include "shared/bus-util.h"
#include "dbus-job.h"
#include "dbus-manager.h"
#include "dbus-unit.h"
#include "dbus.h"
-#include "dirent-util.h"
-#include "env-util.h"
-#include "escape.h"
-#include "exit-status.h"
-#include "fd-util.h"
-#include "fileio.h"
-#include "fs-util.h"
-#include "hashmap.h"
-#include "io-util.h"
+#include "basic/dirent-util.h"
+#include "basic/env-util.h"
+#include "basic/escape.h"
+#include "basic/exit-status.h"
+#include "basic/fd-util.h"
+#include "basic/fileio.h"
+#include "basic/fs-util.h"
+#include "basic/hashmap.h"
+#include "basic/io-util.h"
#include "locale-setup.h"
-#include "log.h"
-#include "macro.h"
+#include "basic/log.h"
+#include "basic/macro.h"
#include "manager.h"
-#include "missing.h"
-#include "mkdir.h"
-#include "mkdir.h"
-#include "parse-util.h"
-#include "path-lookup.h"
-#include "path-util.h"
-#include "process-util.h"
-#include "ratelimit.h"
-#include "rm-rf.h"
-#include "signal-util.h"
-#include "special.h"
-#include "stat-util.h"
-#include "string-table.h"
-#include "string-util.h"
-#include "strv.h"
-#include "terminal-util.h"
-#include "time-util.h"
+#include "basic/missing.h"
+#include "basic/mkdir.h"
+#include "basic/mkdir.h"
+#include "basic/parse-util.h"
+#include "shared/path-lookup.h"
+#include "basic/path-util.h"
+#include "basic/process-util.h"
+#include "basic/ratelimit.h"
+#include "basic/rm-rf.h"
+#include "basic/signal-util.h"
+#include "basic/special.h"
+#include "basic/stat-util.h"
+#include "basic/string-table.h"
+#include "basic/string-util.h"
+#include "basic/strv.h"
+#include "basic/terminal-util.h"
+#include "basic/time-util.h"
#include "transaction.h"
-#include "umask-util.h"
-#include "unit-name.h"
-#include "util.h"
-#include "virt.h"
-#include "watchdog.h"
+#include "basic/umask-util.h"
+#include "basic/unit-name.h"
+#include "basic/util.h"
+#include "basic/virt.h"
+#include "shared/watchdog.h"
#define NOTIFY_RCVBUF_SIZE (8*1024*1024)
#define CGROUPS_AGENT_RCVBUF_SIZE (8*1024*1024)
diff --git a/src/grp-system/libcore/manager.h b/src/grp-system/libcore/manager.h
index 1e99f1e1b6..87186b6e40 100644
--- a/src/grp-system/libcore/manager.h
+++ b/src/grp-system/libcore/manager.h
@@ -70,9 +70,9 @@ typedef enum StatusType {
#include "execute.h"
#include "job.h"
-#include "path-lookup.h"
+#include "shared/path-lookup.h"
#include "show-status.h"
-#include "unit-name.h"
+#include "basic/unit-name.h"
struct Manager {
/* Note that the set of units we know of is allowed to be
diff --git a/src/grp-system/libcore/scope.h b/src/grp-system/libcore/scope.h
index 2dc86325c5..f0cb3bd3e2 100644
--- a/src/grp-system/libcore/scope.h
+++ b/src/grp-system/libcore/scope.h
@@ -22,6 +22,7 @@
typedef struct Scope Scope;
#include "kill.h"
+#include "unit.h"
typedef enum ScopeResult {
SCOPE_SUCCESS,
diff --git a/src/grp-system/libcore/selinux-access.c b/src/grp-system/libcore/selinux-access.c
index cc287d602d..a259e128c1 100644
--- a/src/grp-system/libcore/selinux-access.c
+++ b/src/grp-system/libcore/selinux-access.c
@@ -29,17 +29,17 @@
#include <libaudit.h>
#endif
-#include "sd-bus.h"
+#include <systemd/sd-bus.h>
-#include "alloc-util.h"
+#include "basic/alloc-util.h"
#include "audit-fd.h"
-#include "bus-util.h"
-#include "log.h"
-#include "path-util.h"
-#include "selinux-util.h"
-#include "stdio-util.h"
-#include "strv.h"
-#include "util.h"
+#include "shared/bus-util.h"
+#include "basic/log.h"
+#include "basic/path-util.h"
+#include "basic/selinux-util.h"
+#include "basic/stdio-util.h"
+#include "basic/strv.h"
+#include "basic/util.h"
static bool initialized = false;
diff --git a/src/grp-system/libcore/selinux-setup.c b/src/grp-system/libcore/selinux-setup.c
index 4072df58e6..37a143bce4 100644
--- a/src/grp-system/libcore/selinux-setup.c
+++ b/src/grp-system/libcore/selinux-setup.c
@@ -25,12 +25,12 @@
#include <selinux/selinux.h>
#endif
-#include "log.h"
-#include "macro.h"
+#include "basic/log.h"
+#include "basic/macro.h"
#include "selinux-setup.h"
-#include "selinux-util.h"
-#include "string-util.h"
-#include "util.h"
+#include "basic/selinux-util.h"
+#include "basic/string-util.h"
+#include "basic/util.h"
#ifdef HAVE_SELINUX
_printf_(2,3)
diff --git a/src/grp-system/libcore/service.h b/src/grp-system/libcore/service.h
index ba9086d8cd..aa7d1de8b6 100644
--- a/src/grp-system/libcore/service.h
+++ b/src/grp-system/libcore/service.h
@@ -27,6 +27,7 @@ typedef struct ServiceFDStore ServiceFDStore;
#include "kill.h"
#include "path.h"
+#include "socket.h"
typedef enum ServiceRestart {
SERVICE_RESTART_NO,
@@ -199,7 +200,7 @@ struct Service {
extern const UnitVTable service_vtable;
-int service_set_socket_fd(Service *s, int fd, struct Socket *socket, bool selinux_context_net);
+int service_set_socket_fd(Service *s, int fd, Socket *socket, bool selinux_context_net);
void service_close_socket_fd(Service *s);
const char* service_restart_to_string(ServiceRestart i) _const_;
diff --git a/src/grp-system/libcore/slice.h b/src/grp-system/libcore/slice.h
index c9f3f61067..71e05a4d6a 100644
--- a/src/grp-system/libcore/slice.h
+++ b/src/grp-system/libcore/slice.h
@@ -21,6 +21,8 @@
typedef struct Slice Slice;
+#include "unit.h"
+
struct Slice {
Unit meta;
diff --git a/src/grp-system/libcore/smack-setup.h b/src/grp-system/libcore/smack-setup.h
index 78164c85e6..f8c62ce067 100644
--- a/src/grp-system/libcore/smack-setup.h
+++ b/src/grp-system/libcore/smack-setup.h
@@ -21,4 +21,6 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <stdbool.h>
+
int mac_smack_setup(bool *loaded_policy);
diff --git a/src/grp-system/libcore/socket.h b/src/grp-system/libcore/socket.h
index 3b214946e0..232d653fbe 100644
--- a/src/grp-system/libcore/socket.h
+++ b/src/grp-system/libcore/socket.h
@@ -23,7 +23,6 @@
typedef struct Socket Socket;
-#include "mount.h"
#include "service.h"
typedef enum SocketExecCommand {
diff --git a/src/grp-system/libcore/swap.h b/src/grp-system/libcore/swap.h
index c2cbfc5d2a..52e22e22e8 100644
--- a/src/grp-system/libcore/swap.h
+++ b/src/grp-system/libcore/swap.h
@@ -24,6 +24,8 @@
typedef struct Swap Swap;
+#include "unit.h"
+
typedef enum SwapExecCommand {
SWAP_EXEC_ACTIVATE,
SWAP_EXEC_DEACTIVATE,
diff --git a/src/grp-system/libcore/target.c b/src/grp-system/libcore/target.c
index e62a49be84..74af0ced0c 100644
--- a/src/grp-system/libcore/target.c
+++ b/src/grp-system/libcore/target.c
@@ -23,7 +23,6 @@
#include "basic/unit-name.h"
#include "dbus-target.h"
-#include "target.h"
#include "unit.h"
static const UnitActiveState state_translation_table[_TARGET_STATE_MAX] = {
diff --git a/src/grp-system/libcore/target.h b/src/grp-system/libcore/target.h
index 339aea154e..406b80019c 100644
--- a/src/grp-system/libcore/target.h
+++ b/src/grp-system/libcore/target.h
@@ -21,6 +21,8 @@
typedef struct Target Target;
+#include "unit.h"
+
struct Target {
Unit meta;
diff --git a/src/grp-system/libcore/timer.h b/src/grp-system/libcore/timer.h
index 99b47c3880..710ef126f0 100644
--- a/src/grp-system/libcore/timer.h
+++ b/src/grp-system/libcore/timer.h
@@ -23,6 +23,8 @@
typedef struct Timer Timer;
+#include "unit.h"
+
typedef enum TimerBase {
TIMER_ACTIVE,
TIMER_BOOT,
diff --git a/src/grp-system/libcore/unit.h b/src/grp-system/libcore/unit.h
index 9321537fe6..72ceed1fef 100644
--- a/src/grp-system/libcore/unit.h
+++ b/src/grp-system/libcore/unit.h
@@ -259,8 +259,10 @@ typedef enum UnitSetPropertiesMode {
#include "automount.h"
#include "busname.h"
#include "device.h"
+#include "mount.h"
#include "path.h"
#include "scope.h"
+#include "service.h"
#include "slice.h"
#include "socket.h"
#include "swap.h"