From: Yu Watanabe Date: Thu, 4 Sep 2025 00:15:01 +0000 (+0900) Subject: bootctl: add missing varlink IDL entries X-Git-Tag: v257.10~78 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=40187351ccd883abf97f5bc20dcf9a82722795dd;p=thirdparty%2Fsystemd.git bootctl: add missing varlink IDL entries Follow-up for f2751d757f76f6e50e452431815370a3a45fdfc0. (cherry picked from commit ce631ae3d9847606f7ca70ddba1cb2d8fc3d6441) --- diff --git a/src/shared/varlink-io.systemd.BootControl.c b/src/shared/varlink-io.systemd.BootControl.c index 364fa8470e5..eeaef291e44 100644 --- a/src/shared/varlink-io.systemd.BootControl.c +++ b/src/shared/varlink-io.systemd.BootControl.c @@ -13,9 +13,27 @@ static SD_VARLINK_DEFINE_ENUM_TYPE( SD_VARLINK_FIELD_COMMENT("Automatically generated entries"), SD_VARLINK_DEFINE_ENUM_VALUE(auto)); +static SD_VARLINK_DEFINE_ENUM_TYPE( + BootEntrySource, + SD_VARLINK_FIELD_COMMENT("Boot entry found in EFI system partition (ESP)"), + SD_VARLINK_DEFINE_ENUM_VALUE(esp), + SD_VARLINK_FIELD_COMMENT("Boot entry found in XBOOTLDR partition"), + SD_VARLINK_DEFINE_ENUM_VALUE(xbootldr)); + +static SD_VARLINK_DEFINE_STRUCT_TYPE( + BootEntryAddon, + SD_VARLINK_FIELD_COMMENT("The location of the global addon."), + SD_VARLINK_DEFINE_FIELD(globalAddon, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("The location of the local addon."), + SD_VARLINK_DEFINE_FIELD(localAddon, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("The command line options by the addon."), + SD_VARLINK_DEFINE_FIELD(options, SD_VARLINK_STRING, 0)); + static SD_VARLINK_DEFINE_STRUCT_TYPE( BootEntry, SD_VARLINK_DEFINE_FIELD_BY_TYPE(type, BootEntryType, 0), + SD_VARLINK_FIELD_COMMENT("The source of the entry"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(source, BootEntrySource, 0), SD_VARLINK_FIELD_COMMENT("The string identifier of the entry"), SD_VARLINK_DEFINE_FIELD(id, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), SD_VARLINK_DEFINE_FIELD(path, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), @@ -41,7 +59,11 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE( SD_VARLINK_FIELD_COMMENT("Indicates whether this entry is the default entry."), SD_VARLINK_DEFINE_FIELD(isDefault, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE), SD_VARLINK_FIELD_COMMENT("Indicates whether this entry has been booted."), - SD_VARLINK_DEFINE_FIELD(isSelected, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE)); + SD_VARLINK_DEFINE_FIELD(isSelected, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Addon images of the entry."), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(addons, BootEntryAddon, SD_VARLINK_NULLABLE|SD_VARLINK_ARRAY), + SD_VARLINK_FIELD_COMMENT("Command line options of the entry."), + SD_VARLINK_DEFINE_FIELD(cmdline, SD_VARLINK_STRING, SD_VARLINK_NULLABLE)); static SD_VARLINK_DEFINE_METHOD_FULL( ListBootEntries, @@ -71,6 +93,10 @@ SD_VARLINK_DEFINE_INTERFACE( SD_VARLINK_INTERFACE_COMMENT("Boot Loader control APIs"), SD_VARLINK_SYMBOL_COMMENT("The type of a boot entry"), &vl_type_BootEntryType, + SD_VARLINK_SYMBOL_COMMENT("The source of a boot entry"), + &vl_type_BootEntrySource, + SD_VARLINK_SYMBOL_COMMENT("A structure encapsulating an addon of a boot entry"), + &vl_type_BootEntryAddon, SD_VARLINK_SYMBOL_COMMENT("A structure encapsulating a boot entry"), &vl_type_BootEntry, SD_VARLINK_SYMBOL_COMMENT("Enumerates boot entries. Method call must be called with 'more' flag set. Each response returns one entry. If no entries are defined returns the NoSuchBootEntry error."),