From: Daan De Meyer Date: Fri, 18 Apr 2025 22:13:45 +0000 (+0200) Subject: machine: Remove circular header dependencies X-Git-Tag: v258-rc1~756^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff43267ce761975df694988eaa8ff30c5a783309;p=thirdparty%2Fsystemd.git machine: Remove circular header dependencies --- diff --git a/src/machine/image-dbus.c b/src/machine/image-dbus.c index 0e96127a055..5ad765237cb 100644 --- a/src/machine/image-dbus.c +++ b/src/machine/image-dbus.c @@ -7,6 +7,7 @@ #include "bus-get-properties.h" #include "bus-label.h" #include "bus-polkit.h" +#include "bus-util.h" #include "copy.h" #include "discover-image.h" #include "dissect-image.h" @@ -16,7 +17,9 @@ #include "image-dbus.h" #include "io-util.h" #include "loop-util.h" +#include "machined.h" #include "mount-util.h" +#include "operation.h" #include "os-util.h" #include "process-util.h" #include "raw-clone.h" diff --git a/src/machine/image-dbus.h b/src/machine/image-dbus.h index 0a7975bc528..38626cffe28 100644 --- a/src/machine/image-dbus.h +++ b/src/machine/image-dbus.h @@ -2,8 +2,6 @@ #pragma once #include "bus-object.h" -#include "discover-image.h" -#include "machined.h" extern const BusObjectImplementation image_object; diff --git a/src/machine/image-varlink.c b/src/machine/image-varlink.c index fc05edf8e14..4749487541c 100644 --- a/src/machine/image-varlink.c +++ b/src/machine/image-varlink.c @@ -5,6 +5,7 @@ #include "bus-polkit.h" #include "btrfs-util.h" +#include "discover-image.h" #include "fd-util.h" #include "fileio.h" #include "image.h" @@ -12,7 +13,9 @@ #include "io-util.h" #include "json-util.h" #include "machine.h" +#include "machined.h" #include "machine-pool.h" +#include "operation.h" #include "process-util.h" #include "string-util.h" diff --git a/src/machine/image.c b/src/machine/image.c index de4fba08568..f30c29e9ddf 100644 --- a/src/machine/image.c +++ b/src/machine/image.c @@ -7,6 +7,7 @@ #include "fileio.h" #include "image.h" #include "io-util.h" +#include "machined.h" #include "operation.h" #include "process-util.h" #include "string-table.h" diff --git a/src/machine/image.h b/src/machine/image.h index 522b7459e4b..fc8de564e8b 100644 --- a/src/machine/image.h +++ b/src/machine/image.h @@ -1,8 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "machined.h" -#include "operation.h" +#include + +#include "sd-bus.h" + +#include "macro.h" + +typedef struct Manager Manager; +typedef struct Operation Operation; typedef enum ImageCleanPoolMode { IMAGE_CLEAN_POOL_REMOVE_ALL, diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c index 657b9e91936..fc48d44a6ef 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -11,6 +11,7 @@ #include "bus-label.h" #include "bus-locator.h" #include "bus-polkit.h" +#include "bus-util.h" #include "copy.h" #include "env-file.h" #include "env-util.h" @@ -22,10 +23,12 @@ #include "local-addresses.h" #include "machine-dbus.h" #include "machine.h" +#include "machined.h" #include "mkdir.h" #include "mount-util.h" #include "mountpoint-util.h" #include "namespace-util.h" +#include "operation.h" #include "os-util.h" #include "path-util.h" #include "process-util.h" diff --git a/src/machine/machine-dbus.h b/src/machine/machine-dbus.h index fc9ec680877..72b6984660d 100644 --- a/src/machine/machine-dbus.h +++ b/src/machine/machine-dbus.h @@ -3,8 +3,9 @@ #include "sd-bus.h" -#include "bus-util.h" -#include "machine.h" +#include "bus-object.h" + +typedef struct Machine Machine; typedef enum { MACHINE_COPY_REPLACE = 1 << 0, /* Public API via DBUS, do not change */ diff --git a/src/machine/machine-varlink.c b/src/machine/machine-varlink.c index 038aa411ff4..e59cb851557 100644 --- a/src/machine/machine-varlink.c +++ b/src/machine/machine-varlink.c @@ -13,7 +13,9 @@ #include "json-util.h" #include "machine-varlink.h" #include "machine.h" +#include "machined.h" #include "mount-util.h" +#include "operation.h" #include "path-util.h" #include "pidref.h" #include "process-util.h" diff --git a/src/machine/machine-varlink.h b/src/machine/machine-varlink.h index 1c089bc7bc3..83f396d708b 100644 --- a/src/machine/machine-varlink.h +++ b/src/machine/machine-varlink.h @@ -3,7 +3,10 @@ #include "sd-varlink.h" -#include "machine.h" +#include "pidref.h" + +typedef struct Machine Machine; +typedef struct Manager Manager; #define VARLINK_ERROR_MACHINE_NO_SUCH_MACHINE "io.systemd.Machine.NoSuchMachine" #define VARLINK_ERROR_MACHINE_EXISTS "io.systemd.Machine.MachineExists" diff --git a/src/machine/machine.c b/src/machine/machine.c index 0568b22c461..36fc2a1476a 100644 --- a/src/machine/machine.c +++ b/src/machine/machine.c @@ -23,8 +23,10 @@ #include "hashmap.h" #include "machine-dbus.h" #include "machine.h" +#include "machined.h" #include "mkdir-label.h" #include "namespace-util.h" +#include "operation.h" #include "parse-util.h" #include "path-util.h" #include "process-util.h" diff --git a/src/machine/machine.h b/src/machine/machine.h index 520c2fcade6..a4b375ca32e 100644 --- a/src/machine/machine.h +++ b/src/machine/machine.h @@ -1,16 +1,19 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Machine Machine; -typedef enum KillWhom KillWhom; +#include "sd-bus.h" +#include "sd-event.h" +#include "sd-id128.h" #include "copy.h" #include "list.h" -#include "machined.h" -#include "operation.h" #include "pidref.h" #include "time-util.h" +typedef struct Machine Machine; +typedef struct Manager Manager; +typedef struct Operation Operation; + typedef enum MachineState { MACHINE_OPENING, /* Machine is being registered */ MACHINE_RUNNING, /* Machine is running */ @@ -27,12 +30,12 @@ typedef enum MachineClass { _MACHINE_CLASS_INVALID = -EINVAL, } MachineClass; -enum KillWhom { +typedef enum KillWhom { KILL_LEADER, KILL_ALL, _KILL_WHOM_MAX, _KILL_WHOM_INVALID = -EINVAL, -}; +} KillWhom; struct Machine { Manager *manager; diff --git a/src/machine/machined-core.c b/src/machine/machined-core.c index 5c6d2250519..d5804b54abd 100644 --- a/src/machine/machined-core.c +++ b/src/machine/machined-core.c @@ -2,12 +2,16 @@ #include "cgroup-util.h" #include "copy.h" +#include "discover-image.h" #include "env-file.h" #include "fd-util.h" #include "fileio.h" #include "iovec-util.h" +#include "log.h" +#include "machine.h" #include "machined.h" #include "namespace-util.h" +#include "os-util.h" #include "process-util.h" #include "socket-util.h" #include "strv.h" diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c index e1969d69d8d..f50ce901703 100644 --- a/src/machine/machined-dbus.c +++ b/src/machine/machined-dbus.c @@ -12,6 +12,7 @@ #include "bus-locator.h" #include "bus-message-util.h" #include "bus-polkit.h" +#include "bus-util.h" #include "cgroup-util.h" #include "discover-image.h" #include "errno-util.h" @@ -24,7 +25,9 @@ #include "io-util.h" #include "machine-dbus.h" #include "machine-pool.h" +#include "machine.h" #include "machined.h" +#include "operation.h" #include "os-util.h" #include "path-util.h" #include "process-util.h" diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c index 7c1210209bd..e331ccba666 100644 --- a/src/machine/machined-varlink.c +++ b/src/machine/machined-varlink.c @@ -9,6 +9,8 @@ #include "image-varlink.h" #include "json-util.h" #include "machine-varlink.h" +#include "machine.h" +#include "machined.h" #include "machined-varlink.h" #include "mkdir.h" #include "process-util.h" diff --git a/src/machine/machined-varlink.h b/src/machine/machined-varlink.h index f26bbe588c3..b96700719bf 100644 --- a/src/machine/machined-varlink.h +++ b/src/machine/machined-varlink.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "machined.h" +typedef struct Manager Manager; int manager_varlink_init(Manager *m); void manager_varlink_done(Manager *m); diff --git a/src/machine/machined.c b/src/machine/machined.c index 3a235aa0d40..253561e4350 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -19,10 +19,12 @@ #include "fd-util.h" #include "format-util.h" #include "hostname-util.h" +#include "machine.h" #include "machined-varlink.h" #include "machined.h" #include "main-func.h" #include "mkdir-label.h" +#include "operation.h" #include "process-util.h" #include "service-util.h" #include "signal-util.h" diff --git a/src/machine/machined.h b/src/machine/machined.h index 758678a2059..10de674e7f7 100644 --- a/src/machine/machined.h +++ b/src/machine/machined.h @@ -7,18 +7,18 @@ #include "sd-event.h" #include "sd-varlink.h" -typedef struct Manager Manager; - +#include "bus-object.h" #include "hashmap.h" -#include "image-dbus.h" #include "list.h" #include "local-addresses.h" -#include "machine-dbus.h" -#include "machine.h" -#include "operation.h" #include "pidref.h" +#include "runtime-scope.h" + +typedef struct Image Image; +typedef struct Machine Machine; +typedef struct Operation Operation; -struct Manager { +typedef struct Manager { sd_event *event; sd_bus *bus; @@ -44,7 +44,7 @@ struct Manager { sd_varlink_server *varlink_machine_server; RuntimeScope runtime_scope; /* for now: always RUNTIME_SCOPE_SYSTEM */ -}; +} Manager; int manager_add_machine(Manager *m, const char *name, Machine **ret); int manager_get_machine_by_pidref(Manager *m, const PidRef *pidref, Machine **ret); diff --git a/src/machine/operation.c b/src/machine/operation.c index ef4e178a8c0..22168a3670f 100644 --- a/src/machine/operation.c +++ b/src/machine/operation.c @@ -5,6 +5,9 @@ #include "alloc-util.h" #include "fd-util.h" +#include "log.h" +#include "machine.h" +#include "machined.h" #include "operation.h" #include "process-util.h" diff --git a/src/machine/operation.h b/src/machine/operation.h index 1a92847b80d..1fd8d42a2ef 100644 --- a/src/machine/operation.h +++ b/src/machine/operation.h @@ -5,13 +5,14 @@ #include "sd-bus.h" #include "sd-event.h" +#include "sd-varlink.h" #include "list.h" +typedef struct Machine Machine; +typedef struct Manager Manager; typedef struct Operation Operation; -#include "machined.h" - #define OPERATIONS_MAX 64 struct Operation {