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:
committed by
Luca Boccassi
parent
9e8babc8ab
commit
31ddd87da0
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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++) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user