From cab5c5ef8177a077e0b6f61bd31903e61ad2cc72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 15 May 2026 19:29:36 +0200 Subject: [PATCH] shared/verbs: add VERB_DEFAULT_NOARG --- src/bless-boot/bless-boot.c | 2 +- src/busctl/busctl.c | 3 +-- src/creds/creds.c | 3 +-- src/factory-reset/factory-reset-tool.c | 2 +- src/hostname/hostnamectl.c | 2 +- src/import/importctl.c | 2 +- src/locale/localectl.c | 3 +-- src/login/loginctl.c | 3 +-- src/measure/measure-tool.c | 3 +-- src/oom/oomctl.c | 3 +-- src/pcrlock/pcrlock.c | 2 +- src/portable/portablectl.c | 2 +- src/shared/verbs.h | 2 ++ src/sysext/sysext.c | 2 +- src/timedate/timedatectl.c | 2 +- 15 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/bless-boot/bless-boot.c b/src/bless-boot/bless-boot.c index e0afb3611c..3680dfdc18 100644 --- a/src/bless-boot/bless-boot.c +++ b/src/bless-boot/bless-boot.c @@ -339,7 +339,7 @@ static int make_bad(const char *prefix, uint64_t done, const char *suffix, char return 0; } -VERB(verb_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, "Show status of current boot loader entry"); +VERB_DEFAULT_NOARG(verb_status, "status", "Show status of current boot loader entry"); static int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_free_ char *path = NULL, *prefix = NULL, *suffix = NULL, *good = NULL, *bad = NULL; uint64_t left, done; diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index 79ee1c55e8..9bf990d3db 100644 --- a/src/busctl/busctl.c +++ b/src/busctl/busctl.c @@ -176,8 +176,7 @@ static void notify_bus_error(const sd_bus_error *error) { (void) sd_notifyf(/* unset_environment= */ false, "BUSERROR=%s", error->name); } -VERB(verb_list, "list", NULL, VERB_ANY, 1, VERB_DEFAULT, - "List bus names"); +VERB_DEFAULT_NOARG(verb_list, "list", "List bus names"); static int verb_list(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_strv_free_ char **acquired = NULL, **activatable = NULL; _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL; diff --git a/src/creds/creds.c b/src/creds/creds.c index 95af91c120..a4087fc2be 100644 --- a/src/creds/creds.c +++ b/src/creds/creds.c @@ -305,8 +305,7 @@ static int add_credentials_to_table(Table *t, bool encrypted) { return 1; /* Creds dir set */ } -VERB(verb_list, "list", NULL, VERB_ANY, 1, VERB_DEFAULT, - "Show list of passed credentials"); +VERB_DEFAULT_NOARG(verb_list, "list", "Show list of passed credentials"); static int verb_list(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(table_unrefp) Table *t = NULL; int r, q; diff --git a/src/factory-reset/factory-reset-tool.c b/src/factory-reset/factory-reset-tool.c index e26e948e93..c21e84c2ef 100644 --- a/src/factory-reset/factory-reset-tool.c +++ b/src/factory-reset/factory-reset-tool.c @@ -99,7 +99,7 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) { return 1; } -VERB(verb_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, "Report current factory reset status"); +VERB_DEFAULT_NOARG(verb_status, "status", "Report current factory reset status"); static int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) { static const int exit_status_table[_FACTORY_RESET_MODE_MAX] = { /* Report current mode also as via exit status, but only return a subset of states */ diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c index 257b31fb88..ab21fcca1f 100644 --- a/src/hostname/hostnamectl.c +++ b/src/hostname/hostnamectl.c @@ -545,7 +545,7 @@ static int get_hostname_based_on_flag(sd_bus *bus) { return get_one_name(bus, attr, NULL); } -VERB(verb_show_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, "Show current hostname settings"); +VERB_DEFAULT_NOARG(verb_show_status, "status", "Show current hostname settings"); static int verb_show_status(int argc, char *argv[], uintptr_t _data, void *userdata) { sd_bus *bus = userdata; int r; diff --git a/src/import/importctl.c b/src/import/importctl.c index d4a6483f36..0140d0f67d 100644 --- a/src/import/importctl.c +++ b/src/import/importctl.c @@ -833,7 +833,7 @@ static int verb_export_raw(int argc, char *argv[], uintptr_t _data, void *userda return transfer_image_common(bus, m); } -VERB(verb_list_transfers, "list-transfers", NULL, VERB_ANY, 1, VERB_DEFAULT, "Show list of transfers in progress"); +VERB_DEFAULT_NOARG(verb_list_transfers, "list-transfers", "Show list of transfers in progress"); static int verb_list_transfers(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; diff --git a/src/locale/localectl.c b/src/locale/localectl.c index e20d5da9a0..f1f9ffbce0 100644 --- a/src/locale/localectl.c +++ b/src/locale/localectl.c @@ -147,8 +147,7 @@ static int print_status_info(StatusInfo *i) { return table_print_or_warn(table); } -VERB(verb_show_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, - "Show current locale settings"); +VERB_DEFAULT_NOARG(verb_show_status, "status", "Show current locale settings"); static int verb_show_status(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(status_info_clear) StatusInfo info = {}; static const struct bus_properties_map map[] = { diff --git a/src/login/loginctl.c b/src/login/loginctl.c index 5647621ba5..39c048e708 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -269,8 +269,7 @@ static int list_sessions_table_add_fallback(Table *table, sd_bus_message *reply, VERB_GROUP("Session Commands"); -VERB(verb_list_sessions, "list-sessions", NULL, VERB_ANY, 1, VERB_DEFAULT, - "List sessions"); +VERB_DEFAULT_NOARG(verb_list_sessions, "list-sessions", "List sessions"); static int verb_list_sessions(int argc, char *argv[], uintptr_t _data, void *userdata) { sd_bus *bus = ASSERT_PTR(userdata); _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; diff --git a/src/measure/measure-tool.c b/src/measure/measure-tool.c index d5bb5bea23..b8acd6d4b0 100644 --- a/src/measure/measure-tool.c +++ b/src/measure/measure-tool.c @@ -416,8 +416,7 @@ static int validate_stub(void) { return 0; } -VERB(verb_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, - "Show current PCR values"); +VERB_DEFAULT_NOARG(verb_status, "status", "Show current PCR values"); static int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL; int r; diff --git a/src/oom/oomctl.c b/src/oom/oomctl.c index 82ffe0e837..f6d451612b 100644 --- a/src/oom/oomctl.c +++ b/src/oom/oomctl.c @@ -65,8 +65,7 @@ static int help(void) { VERB_COMMON_HELP_HIDDEN(help); -VERB(verb_dump_state, "dump", NULL, VERB_ANY, 1, VERB_DEFAULT, - "Output the current state of systemd-oomd"); +VERB_DEFAULT_NOARG(verb_dump_state, "dump", "Output the current state of systemd-oomd"); static int verb_dump_state(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; diff --git a/src/pcrlock/pcrlock.c b/src/pcrlock/pcrlock.c index 4ebe3f995b..8315384b4d 100644 --- a/src/pcrlock/pcrlock.c +++ b/src/pcrlock/pcrlock.c @@ -2500,7 +2500,7 @@ static int event_log_load_and_process(EventLog **ret) { return 0; } -VERB(verb_show_log, "log", NULL, VERB_ANY, 1, VERB_DEFAULT, +VERB_DEFAULT_NOARG(verb_show_log, "log", "Show measurement log"); static int verb_show_log(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(sd_json_variant_unrefp) sd_json_variant *log_table = NULL, *pcr_table = NULL; diff --git a/src/portable/portablectl.c b/src/portable/portablectl.c index c70d506346..763acfc258 100644 --- a/src/portable/portablectl.c +++ b/src/portable/portablectl.c @@ -253,7 +253,7 @@ static int maybe_reload(sd_bus **bus) { return bus_service_manager_reload(*bus); } -VERB(verb_list_images, "list", NULL, VERB_ANY, 1, VERB_DEFAULT, +VERB_DEFAULT_NOARG(verb_list_images, "list", "List available portable service images (default)"); static int verb_list_images(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; diff --git a/src/shared/verbs.h b/src/shared/verbs.h index 4fb0486f75..e071cc5d89 100644 --- a/src/shared/verbs.h +++ b/src/shared/verbs.h @@ -60,6 +60,8 @@ typedef struct { VERB_SCOPE(scope, d, v, /* a= */ NULL, /* amin= */ VERB_ANY, /* amax= */ 1, /* f= */ 0, h) #define VERB_NOARG(d, v, h) \ VERB_SCOPE_NOARG(static, d, v, h) +#define VERB_DEFAULT_NOARG(d, v, h) \ + VERB_SCOPE(static, d, v, /* a= */ NULL, /* amin= */ VERB_ANY, /* amax= */ 1, /* f= */ VERB_DEFAULT, h) /* Magic entry in the table (which will not be returned) that designates the start of the group . * The macro works as a separator between groups and must be between other VERB* stanzas. */ diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c index 40d39b7654..ff00196cc6 100644 --- a/src/sysext/sysext.c +++ b/src/sysext/sysext.c @@ -2305,7 +2305,7 @@ static int merge(ImageClass image_class, return 1; } -VERB(verb_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, "Show current merge status (default)"); +VERB_DEFAULT_NOARG(verb_status, "status", "Show current merge status (default)"); static int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) { _cleanup_(table_unrefp) Table *t = NULL; int r, ret = 0; diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index c35b090035..7607b1ac4b 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -180,7 +180,7 @@ static int print_status_info(const StatusInfo *i) { return 0; } -VERB(verb_status, "status", NULL, VERB_ANY, 1, VERB_DEFAULT, "Show current time settings"); +VERB_DEFAULT_NOARG(verb_status, "status", "Show current time settings"); static int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) { StatusInfo info = {}; static const struct bus_properties_map map[] = {