From: Lennart Poettering Date: Thu, 10 Oct 2024 08:33:50 +0000 (+0200) Subject: varlink-idl: introduce c/.h file for common varlink IDL structures X-Git-Tag: v257-rc1~258^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=47bbcfff06449f11f5e749daac8ac1dfe3b4da02;p=thirdparty%2Fsystemd.git varlink-idl: introduce c/.h file for common varlink IDL structures Some structures we'll use in various varlink interfaces, move them to a common .c/.h file. For now this is only the dual timestamp object, but there will be more soon. --- diff --git a/src/shared/meson.build b/src/shared/meson.build index e759293364d..42dd32024a2 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 00000000000..9ed52308832 --- /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 00000000000..088d19bc2fb --- /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 17e0d79ec49..d9a0b3fbaff 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."),