tree-wide: extend verbs functions with extra per-verb data parameter

We often have a pattern where the same verb function is used for
multiple actions. This leads to an antipattern where we figure out what
action needs to be taken from argv[0] multiple times: often once in
parse_argv() to figure out what options are allowed, then once again
implicitly in dispatch_verb(), and then again in the action verb itself.
Let's allow passing a parameter into the verb to simplify this.

This matches a pattern we have in conf-parser.h, where we have both
void *userdata (more global) and void *data (per-config item). Here,
I opted for uintptr_t userdata. It seems that most of the time we'll
want to just pass an enum value. This works OK with no casts. I also
tried a void* and union. In both cases, much more boilerplate is needed:
either a cast or a macro to help avoid compiler warnings. uintptr_t
seems generic enough to cover foreseeable usecases with no fuss.

This is a noop refactoring. See next commit for an example.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2026-03-18 10:28:47 +00:00
committed by Luca Boccassi
parent 9e8babc8ab
commit 31ddd87da0
216 changed files with 745 additions and 573 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ static int add_arch(Table *t, Architecture a) {
return 0;
}
int verb_architectures(int argc, char *argv[], void *userdata) {
int verb_architectures(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(table_unrefp) Table *table = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_architectures(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_architectures(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -9,7 +9,7 @@
#include "format-table.h"
#include "runtime-scope.h"
int verb_blame(int argc, char *argv[], void *userdata) {
int verb_blame(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(unit_times_free_arrayp) UnitTimes *times = NULL;
_cleanup_(table_unrefp) Table *table = NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_blame(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_blame(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -122,7 +122,7 @@ static int test_calendar_one(usec_t n, const char *p) {
return table_print(table, NULL);
}
int verb_calendar(int argc, char *argv[], void *userdata) {
int verb_calendar(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r = 0;
usec_t n;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_calendar(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_calendar(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -19,7 +19,7 @@ static int table_add_capability(Table *table, int c) {
return 0;
}
int verb_capabilities(int argc, char *argv[], void *userdata) {
int verb_capabilities(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(table_unrefp) Table *table = NULL;
unsigned last_cap;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_capabilities(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_capabilities(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -9,7 +9,7 @@
#include "pretty-print.h"
#include "strv.h"
int verb_cat_config(int argc, char *argv[], void *userdata) {
int verb_cat_config(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
pager_open(arg_pager_flags);
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_cat_config(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_cat_config(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -338,7 +338,7 @@ static int edid_search(char16_t **ret_panel) {
return -ENOTUNIQ;
}
int verb_chid(int argc, char *argv[], void *userdata) {
int verb_chid(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(table_unrefp) Table *table = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_chid(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_chid(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -7,7 +7,7 @@
#include "log.h"
#include "string-util.h"
int verb_compare_versions(int argc, char *argv[], void *userdata) {
int verb_compare_versions(int argc, char *argv[], uintptr_t _data, void *userdata) {
const char *v1 = ASSERT_PTR(argv[1]), *v2 = ASSERT_PTR(argv[argc-1]);
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_compare_versions(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_compare_versions(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -136,7 +136,7 @@ static int verify_conditions(char **lines, RuntimeScope scope, const char *unit,
return r > 0 && q > 0 ? 0 : -EIO;
}
int verb_condition(int argc, char *argv[], void *userdata) {
int verb_condition(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
r = verify_conditions(strv_skip(argv, 1), arg_runtime_scope, arg_unit, arg_root);
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_condition(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_condition(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -201,7 +201,7 @@ static int list_dependencies(sd_bus *bus, const char *name) {
return list_dependencies_one(bus, name, 0, &units, 0);
}
int verb_critical_chain(int argc, char *argv[], void *userdata) {
int verb_critical_chain(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(unit_times_free_arrayp) UnitTimes *times = NULL;
int n, r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_critical_chain(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_critical_chain(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -12,7 +12,7 @@
#include "json-util.h"
#include "strv.h"
int verb_dlopen_metadata(int argc, char *argv[], void *userdata) {
int verb_dlopen_metadata(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_free_ char *abspath = NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_dlopen_metadata(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_dlopen_metadata(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -146,7 +146,7 @@ static int expand_patterns(sd_bus *bus, char **patterns, char ***ret) {
return 0;
}
int verb_dot(int argc, char *argv[], void *userdata) {
int verb_dot(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_dot(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_dot(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -112,7 +112,7 @@ static int mangle_patterns(char **args, char ***ret) {
return 0;
}
int verb_dump(int argc, char *argv[], void *userdata) {
int verb_dump(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_strv_free_ char **patterns = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_dump(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_dump(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -7,7 +7,7 @@
#include "log.h"
#include "strv.h"
int verb_exit_status(int argc, char *argv[], void *userdata) {
int verb_exit_status(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(table_unrefp) Table *table = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_exit_status(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_exit_status(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -101,7 +101,7 @@ static int dump_fdstore(sd_bus *bus, const char *arg) {
return EXIT_SUCCESS;
}
int verb_fdstore(int argc, char *argv[], void *userdata) {
int verb_fdstore(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_fdstore(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_fdstore(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -112,7 +112,7 @@ static void dump_filesystem_set(const FilesystemSet *set) {
}
}
int verb_filesystems(int argc, char *argv[], void *userdata) {
int verb_filesystems(int argc, char *argv[], uintptr_t _data, void *userdata) {
#if ! HAVE_LIBBPF
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Not compiled with libbpf support, sorry.");
#endif
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_filesystems(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_filesystems(int argc, char *argv[], uintptr_t _data, void *userdata);
+2 -2
View File
@@ -8,11 +8,11 @@
#include "time-util.h"
#include "tpm2-util.h"
int verb_has_tpm2(int argc, char **argv, void *userdata) {
int verb_has_tpm2(int argc, char *argv[], uintptr_t _data, void *userdata) {
return verb_has_tpm2_generic(arg_quiet);
}
int verb_identify_tpm2(int argc, char **argv, void *userdata) {
int verb_identify_tpm2(int argc, char **argv, uintptr_t _data, void *userdata) {
#if HAVE_TPM2
int r;
+4 -2
View File
@@ -1,5 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_has_tpm2(int argc, char *argv[], void *userdata);
int verb_identify_tpm2(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_has_tpm2(int argc, char *argv[], uintptr_t _data, void *userdata);
int verb_identify_tpm2(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -83,7 +83,7 @@ static int table_add_designator_line(Table *table, PartitionDesignator d, Partit
return 0;
}
int verb_image_policy(int argc, char *argv[], void *userdata) {
int verb_image_policy(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
for (int i = 1; i < argc; i++) {
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_image_policy(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_image_policy(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -127,7 +127,7 @@ static int analyze_elf(char **filenames, sd_json_format_flags_t json_flags) {
return 0;
}
int verb_elf_inspection(int argc, char *argv[], void *userdata) {
int verb_elf_inspection(int argc, char *argv[], uintptr_t _data, void *userdata) {
pager_open(arg_pager_flags);
return analyze_elf(strv_skip(argv, 1), arg_json_format_flags);
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_elf_inspection(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_elf_inspection(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -8,7 +8,7 @@
#include "runtime-scope.h"
#include "verb-log-control.h"
int verb_log_control(int argc, char *argv[], void *userdata) {
int verb_log_control(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_log_control(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_log_control(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -34,7 +34,7 @@ static int dump_malloc_info(sd_bus *bus, char *service) {
return bus_message_dump_fd(reply);
}
int verb_malloc(int argc, char *argv[], void *userdata) {
int verb_malloc(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
char **services = STRV_MAKE("org.freedesktop.systemd1");
int r;
+3 -2
View File
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_malloc(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_malloc(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -50,7 +50,7 @@ static int add_nvpcr_to_table(Tpm2Context **c, Table *t, const char *name) {
}
#endif
int verb_nvpcrs(int argc, char *argv[], void *userdata) {
int verb_nvpcrs(int argc, char *argv[], uintptr_t _data, void *userdata) {
#if HAVE_TPM2
_cleanup_(tpm2_context_unrefp) Tpm2Context *c = NULL;
_cleanup_(table_unrefp) Table *table = NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_nvpcrs(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_nvpcrs(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -96,7 +96,7 @@ static int add_pcr_to_table(Table *table, const char *alg, uint32_t pcr) {
return 0;
}
int verb_pcrs(int argc, char *argv[], void *userdata) {
int verb_pcrs(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(table_unrefp) Table *table = NULL;
const char *alg = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_pcrs(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_pcrs(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -470,7 +470,7 @@ static int produce_plot_as_text(UnitTimes *times, const BootTimes *boot) {
return show_table(table, "Units");
}
int verb_plot(int argc, char *argv[], void *userdata) {
int verb_plot(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(free_host_infop) HostInfo *host = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(unit_times_free_arrayp) UnitTimes *times = NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_plot(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_plot(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -2904,7 +2904,7 @@ static int analyze_security(sd_bus *bus,
return ret;
}
int verb_security(int argc, char *argv[], void *userdata) {
int verb_security(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_json_variant_unrefp) sd_json_variant *policy = NULL;
int r;
+3 -1
View File
@@ -1,10 +1,12 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "shared-forward.h"
typedef enum AnalyzeSecurityFlags {
ANALYZE_SECURITY_SHORT = 1 << 0,
ANALYZE_SECURITY_ONLY_LOADED = 1 << 1,
ANALYZE_SECURITY_ONLY_LONG_RUNNING = 1 << 2,
} AnalyzeSecurityFlags;
int verb_security(int argc, char *argv[], void *userdata);
int verb_security(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -11,7 +11,7 @@
#include "runtime-scope.h"
#include "string-util.h"
int verb_service_watchdogs(int argc, char *argv[], void *userdata) {
int verb_service_watchdogs(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_flush_close_unrefp) sd_bus *bus = NULL;
int b, r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_service_watchdogs(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_service_watchdogs(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -10,7 +10,7 @@
#include "log.h"
#include "smbios11.h"
int verb_smbios11(int argc, char *argv[], void *userdata) {
int verb_smbios11(int argc, char *argv[], uintptr_t _data, void *userdata) {
unsigned n = 0;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_smbios11(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_smbios11(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -10,7 +10,7 @@
#include "terminal-util.h"
#include "tpm2-util.h"
int verb_srk(int argc, char *argv[], void *userdata) {
int verb_srk(int argc, char *argv[], uintptr_t _data, void *userdata) {
#if HAVE_TPM2
_cleanup_(tpm2_context_unrefp) Tpm2Context *c = NULL;
_cleanup_(Esys_Freep) TPM2B_PUBLIC *public = NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_srk(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_srk(int argc, char *argv[], uintptr_t _data, void *userdata);
+2 -2
View File
@@ -106,7 +106,7 @@ static void dump_syscall_filter(const SyscallFilterSet *set) {
printf(" %s%s%s\n", syscall[0] == '@' ? ansi_underline() : "", syscall, ansi_normal());
}
int verb_syscall_filters(int argc, char *argv[], void *userdata) {
int verb_syscall_filters(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
pager_open(arg_pager_flags);
@@ -195,7 +195,7 @@ int verb_syscall_filters(int argc, char *argv[], void *userdata) {
}
#else
int verb_syscall_filters(int argc, char *argv[], void *userdata) {
int verb_syscall_filters(int argc, char *argv[], uintptr_t _data, void *userdata) {
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Not compiled with syscall filters, sorry.");
}
#endif
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_syscall_filters(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_syscall_filters(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -9,7 +9,7 @@
#include "bus-util.h"
#include "runtime-scope.h"
int verb_time(int argc, char *argv[], void *userdata) {
int verb_time(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_free_ char *buf = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_time(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_time(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -9,7 +9,7 @@
#include "strv.h"
#include "time-util.h"
int verb_timespan(int argc, char *argv[], void *userdata) {
int verb_timespan(int argc, char *argv[], uintptr_t _data, void *userdata) {
STRV_FOREACH(input_timespan, strv_skip(argv, 1)) {
_cleanup_(table_unrefp) Table *table = NULL;
usec_t output_usecs;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_timespan(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_timespan(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -76,7 +76,7 @@ static int test_timestamp_one(const char *p) {
return table_print(table, NULL);
}
int verb_timestamp(int argc, char *argv[], void *userdata) {
int verb_timestamp(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r = 0;
char **args = strv_skip(argv, 1);
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_timestamp(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_timestamp(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -21,7 +21,7 @@ static bool strv_fnmatch_strv_or_empty(char* const* patterns, char **strv, int f
return false;
}
int verb_unit_files(int argc, char *argv[], void *userdata) {
int verb_unit_files(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_hashmap_free_ Hashmap *unit_ids = NULL, *unit_names = NULL;
_cleanup_(lookup_paths_done) LookupPaths lp = {};
char **patterns = strv_skip(argv, 1);
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_unit_files(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_unit_files(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -19,7 +19,7 @@
#include "unit-def.h"
#include "unit-name.h"
int verb_unit_gdb(int argc, char *argv[], void *userdata) {
int verb_unit_gdb(int argc, char *argv[], uintptr_t _data, void *userdata) {
static const struct sigaction sa = {
.sa_sigaction = sigterm_process_group_handler,
.sa_flags = SA_SIGINFO,
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_unit_gdb(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_unit_gdb(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -7,7 +7,7 @@
#include "path-lookup.h"
#include "strv.h"
int verb_unit_paths(int argc, char *argv[], void *userdata) {
int verb_unit_paths(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(lookup_paths_done) LookupPaths paths = {};
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_unit_paths(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_unit_paths(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -20,7 +20,7 @@
#include "unit-def.h"
#include "unit-name.h"
int verb_unit_shell(int argc, char *argv[], void *userdata) {
int verb_unit_shell(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_unit_shell(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_unit_shell(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -59,7 +59,7 @@ static int process_aliases(char *argv[], char *tempdir, char ***ret) {
return 0;
}
int verb_verify(int argc, char *argv[], void *userdata) {
int verb_verify(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_strv_free_ char **filenames = NULL;
_cleanup_(rm_rf_physical_and_freep) char *tempdir = NULL;
int r;
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_verify(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_verify(int argc, char *argv[], uintptr_t _data, void *userdata);
+8 -4
View File
@@ -170,7 +170,7 @@ void time_parsing_hint(const char *p, bool calendar, bool timestamp, bool timesp
"Use 'systemd-analyze timespan \"%s\"' instead?", p);
}
static int verb_transient_settings(int argc, char *argv[], void *userdata) {
static int verb_transient_settings(int argc, char *argv[], uintptr_t _data, void *userdata) {
assert(argc >= 2);
pager_open(arg_pager_flags);
@@ -193,7 +193,7 @@ static int verb_transient_settings(int argc, char *argv[], void *userdata) {
return 0;
}
static int help(int argc, char *argv[], void *userdata) {
static int help(void) {
_cleanup_free_ char *link = NULL, *dot_link = NULL;
int r;
@@ -326,6 +326,10 @@ static int help(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
static int parse_argv(int argc, char *argv[]) {
enum {
ARG_VERSION = 0x100,
@@ -466,7 +470,7 @@ static int parse_argv(int argc, char *argv[]) {
break;
case 'h':
return help(0, NULL, NULL);
return help();
case ARG_VERSION:
return version();
@@ -773,7 +777,7 @@ static int run(int argc, char *argv[]) {
_cleanup_(umount_and_freep) char *mounted_dir = NULL;
static const Verb verbs[] = {
{ "help", VERB_ANY, VERB_ANY, 0, help },
{ "help", VERB_ANY, VERB_ANY, 0, verb_help },
{ "time", VERB_ANY, 1, VERB_DEFAULT, verb_time },
{ "blame", VERB_ANY, 1, 0, verb_blame },
{ "critical-chain", VERB_ANY, VERB_ANY, 0, verb_critical_chain },
+2 -2
View File
@@ -555,7 +555,7 @@ static int device_new_from_arg(const char *s, sd_device **ret) {
return 1; /* Found. */
}
static int verb_load(int argc, char *argv[], void *userdata) {
static int verb_load(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_device_unrefp) sd_device *device = NULL;
unsigned max_brightness, brightness, percent;
bool clamp;
@@ -605,7 +605,7 @@ static int verb_load(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_save(int argc, char *argv[], void *userdata) {
static int verb_save(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_device_unrefp) sd_device *device = NULL;
_cleanup_free_ char *path = NULL;
unsigned max_brightness, brightness;
+9 -6
View File
@@ -26,7 +26,7 @@ static char **arg_path = NULL;
STATIC_DESTRUCTOR_REGISTER(arg_path, strv_freep);
static int help(int argc, char *argv[], void *userdata) {
static int help(void) {
_cleanup_free_ char *link = NULL;
int r;
@@ -54,6 +54,10 @@ static int help(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
static int parse_argv(int argc, char *argv[]) {
enum {
ARG_PATH = 0x100,
@@ -76,8 +80,7 @@ static int parse_argv(int argc, char *argv[]) {
switch (c) {
case 'h':
help(0, NULL, NULL);
return 0;
return help();
case ARG_VERSION:
return version();
@@ -335,7 +338,7 @@ static int make_bad(const char *prefix, uint64_t done, const char *suffix, char
return 0;
}
static int verb_status(int argc, char *argv[], void *userdata) {
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;
int r;
@@ -441,7 +444,7 @@ static int rename_in_dir_idempotent(int fd, const char *from, const char *to) {
return 1;
}
static int verb_set(int argc, char *argv[], void *userdata) {
static int verb_set(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_free_ char *path = NULL, *prefix = NULL, *suffix = NULL, *good = NULL, *bad = NULL;
const char *target, *source1, *source2;
uint64_t left, done;
@@ -547,7 +550,7 @@ exists:
static int run(int argc, char *argv[]) {
static const Verb verbs[] = {
{ "help", VERB_ANY, VERB_ANY, 0, help },
{ "help", VERB_ANY, VERB_ANY, 0, verb_help },
{ "status", VERB_ANY, 1, VERB_DEFAULT, verb_status },
{ "good", VERB_ANY, 1, 0, verb_set },
{ "bad", VERB_ANY, 1, 0, verb_set },
+1 -1
View File
@@ -87,7 +87,7 @@ static int cleanup_orphaned_files(
return r;
}
int verb_cleanup(int argc, char *argv[], void *userdata) {
int verb_cleanup(int argc, char *argv[], uintptr_t _data, void *userdata) {
dev_t esp_devid = 0, xbootldr_devid = 0;
int r;
+1 -1
View File
@@ -3,4 +3,4 @@
#include "shared-forward.h"
int verb_cleanup(int argc, char *argv[], void *userdata);
int verb_cleanup(int argc, char *argv[], uintptr_t _data, void *userdata);
+3 -3
View File
@@ -1661,7 +1661,7 @@ static int run_install(InstallContext *c) {
return install_variables(c, path);
}
int verb_install(int argc, char *argv[], void *userdata) {
int verb_install(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
/* Invoked for both "update" and "install" */
@@ -1882,7 +1882,7 @@ static int remove_loader_variables(void) {
return r;
}
int verb_remove(int argc, char *argv[], void *userdata) {
int verb_remove(int argc, char *argv[], uintptr_t _data, void *userdata) {
sd_id128_t uuid = SD_ID128_NULL;
int r;
@@ -1956,7 +1956,7 @@ int verb_remove(int argc, char *argv[], void *userdata) {
return RET_GATHER(r, remove_loader_variables());
}
int verb_is_installed(int argc, char *argv[], void *userdata) {
int verb_is_installed(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(install_context_done) InstallContext c = INSTALL_CONTEXT_NULL;
+3 -3
View File
@@ -3,8 +3,8 @@
#include "shared-forward.h"
int verb_install(int argc, char *argv[], void *userdata);
int verb_remove(int argc, char *argv[], void *userdata);
int verb_is_installed(int argc, char *argv[], void *userdata);
int verb_install(int argc, char *argv[], uintptr_t _data, void *userdata);
int verb_remove(int argc, char *argv[], uintptr_t _data, void *userdata);
int verb_is_installed(int argc, char *argv[], uintptr_t _data, void *userdata);
int vl_method_install(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
+1 -1
View File
@@ -201,7 +201,7 @@ int install_random_seed(const char *esp) {
return set_system_token();
}
int verb_random_seed(int argc, char *argv[], void *userdata) {
int verb_random_seed(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
r = find_esp_and_warn(arg_root, arg_esp_path, /* unprivileged_mode= */ false, &arg_esp_path);
+3 -1
View File
@@ -1,6 +1,8 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "shared-forward.h"
int install_random_seed(const char *esp);
int verb_random_seed(int argc, char *argv[], void *userdata);
int verb_random_seed(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -12,7 +12,7 @@
#include "log.h"
#include "parse-util.h"
int verb_reboot_to_firmware(int argc, char *argv[], void *userdata) {
int verb_reboot_to_firmware(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
r = verify_touch_variables_allowed(argv[0]);
+1 -1
View File
@@ -3,7 +3,7 @@
#include "shared-forward.h"
int verb_reboot_to_firmware(int argc, char *argv[], void *userdata);
int verb_reboot_to_firmware(int argc, char *argv[], uintptr_t _data, void *userdata);
int vl_method_set_reboot_to_firmware(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
int vl_method_get_reboot_to_firmware(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
+1 -1
View File
@@ -129,7 +129,7 @@ static int parse_loader_entry_target_arg(const char *arg1, char16_t **ret_target
return 0;
}
int verb_set_efivar(int argc, char *argv[], void *userdata) {
int verb_set_efivar(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
r = verify_touch_variables_allowed(argv[0]);
+3 -1
View File
@@ -1,4 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_set_efivar(int argc, char *argv[], void *userdata);
#include "shared-forward.h"
int verb_set_efivar(int argc, char *argv[], uintptr_t _data, void *userdata);
+2 -2
View File
@@ -326,7 +326,7 @@ static void print_yes_no_line(bool first, bool good, const char *name) {
name);
}
int verb_status(int argc, char *argv[], void *userdata) {
int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) {
sd_id128_t esp_uuid = SD_ID128_NULL, xbootldr_uuid = SD_ID128_NULL;
dev_t esp_devid = 0, xbootldr_devid = 0;
int r, k;
@@ -621,7 +621,7 @@ int verb_status(int argc, char *argv[], void *userdata) {
return r;
}
int verb_list(int argc, char *argv[], void *userdata) {
int verb_list(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
dev_t esp_devid = 0, xbootldr_devid = 0;
int r;
+2 -2
View File
@@ -3,7 +3,7 @@
#include "shared-forward.h"
int verb_status(int argc, char *argv[], void *userdata);
int verb_list(int argc, char *argv[], void *userdata);
int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata);
int verb_list(int argc, char *argv[], uintptr_t _data, void *userdata);
int vl_method_list_boot_entries(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
+2 -2
View File
@@ -6,7 +6,7 @@
#include "bootctl-uki.h"
#include "kernel-image.h"
int verb_kernel_identify(int argc, char *argv[], void *userdata) {
int verb_kernel_identify(int argc, char *argv[], uintptr_t _data, void *userdata) {
KernelImageType t;
int r;
@@ -18,7 +18,7 @@ int verb_kernel_identify(int argc, char *argv[], void *userdata) {
return 0;
}
int verb_kernel_inspect(int argc, char *argv[], void *userdata) {
int verb_kernel_inspect(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_free_ char *cmdline = NULL, *uname = NULL, *pname = NULL;
KernelImageType t;
int r;
+2 -2
View File
@@ -3,5 +3,5 @@
#include "shared-forward.h"
int verb_kernel_identify(int argc, char *argv[], void *userdata);
int verb_kernel_inspect(int argc, char *argv[], void *userdata);
int verb_kernel_identify(int argc, char *argv[], uintptr_t _data, void *userdata);
int verb_kernel_inspect(int argc, char *argv[], uintptr_t _data, void *userdata);
+1 -1
View File
@@ -199,7 +199,7 @@ static int unlink_entry(const BootConfig *config, const char *root, const char *
return 0;
}
int verb_unlink(int argc, char *argv[], void *userdata) {
int verb_unlink(int argc, char *argv[], uintptr_t _data, void *userdata) {
dev_t esp_devid = 0, xbootldr_devid = 0;
int r;
+1 -1
View File
@@ -3,6 +3,6 @@
#include "shared-forward.h"
int verb_unlink(int argc, char *argv[], void *userdata);
int verb_unlink(int argc, char *argv[], uintptr_t _data, void *userdata);
int boot_config_count_known_files(const BootConfig *config, const char* root, Hashmap **ret_known_files);
+7 -4
View File
@@ -244,7 +244,7 @@ GracefulMode arg_graceful(void) {
return _arg_graceful;
}
static int help(int argc, char *argv[], void *userdata) {
static int help(void) {
_cleanup_free_ char *link = NULL;
int r;
@@ -355,6 +355,10 @@ static int help(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
static int parse_argv(int argc, char *argv[]) {
enum {
ARG_ESP_PATH = 0x100,
@@ -432,8 +436,7 @@ static int parse_argv(int argc, char *argv[]) {
switch (c) {
case 'h':
help(0, NULL, NULL);
return 0;
return help();
case ARG_VERSION:
return version();
@@ -672,7 +675,7 @@ static int parse_argv(int argc, char *argv[]) {
static int bootctl_main(int argc, char *argv[]) {
static const Verb verbs[] = {
{ "help", VERB_ANY, VERB_ANY, 0, help },
{ "help", VERB_ANY, VERB_ANY, 0, verb_help },
{ "status", VERB_ANY, 1, VERB_DEFAULT, verb_status },
{ "install", VERB_ANY, 1, 0, verb_install },
{ "update", VERB_ANY, 1, 0, verb_install },
+12 -12
View File
@@ -175,7 +175,7 @@ static void notify_bus_error(const sd_bus_error *error) {
(void) sd_notifyf(/* unset_environment= */ false, "BUSERROR=%s", error->name);
}
static int verb_list_bus_names(int argc, char **argv, void *userdata) {
static int verb_list_bus_names(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;
_cleanup_hashmap_free_ Hashmap *names = NULL;
@@ -535,7 +535,7 @@ static int tree_one(sd_bus *bus, const char *service) {
return r;
}
static int verb_tree(int argc, char **argv, void *userdata) {
static int verb_tree(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
@@ -994,7 +994,7 @@ static int members_flags_to_string(const Member *m, char **ret) {
return 0;
}
static int verb_introspect(int argc, char **argv, void *userdata) {
static int verb_introspect(int argc, char *argv[], uintptr_t _data, void *userdata) {
static const XMLIntrospectOps ops = {
.on_interface = on_interface,
.on_method = on_method,
@@ -1381,11 +1381,11 @@ static int monitor(int argc, char **argv, int (*dump)(sd_bus_message *m, FILE *f
}
}
static int verb_monitor(int argc, char **argv, void *userdata) {
static int verb_monitor(int argc, char *argv[], uintptr_t _data, void *userdata) {
return monitor(argc, argv, sd_json_format_enabled(arg_json_format_flags) ? message_json : message_dump);
}
static int verb_capture(int argc, char **argv, void *userdata) {
static int verb_capture(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_free_ char *osname = NULL;
static const char info[] =
"busctl (systemd) " PROJECT_VERSION_FULL " (Git " GIT_VERSION ")";
@@ -1412,7 +1412,7 @@ static int verb_capture(int argc, char **argv, void *userdata) {
return r;
}
static int verb_status(int argc, char **argv, void *userdata) {
static int verb_status(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
pid_t pid;
@@ -1782,7 +1782,7 @@ static int bus_message_dump(sd_bus_message *m, uint64_t flags) {
return 0;
}
static int verb_call(int argc, char **argv, void *userdata) {
static int verb_call(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL, *reply = NULL;
@@ -1849,7 +1849,7 @@ static int verb_call(int argc, char **argv, void *userdata) {
return bus_message_dump(reply, /* flags= */ 0);
}
static int verb_emit_signal(int argc, char **argv, void *userdata) {
static int verb_emit_signal(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
_cleanup_fdset_free_ FDSet *passed_fdset = NULL;
@@ -1894,7 +1894,7 @@ static int verb_emit_signal(int argc, char **argv, void *userdata) {
return 0;
}
static int verb_get_property(int argc, char **argv, void *userdata) {
static int verb_get_property(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
int r;
@@ -1952,7 +1952,7 @@ static int on_bus_signal(sd_bus_message *msg, void *userdata, sd_bus_error *ret_
return 0;
}
static int verb_wait_signal(int argc, char **argv, void *userdata) {
static int verb_wait_signal(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_event_unrefp) sd_event *e = NULL;
_cleanup_(sd_event_source_unrefp) sd_event_source *timer = NULL;
@@ -2000,7 +2000,7 @@ static int verb_wait_signal(int argc, char **argv, void *userdata) {
return sd_event_loop(e);
}
static int verb_set_property(int argc, char **argv, void *userdata) {
static int verb_set_property(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
@@ -2131,7 +2131,7 @@ static int help(void) {
return 0;
}
static int verb_help(int argc, char **argv, void *userdata) {
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
+5 -5
View File
@@ -223,7 +223,7 @@ static int help(void) {
return 0;
}
static int verb_help(int argc, char *argv[], void *userdata) {
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
@@ -272,7 +272,7 @@ static int parse_argv(int argc, char *argv[]) {
while ((c = getopt_long(argc, argv, "hA:o:F:1D:rS:U:qn:", options, NULL)) >= 0)
switch (c) {
case 'h':
return verb_help(0, NULL, NULL);
return help();
case ARG_VERSION:
return version();
@@ -893,7 +893,7 @@ static int print_entry(
return print_info(stdout, j, n_found > 0);
}
static int verb_dump_list(int argc, char **argv, void *userdata) {
static int verb_dump_list(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_journal_closep) sd_journal *j = NULL;
_cleanup_(table_unrefp) Table *t = NULL;
size_t n_found = 0;
@@ -1144,7 +1144,7 @@ error:
return r;
}
static int verb_dump_core(int argc, char **argv, void *userdata) {
static int verb_dump_core(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_journal_closep) sd_journal *j = NULL;
_cleanup_fclose_ FILE *f = NULL;
int r;
@@ -1180,7 +1180,7 @@ static int verb_dump_core(int argc, char **argv, void *userdata) {
return 0;
}
static int verb_run_debug(int argc, char **argv, void *userdata) {
static int verb_run_debug(int argc, char *argv[], uintptr_t _data, void *userdata) {
static const struct sigaction sa = {
.sa_sigaction = sigterm_process_group_handler,
.sa_flags = SA_SIGINFO,
+19 -15
View File
@@ -305,7 +305,7 @@ static int add_credentials_to_table(Table *t, bool encrypted) {
return 1; /* Creds dir set */
}
static int verb_list(int argc, char **argv, void *userdata) {
static int verb_list(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(table_unrefp) Table *t = NULL;
int r, q;
@@ -465,14 +465,14 @@ static int write_blob(FILE *f, const void *data, size_t size) {
return 0;
}
static int verb_cat(int argc, char **argv, void *userdata) {
static int verb_cat(int argc, char *argv[], uintptr_t _data, void *userdata) {
usec_t timestamp;
int r, ret = 0;
timestamp = arg_timestamp != USEC_INFINITY ? arg_timestamp : now(CLOCK_REALTIME);
STRV_FOREACH(cn, strv_skip(argv, 1)) {
_cleanup_(erase_and_freep) void *data = NULL;
_cleanup_(erase_and_freep) void *content = NULL;
size_t size = 0;
int encrypted;
@@ -500,7 +500,7 @@ static int verb_cat(int argc, char **argv, void *userdata) {
UINT64_MAX, SIZE_MAX,
flags,
NULL,
(char**) &data, &size);
(char**) &content, &size);
if (r == -ENOENT) /* Not found */
continue;
if (r >= 0) /* Found */
@@ -522,7 +522,7 @@ static int verb_cat(int argc, char **argv, void *userdata) {
*cn,
timestamp,
uid_is_valid(arg_uid) ? arg_uid : getuid(),
&IOVEC_MAKE(data, size),
&IOVEC_MAKE(content, size),
arg_credential_flags | CREDENTIAL_ANY_SCOPE,
&plaintext);
else
@@ -532,18 +532,18 @@ static int verb_cat(int argc, char **argv, void *userdata) {
arg_tpm2_device,
arg_tpm2_signature,
uid_is_valid(arg_uid) ? arg_uid : getuid(),
&IOVEC_MAKE(data, size),
&IOVEC_MAKE(content, size),
arg_credential_flags | CREDENTIAL_ANY_SCOPE,
&plaintext);
if (r < 0)
return r;
erase_and_free(data);
data = TAKE_PTR(plaintext.iov_base);
erase_and_free(content);
content = TAKE_PTR(plaintext.iov_base);
size = plaintext.iov_len;
}
r = write_blob(stdout, data, size);
r = write_blob(stdout, content, size);
if (r < 0)
return r;
}
@@ -551,7 +551,7 @@ static int verb_cat(int argc, char **argv, void *userdata) {
return ret;
}
static int verb_encrypt(int argc, char **argv, void *userdata) {
static int verb_encrypt(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(iovec_done_erase) struct iovec plaintext = {}, output = {};
_cleanup_free_ char *base64_buf = NULL, *fname = NULL;
const char *input_path, *output_path, *name;
@@ -659,7 +659,7 @@ static int verb_encrypt(int argc, char **argv, void *userdata) {
return EXIT_SUCCESS;
}
static int verb_decrypt(int argc, char **argv, void *userdata) {
static int verb_decrypt(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(iovec_done_erase) struct iovec input = {}, plaintext = {};
_cleanup_free_ char *fname = NULL;
_cleanup_fclose_ FILE *output_file = NULL;
@@ -741,7 +741,7 @@ static int verb_decrypt(int argc, char **argv, void *userdata) {
return EXIT_SUCCESS;
}
static int verb_setup(int argc, char **argv, void *userdata) {
static int verb_setup(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(iovec_done_erase) struct iovec host_key = {};
int r;
@@ -754,14 +754,14 @@ static int verb_setup(int argc, char **argv, void *userdata) {
return EXIT_SUCCESS;
}
static int verb_has_tpm2(int argc, char **argv, void *userdata) {
static int verb_has_tpm2(int argc, char *argv[], uintptr_t _data, void *userdata) {
if (!arg_quiet)
log_notice("The 'systemd-creds %1$s' command has been replaced by 'systemd-analyze %1$s'. Redirecting invocation.", argv[optind]);
return verb_has_tpm2_generic(arg_quiet);
}
static int verb_help(int argc, char **argv, void *userdata) {
static int help(void) {
_cleanup_free_ char *link = NULL;
int r;
@@ -825,6 +825,10 @@ static int verb_help(int argc, char **argv, void *userdata) {
return 0;
}
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
static int parse_argv(int argc, char *argv[]) {
enum {
@@ -889,7 +893,7 @@ static int parse_argv(int argc, char *argv[]) {
switch (c) {
case 'h':
return verb_help(0, NULL, NULL);
return help();
case ARG_VERSION:
return version();
+2 -2
View File
@@ -2586,7 +2586,7 @@ static int discover_key(const char *key_file, const char *volume, TokenType toke
return r;
}
static int verb_attach(int argc, char *argv[], void *userdata) {
static int verb_attach(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(crypt_freep) struct crypt_device *cd = NULL;
_unused_ _cleanup_(remove_and_erasep) const char *destroy_key_file = NULL;
crypt_status_info status;
@@ -2826,7 +2826,7 @@ static int verb_attach(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_detach(int argc, char *argv[], void *userdata) {
static int verb_detach(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(crypt_freep) struct crypt_device *cd = NULL;
const char *volume = ASSERT_PTR(argv[1]);
int r;
+4 -4
View File
@@ -109,7 +109,7 @@ static int parse_argv(int argc, char *argv[]) {
return 1;
}
static int verb_status(int argc, char *argv[], void *userdata) {
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 */
[FACTORY_RESET_UNSUPPORTED] = EXIT_SUCCESS,
@@ -130,7 +130,7 @@ static int verb_status(int argc, char *argv[], void *userdata) {
return exit_status_table[f];
}
static int verb_request(int argc, char *argv[], void *userdata) {
static int verb_request(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
FactoryResetMode f = factory_reset_mode();
@@ -197,7 +197,7 @@ static int verb_request(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_cancel(int argc, char *argv[], void *userdata) {
static int verb_cancel(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
FactoryResetMode f = factory_reset_mode();
@@ -269,7 +269,7 @@ static int retrigger_block_devices(void) {
return 0;
}
static int verb_complete(int argc, char *argv[], void *userdata) {
static int verb_complete(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
FactoryResetMode f = factory_reset_mode();
+25 -25
View File
@@ -178,7 +178,7 @@ static int acquire_bus(sd_bus **bus) {
return 0;
}
static int verb_list_homes(int argc, char *argv[], void *userdata) {
static int verb_list_homes(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;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -627,7 +627,7 @@ static int acquire_passed_secrets(const char *user_name, UserRecord **ret) {
return 0;
}
static int verb_activate_home(int argc, char *argv[], void *userdata) {
static int verb_activate_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r, ret = 0;
@@ -675,7 +675,7 @@ static int verb_activate_home(int argc, char *argv[], void *userdata) {
return ret;
}
static int verb_deactivate_home(int argc, char *argv[], void *userdata) {
static int verb_deactivate_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r, ret = 0;
@@ -775,7 +775,7 @@ static int inspect_home(sd_bus *bus, const char *name) {
return 0;
}
static int verb_inspect_homes(int argc, char *argv[], void *userdata) {
static int verb_inspect_homes(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
@@ -833,7 +833,7 @@ static int authenticate_home(sd_bus *bus, const char *name) {
}
}
static int verb_authenticate_homes(int argc, char *argv[], void *userdata) {
static int verb_authenticate_homes(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
@@ -1557,7 +1557,7 @@ static int create_home_common(sd_json_variant *input, bool show_enforce_password
return 0;
}
static int verb_create_home(int argc, char *argv[], void *userdata) {
static int verb_create_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
if (argc >= 2) {
@@ -1592,7 +1592,7 @@ static int verb_create_home(int argc, char *argv[], void *userdata) {
return create_home_common(/* input= */ NULL, /* show_enforce_password_policy_hint= */ true);
}
static int verb_adopt_home(int argc, char *argv[], void *userdata) {
static int verb_adopt_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r, ret = 0;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -1674,7 +1674,7 @@ static int register_home_one(sd_bus *bus, FILE *f, const char *path) {
return register_home_common(bus, v);
}
static int verb_register_home(int argc, char *argv[], void *userdata) {
static int verb_register_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -1705,7 +1705,7 @@ static int verb_register_home(int argc, char *argv[], void *userdata) {
return r;
}
static int verb_unregister_home(int argc, char *argv[], void *userdata) {
static int verb_unregister_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -1735,7 +1735,7 @@ static int verb_unregister_home(int argc, char *argv[], void *userdata) {
return ret;
}
static int verb_remove_home(int argc, char *argv[], void *userdata) {
static int verb_remove_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r, ret = 0;
@@ -1900,7 +1900,7 @@ static int home_record_reset_human_interaction_permission(UserRecord *hr) {
return 0;
}
static int verb_update_home(int argc, char *argv[], void *userdata) {
static int verb_update_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(user_record_unrefp) UserRecord *hr = NULL, *secret = NULL;
_cleanup_free_ char *buffer = NULL;
@@ -2077,7 +2077,7 @@ static int verb_update_home(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_passwd_home(int argc, char *argv[], void *userdata) {
static int verb_passwd_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(user_record_unrefp) UserRecord *old_secret = NULL, *new_secret = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_free_ char *buffer = NULL;
@@ -2194,7 +2194,7 @@ static int parse_disk_size(const char *t, uint64_t *ret) {
return 0;
}
static int verb_resize_home(int argc, char *argv[], void *userdata) {
static int verb_resize_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
_cleanup_(user_record_unrefp) UserRecord *secret = NULL;
uint64_t ds = UINT64_MAX;
@@ -2256,7 +2256,7 @@ static int verb_resize_home(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_lock_home(int argc, char *argv[], void *userdata) {
static int verb_lock_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r, ret = 0;
@@ -2287,7 +2287,7 @@ static int verb_lock_home(int argc, char *argv[], void *userdata) {
return ret;
}
static int verb_unlock_home(int argc, char *argv[], void *userdata) {
static int verb_unlock_home(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r, ret = 0;
@@ -2335,7 +2335,7 @@ static int verb_unlock_home(int argc, char *argv[], void *userdata) {
return ret;
}
static int verb_with_home(int argc, char *argv[], void *userdata) {
static int verb_with_home(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 *m = NULL, *reply = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -2458,7 +2458,7 @@ static int verb_with_home(int argc, char *argv[], void *userdata) {
return ret;
}
static int verb_lock_all_homes(int argc, char *argv[], void *userdata) {
static int verb_lock_all_homes(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 *m = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -2479,7 +2479,7 @@ static int verb_lock_all_homes(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_deactivate_all_homes(int argc, char *argv[], void *userdata) {
static int verb_deactivate_all_homes(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 *m = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -2500,7 +2500,7 @@ static int verb_deactivate_all_homes(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_rebalance(int argc, char *argv[], void *userdata) {
static int verb_rebalance(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 *m = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -2983,7 +2983,7 @@ static int create_interactively(void) {
static int add_signing_keys_from_credentials(void);
static int verb_firstboot(int argc, char *argv[], void *userdata) {
static int verb_firstboot(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
/* Let's honour the systemd.firstboot kernel command line option, just like the systemd-firstboot
@@ -4082,7 +4082,7 @@ static int help(void) {
return 0;
}
static int verb_help(int argc, char *argv[], void *userdata) {
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
@@ -5249,7 +5249,7 @@ static int fallback_shell(int argc, char *argv[]) {
return log_error_errno(errno, "Failed to execute shell '%s': %m", shell);
}
static int verb_list_signing_keys(int argc, char *argv[], void *userdata) {
static int verb_list_signing_keys(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -5335,7 +5335,7 @@ static int verb_list_signing_keys(int argc, char *argv[], void *userdata) {
return 0;
}
static int verb_get_signing_key(int argc, char *argv[], void *userdata) {
static int verb_get_signing_key(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -5391,7 +5391,7 @@ static int add_signing_key_one(sd_bus *bus, const char *fn, FILE *key) {
return 0;
}
static int verb_add_signing_key(int argc, char *argv[], void *userdata) {
static int verb_add_signing_key(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
@@ -5498,7 +5498,7 @@ static int remove_signing_key_one(sd_bus *bus, const char *fn) {
return 0;
}
static int verb_remove_signing_key(int argc, char *argv[], void *userdata) {
static int verb_remove_signing_key(int argc, char *argv[], uintptr_t _data, void *userdata) {
int r;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
+9 -9
View File
@@ -549,7 +549,7 @@ static int get_hostname_based_on_flag(sd_bus *bus) {
return get_one_name(bus, attr, NULL);
}
static int verb_show_status(int argc, char **argv, void *userdata) {
static int verb_show_status(int argc, char *argv[], uintptr_t _data, void *userdata) {
sd_bus *bus = userdata;
int r;
@@ -601,7 +601,7 @@ static int set_simple_string(sd_bus *bus, const char *target, const char *method
return set_simple_string_internal(bus, NULL, target, method, value);
}
static int verb_set_hostname(int argc, char **argv, void *userdata) {
static int verb_set_hostname(int argc, char *argv[], uintptr_t _data, void *userdata) {
_cleanup_free_ char *h = NULL;
const char *hostname = argv[1];
sd_bus *bus = userdata;
@@ -687,27 +687,27 @@ static int verb_set_hostname(int argc, char **argv, void *userdata) {
return ret;
}
static int verb_get_or_set_hostname(int argc, char **argv, void *userdata) {
static int verb_get_or_set_hostname(int argc, char *argv[], uintptr_t data, void *userdata) {
return argc == 1 ? get_hostname_based_on_flag(userdata) :
verb_set_hostname(argc, argv, userdata);
verb_set_hostname(argc, argv, data, userdata);
}
static int verb_get_or_set_icon_name(int argc, char **argv, void *userdata) {
static int verb_get_or_set_icon_name(int argc, char *argv[], uintptr_t _data, void *userdata) {
return argc == 1 ? get_one_name(userdata, "IconName", NULL) :
set_simple_string(userdata, "icon", "SetIconName", argv[1]);
}
static int verb_get_or_set_chassis(int argc, char **argv, void *userdata) {
static int verb_get_or_set_chassis(int argc, char *argv[], uintptr_t _data, void *userdata) {
return argc == 1 ? get_one_name(userdata, "Chassis", NULL) :
set_simple_string(userdata, "chassis", "SetChassis", argv[1]);
}
static int verb_get_or_set_deployment(int argc, char **argv, void *userdata) {
static int verb_get_or_set_deployment(int argc, char *argv[], uintptr_t _data, void *userdata) {
return argc == 1 ? get_one_name(userdata, "Deployment", NULL) :
set_simple_string(userdata, "deployment", "SetDeployment", argv[1]);
}
static int verb_get_or_set_location(int argc, char **argv, void *userdata) {
static int verb_get_or_set_location(int argc, char *argv[], uintptr_t _data, void *userdata) {
return argc == 1 ? get_one_name(userdata, "Location", NULL) :
set_simple_string(userdata, "location", "SetLocation", argv[1]);
}
@@ -752,7 +752,7 @@ static int help(void) {
return 0;
}
static int verb_help(int argc, char **argv, void *userdata) {
static int verb_help(int argc, char *argv[], uintptr_t _data, void *userdata) {
return help();
}
+2 -2
View File
@@ -15,11 +15,11 @@ static const char *arg_hwdb_bin_dir = NULL;
static const char *arg_root = NULL;
static bool arg_strict = false;
static int verb_query(int argc, char *argv[], void *userdata) {
static int verb_query(int argc, char *argv[], uintptr_t _data, void *userdata) {
return hwdb_query(argv[1], arg_root);
}
static int verb_update(int argc, char *argv[], void *userdata) {
static int verb_update(int argc, char *argv[], uintptr_t _data, void *userdata) {
if (hwdb_bypass())
return 0;

Some files were not shown because too many files have changed in this diff Show More