diff --git a/src/shared/meson.build b/src/shared/meson.build index e759293364..42dd32024a 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -177,6 +177,7 @@ shared_sources = files( 'user-record.c', 'userdb-dropin.c', 'userdb.c', + 'varlink-idl-common.c', 'varlink-io.systemd.BootControl.c', 'varlink-io.systemd.Credentials.c', 'varlink-io.systemd.Hostname.c', diff --git a/src/shared/varlink-idl-common.c b/src/shared/varlink-idl-common.c new file mode 100644 index 0000000000..9ed5230883 --- /dev/null +++ b/src/shared/varlink-idl-common.c @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include "sd-varlink-idl.h" + +#include "varlink-idl-common.h" + +SD_VARLINK_DEFINE_STRUCT_TYPE( + Timestamp, + SD_VARLINK_FIELD_COMMENT("Timestamp in µs in the CLOCK_REALTIME clock (wallclock)"), + SD_VARLINK_DEFINE_FIELD(realtime, SD_VARLINK_INT, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp in µs in the CLOCK_MONOTONIC clock"), + SD_VARLINK_DEFINE_FIELD(monotonic, SD_VARLINK_INT, SD_VARLINK_NULLABLE)); diff --git a/src/shared/varlink-idl-common.h b/src/shared/varlink-idl-common.h new file mode 100644 index 0000000000..088d19bc2f --- /dev/null +++ b/src/shared/varlink-idl-common.h @@ -0,0 +1,6 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include "sd-varlink-idl.h" + +extern const sd_varlink_symbol vl_type_Timestamp; diff --git a/src/shared/varlink-io.systemd.Machine.c b/src/shared/varlink-io.systemd.Machine.c index 17e0d79ec4..d9a0b3fbaf 100644 --- a/src/shared/varlink-io.systemd.Machine.c +++ b/src/shared/varlink-io.systemd.Machine.c @@ -3,6 +3,7 @@ #include "sd-varlink-idl.h" #include "bus-polkit.h" +#include "varlink-idl-common.h" #include "varlink-io.systemd.Machine.h" static SD_VARLINK_DEFINE_METHOD( @@ -21,13 +22,6 @@ static SD_VARLINK_DEFINE_METHOD( SD_VARLINK_DEFINE_INPUT(allocateUnit, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE), VARLINK_DEFINE_POLKIT_INPUT); -static SD_VARLINK_DEFINE_STRUCT_TYPE( - Timestamp, - SD_VARLINK_FIELD_COMMENT("Timestamp in µs in the CLOCK_REALTIME clock (wallclock)"), - SD_VARLINK_DEFINE_FIELD(realtime, SD_VARLINK_INT, SD_VARLINK_NULLABLE), - SD_VARLINK_FIELD_COMMENT("Timestamp in µs in the CLOCK_MONOTONIC clock"), - SD_VARLINK_DEFINE_FIELD(monotonic, SD_VARLINK_INT, SD_VARLINK_NULLABLE)); - static SD_VARLINK_DEFINE_METHOD( Unregister, SD_VARLINK_FIELD_COMMENT("The name of a machine to unregister."),