manager: add dbus parameter names

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2020-04-10 12:50:21 +02:00
parent 3031660c21
commit dad97f0425
3 changed files with 689 additions and 97 deletions

View file

@ -118,9 +118,21 @@ int bus_job_method_get_waiting_jobs(sd_bus_message *message, void *userdata, sd_
const sd_bus_vtable bus_job_vtable[] = {
SD_BUS_VTABLE_START(0),
SD_BUS_METHOD("Cancel", NULL, NULL, bus_job_method_cancel, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetAfter", NULL, "a(usssoo)", bus_job_method_get_waiting_jobs, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetBefore", NULL, "a(usssoo)", bus_job_method_get_waiting_jobs, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetAfter",
NULL,,
"a(usssoo)",
SD_BUS_PARAM(jobs),
bus_job_method_get_waiting_jobs,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetBefore",
NULL,,
"a(usssoo)",
SD_BUS_PARAM(jobs),
bus_job_method_get_waiting_jobs,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_PROPERTY("Id", "u", NULL, offsetof(Job, id), SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_PROPERTY("Unit", "(so)", property_get_unit, 0, SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_PROPERTY("JobType", "s", property_get_type, offsetof(Job, type), SD_BUS_VTABLE_PROPERTY_CONST),

View file

@ -2477,87 +2477,569 @@ const sd_bus_vtable bus_manager_vtable[] = {
SD_BUS_PROPERTY("TimerSlackNSec", "t", property_get_timer_slack_nsec, 0, SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_PROPERTY("DefaultOOMPolicy", "s", bus_property_get_oom_policy, offsetof(Manager, default_oom_policy), SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_METHOD("GetUnit", "s", "o", method_get_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetUnitByPID", "u", "o", method_get_unit_by_pid, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetUnitByInvocationID", "ay", "o", method_get_unit_by_invocation_id, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetUnitByControlGroup", "s", "o", method_get_unit_by_control_group, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("LoadUnit", "s", "o", method_load_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("StartUnit", "ss", "o", method_start_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("StartUnitReplace", "sss", "o", method_start_unit_replace, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("StopUnit", "ss", "o", method_stop_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ReloadUnit", "ss", "o", method_reload_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("RestartUnit", "ss", "o", method_restart_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("TryRestartUnit", "ss", "o", method_try_restart_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ReloadOrRestartUnit", "ss", "o", method_reload_or_restart_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ReloadOrTryRestartUnit", "ss", "o", method_reload_or_try_restart_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("EnqueueUnitJob", "sss", "uososa(uosos)", method_enqueue_unit_job, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("KillUnit", "ssi", NULL, method_kill_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("CleanUnit", "sas", NULL, method_clean_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ResetFailedUnit", "s", NULL, method_reset_failed_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("SetUnitProperties", "sba(sv)", NULL, method_set_unit_properties, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("RefUnit", "s", NULL, method_ref_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("UnrefUnit", "s", NULL, method_unref_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("StartTransientUnit", "ssa(sv)a(sa(sv))", "o", method_start_transient_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetUnitProcesses", "s", "a(sus)", method_get_unit_processes, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("AttachProcessesToUnit", "ssau", NULL, method_attach_processes_to_unit, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("AbandonScope", "s", NULL, method_abandon_scope, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetJob", "u", "o", method_get_job, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetJobAfter", "u", "a(usssoo)", method_get_job_waiting, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetJobBefore", "u", "a(usssoo)", method_get_job_waiting, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("CancelJob", "u", NULL, method_cancel_job, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ClearJobs", NULL, NULL, method_clear_jobs, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ResetFailed", NULL, NULL, method_reset_failed, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListUnits", NULL, "a(ssssssouso)", method_list_units, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListUnitsFiltered", "as", "a(ssssssouso)", method_list_units_filtered, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListUnitsByPatterns", "asas", "a(ssssssouso)", method_list_units_by_patterns, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListUnitsByNames", "as", "a(ssssssouso)", method_list_units_by_names, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListJobs", NULL, "a(usssoo)", method_list_jobs, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Subscribe", NULL, NULL, method_subscribe, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Unsubscribe", NULL, NULL, method_unsubscribe, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Dump", NULL, "s", method_dump, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("DumpByFileDescriptor", NULL, "h", method_dump_by_fd, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("CreateSnapshot", "sb", "o", method_refuse_snapshot, SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_HIDDEN),
SD_BUS_METHOD("RemoveSnapshot", "s", NULL, method_refuse_snapshot, SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_HIDDEN),
SD_BUS_METHOD("Reload", NULL, NULL, method_reload, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Reexecute", NULL, NULL, method_reexecute, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Exit", NULL, NULL, method_exit, 0),
SD_BUS_METHOD("Reboot", NULL, NULL, method_reboot, SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("PowerOff", NULL, NULL, method_poweroff, SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("Halt", NULL, NULL, method_halt, SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("KExec", NULL, NULL, method_kexec, SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("SwitchRoot", "ss", NULL, method_switch_root, SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("SetEnvironment", "as", NULL, method_set_environment, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("UnsetEnvironment", "as", NULL, method_unset_environment, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("UnsetAndSetEnvironment", "asas", NULL, method_unset_and_set_environment, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListUnitFiles", NULL, "a(ss)", method_list_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ListUnitFilesByPatterns", "asas", "a(ss)", method_list_unit_files_by_patterns, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetUnitFileState", "s", "s", method_get_unit_file_state, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("EnableUnitFiles", "asbb", "ba(sss)", method_enable_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("DisableUnitFiles", "asb", "a(sss)", method_disable_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ReenableUnitFiles", "asbb", "ba(sss)", method_reenable_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("LinkUnitFiles", "asbb", "a(sss)", method_link_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("PresetUnitFiles", "asbb", "ba(sss)", method_preset_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("PresetUnitFilesWithMode", "assbb", "ba(sss)", method_preset_unit_files_with_mode, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("MaskUnitFiles", "asbb", "a(sss)", method_mask_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("UnmaskUnitFiles", "asb", "a(sss)", method_unmask_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("RevertUnitFiles", "as", "a(sss)", method_revert_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("SetDefaultTarget", "sb", "a(sss)", method_set_default_target, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetDefaultTarget", NULL, "s", method_get_default_target, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("PresetAllUnitFiles", "sbb", "a(sss)", method_preset_all_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("AddDependencyUnitFiles", "asssbb", "a(sss)", method_add_dependency_unit_files, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetUnitFileLinks", "sb", "as", method_get_unit_file_links, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("SetExitCode", "y", NULL, method_set_exit_code, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("LookupDynamicUserByName", "s", "u", method_lookup_dynamic_user_by_name, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("LookupDynamicUserByUID", "u", "s", method_lookup_dynamic_user_by_uid, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("GetDynamicUsers", NULL, "a(us)", method_get_dynamic_users, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnit",
"s",
SD_BUS_PARAM(name),
"o",
SD_BUS_PARAM(unit),
method_get_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnitByPID",
"u",
SD_BUS_PARAM(pid),
"o",
SD_BUS_PARAM(unit),
method_get_unit_by_pid,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnitByInvocationID",
"ay",
SD_BUS_PARAM(invocation_id),
"o",
SD_BUS_PARAM(unit),
method_get_unit_by_invocation_id,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnitByControlGroup",
"s",
SD_BUS_PARAM(cgroup),
"o",
SD_BUS_PARAM(unit),
method_get_unit_by_control_group,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("LoadUnit",
"s",
SD_BUS_PARAM(name),
"o",
SD_BUS_PARAM(unit),
method_load_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("StartUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_start_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("StartUnitReplace",
"sss",
SD_BUS_PARAM(old_unit)
SD_BUS_PARAM(new_unit)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_start_unit_replace,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("StopUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_stop_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ReloadUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_reload_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("RestartUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_restart_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("TryRestartUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_try_restart_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ReloadOrRestartUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_reload_or_restart_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ReloadOrTryRestartUnit",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_reload_or_try_restart_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("EnqueueUnitJob",
"sss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(job_type)
SD_BUS_PARAM(job_mode),
"uososa(uosos)",
SD_BUS_PARAM(job_id)
SD_BUS_PARAM(job_path)
SD_BUS_PARAM(unit_id)
SD_BUS_PARAM(unit_path)
SD_BUS_PARAM(job_type)
SD_BUS_PARAM(affected_jobs),
method_enqueue_unit_job,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("KillUnit",
"ssi",
SD_BUS_PARAM(name)
SD_BUS_PARAM(whom)
SD_BUS_PARAM(signal),
NULL,,
method_kill_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CleanUnit",
"sas",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mask),
NULL,,
method_clean_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ResetFailedUnit",
"s",
SD_BUS_PARAM(name),
NULL,,
method_reset_failed_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("SetUnitProperties",
"sba(sv)",
SD_BUS_PARAM(name)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(properties),
NULL,,
method_set_unit_properties,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("RefUnit",
"s",
SD_BUS_PARAM(name),
NULL,,
method_ref_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("UnrefUnit",
"s",
SD_BUS_PARAM(name),
NULL,,
method_unref_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("StartTransientUnit",
"ssa(sv)a(sa(sv))",
SD_BUS_PARAM(name)
SD_BUS_PARAM(mode)
SD_BUS_PARAM(properties)
SD_BUS_PARAM(aux),
"o",
SD_BUS_PARAM(job),
method_start_transient_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnitProcesses",
"s",
SD_BUS_PARAM(name),
"a(sus)",
SD_BUS_PARAM(processes),
method_get_unit_processes,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("AttachProcessesToUnit",
"ssau",
SD_BUS_PARAM(unit_name)
SD_BUS_PARAM(subcgroup)
SD_BUS_PARAM(pids),
NULL,,
method_attach_processes_to_unit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("AbandonScope",
"s",
SD_BUS_PARAM(name),
NULL,,
method_abandon_scope,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetJob",
"u",
SD_BUS_PARAM(id),
"o",
SD_BUS_PARAM(job),
method_get_job,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetJobAfter",
"u",
SD_BUS_PARAM(id),
"a(usssoo)",
SD_BUS_PARAM(jobs),
method_get_job_waiting,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetJobBefore",
"u",
SD_BUS_PARAM(id),
"a(usssoo)",
SD_BUS_PARAM(jobs),
method_get_job_waiting,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CancelJob",
"u",
SD_BUS_PARAM(id),
NULL,,
method_cancel_job,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ClearJobs",
NULL,
NULL,
method_clear_jobs,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ResetFailed",
NULL,
NULL,
method_reset_failed,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListUnits",
NULL,,
"a(ssssssouso)",
SD_BUS_PARAM(units),
method_list_units,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListUnitsFiltered",
"as",
SD_BUS_PARAM(states),
"a(ssssssouso)",
SD_BUS_PARAM(units),
method_list_units_filtered,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListUnitsByPatterns",
"asas",
SD_BUS_PARAM(states)
SD_BUS_PARAM(patterns),
"a(ssssssouso)",
SD_BUS_PARAM(units),
method_list_units_by_patterns,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListUnitsByNames",
"as",
SD_BUS_PARAM(names),
"a(ssssssouso)",
SD_BUS_PARAM(units),
method_list_units_by_names,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListJobs",
NULL,,
"a(usssoo)",
SD_BUS_PARAM(jobs),
method_list_jobs,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Subscribe",
NULL,
NULL,
method_subscribe,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Unsubscribe",
NULL,
NULL,
method_unsubscribe,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Dump",
NULL,,
"s",
SD_BUS_PARAM(output),
method_dump,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("DumpByFileDescriptor",
NULL,,
"h",
SD_BUS_PARAM(fd),
method_dump_by_fd,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CreateSnapshot",
"sb",
SD_BUS_PARAM(name)
SD_BUS_PARAM(cleanup),
"o",
SD_BUS_PARAM(unit),
method_refuse_snapshot,
SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_HIDDEN),
SD_BUS_METHOD_WITH_NAMES("RemoveSnapshot",
"s",
SD_BUS_PARAM(name),
NULL,,
method_refuse_snapshot,
SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_HIDDEN),
SD_BUS_METHOD("Reload",
NULL,
NULL,
method_reload,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Reexecute",
NULL,
NULL,
method_reexecute,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Exit",
NULL,
NULL,
method_exit,
0),
SD_BUS_METHOD("Reboot",
NULL,
NULL,
method_reboot,
SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("PowerOff",
NULL,
NULL,
method_poweroff,
SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("Halt",
NULL,
NULL,
method_halt,
SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD("KExec",
NULL,
NULL,
method_kexec,
SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD_WITH_NAMES("SwitchRoot",
"ss",
SD_BUS_PARAM(new_root)
SD_BUS_PARAM(init),
NULL,,
method_switch_root,
SD_BUS_VTABLE_CAPABILITY(CAP_SYS_BOOT)),
SD_BUS_METHOD_WITH_NAMES("SetEnvironment",
"as",
SD_BUS_PARAM(assignments),
NULL,,
method_set_environment,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("UnsetEnvironment",
"as",
SD_BUS_PARAM(names),
NULL,,
method_unset_environment,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("UnsetAndSetEnvironment",
"asas",
SD_BUS_PARAM(names)
SD_BUS_PARAM(assignments),
NULL,,
method_unset_and_set_environment,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListUnitFiles",
NULL,,
"a(ss)",
SD_BUS_PARAM(unit_files),
method_list_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListUnitFilesByPatterns",
"asas",
SD_BUS_PARAM(states)
SD_BUS_PARAM(patterns),
"a(ss)",
SD_BUS_PARAM(unit_files),
method_list_unit_files_by_patterns,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnitFileState",
"s",
SD_BUS_PARAM(file),
"s",
SD_BUS_PARAM(state),
method_get_unit_file_state,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("EnableUnitFiles",
"asbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"ba(sss)",
SD_BUS_PARAM(carries_install_info)
SD_BUS_PARAM(changes),
method_enable_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("DisableUnitFiles",
"asb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime),
"a(sss)",
SD_BUS_PARAM(changes),
method_disable_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ReenableUnitFiles",
"asbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"ba(sss)",
SD_BUS_PARAM(carries_install_info)
SD_BUS_PARAM(changes),
method_reenable_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("LinkUnitFiles",
"asbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"a(sss)",
SD_BUS_PARAM(changes),
method_link_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("PresetUnitFiles",
"asbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"ba(sss)",
SD_BUS_PARAM(carries_install_info)
SD_BUS_PARAM(changes),
method_preset_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("PresetUnitFilesWithMode",
"assbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(mode)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"ba(sss)",
SD_BUS_PARAM(carries_install_info)
SD_BUS_PARAM(changes),
method_preset_unit_files_with_mode,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("MaskUnitFiles",
"asbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"a(sss)",
SD_BUS_PARAM(changes),
method_mask_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("UnmaskUnitFiles",
"asb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(runtime),
"a(sss)",
SD_BUS_PARAM(changes),
method_unmask_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("RevertUnitFiles",
"as",
SD_BUS_PARAM(files),
"a(sss)",
SD_BUS_PARAM(changes),
method_revert_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("SetDefaultTarget",
"sb",
SD_BUS_PARAM(name)
SD_BUS_PARAM(force),
"a(sss)",
SD_BUS_PARAM(changes),
method_set_default_target,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetDefaultTarget",
NULL,,
"s",
SD_BUS_PARAM(name),
method_get_default_target,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("PresetAllUnitFiles",
"sbb",
SD_BUS_PARAM(mode)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"a(sss)",
SD_BUS_PARAM(changes),
method_preset_all_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("AddDependencyUnitFiles",
"asssbb",
SD_BUS_PARAM(files)
SD_BUS_PARAM(target)
SD_BUS_PARAM(type)
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(force),
"a(sss)",
SD_BUS_PARAM(changes),
method_add_dependency_unit_files,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUnitFileLinks",
"sb",
SD_BUS_PARAM(name)
SD_BUS_PARAM(runtime),
"as",
SD_BUS_PARAM(links),
method_get_unit_file_links,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("SetExitCode",
"y",
SD_BUS_PARAM(number),
NULL,,
method_set_exit_code,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("LookupDynamicUserByName",
"s",
SD_BUS_PARAM(name),
"u",
SD_BUS_PARAM(uid),
method_lookup_dynamic_user_by_name,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("LookupDynamicUserByUID",
"u",
SD_BUS_PARAM(uid),
"s",
SD_BUS_PARAM(name),
method_lookup_dynamic_user_by_uid,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetDynamicUsers",
NULL,,
"a(us)",
SD_BUS_PARAM(users),
method_get_dynamic_users,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_SIGNAL("UnitNew", "so", 0),
SD_BUS_SIGNAL("UnitRemoved", "so", 0),
SD_BUS_SIGNAL("JobNew", "uos", 0),
SD_BUS_SIGNAL("JobRemoved", "uoss", 0),
SD_BUS_SIGNAL("StartupFinished", "tttttt", 0),
SD_BUS_SIGNAL_WITH_NAMES("UnitNew",
"so",
SD_BUS_PARAM(id)
SD_BUS_PARAM(unit),
0),
SD_BUS_SIGNAL_WITH_NAMES("UnitRemoved",
"so",
SD_BUS_PARAM(id)
SD_BUS_PARAM(unit),
0),
SD_BUS_SIGNAL_WITH_NAMES("JobNew",
"uos",
SD_BUS_PARAM(id)
SD_BUS_PARAM(job)
SD_BUS_PARAM(unit),
0),
SD_BUS_SIGNAL_WITH_NAMES("JobRemoved",
"uoss",
SD_BUS_PARAM(id)
SD_BUS_PARAM(job)
SD_BUS_PARAM(unit)
SD_BUS_PARAM(result),
0),
SD_BUS_SIGNAL_WITH_NAMES("StartupFinished",
"tttttt",
SD_BUS_PARAM(firmware)
SD_BUS_PARAM(loader)
SD_BUS_PARAM(kernel)
SD_BUS_PARAM(initrd)
SD_BUS_PARAM(userspace)
SD_BUS_PARAM(total),
0),
SD_BUS_SIGNAL("UnitFilesChanged", NULL, 0),
SD_BUS_SIGNAL("Reloading", "b", 0),
SD_BUS_SIGNAL_WITH_NAMES("Reloading",
"b",
SD_BUS_PARAM(active),
0),
SD_BUS_VTABLE_END
};

View file

@ -843,20 +843,103 @@ const sd_bus_vtable bus_unit_vtable[] = {
SD_BUS_PROPERTY("CollectMode", "s", property_get_collect_mode, offsetof(Unit, collect_mode), SD_BUS_VTABLE_PROPERTY_CONST),
SD_BUS_PROPERTY("Refs", "as", property_get_refs, 0, 0),
SD_BUS_METHOD("Start", "s", "o", method_start, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Stop", "s", "o", method_stop, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Reload", "s", "o", method_reload, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Restart", "s", "o", method_restart, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("TryRestart", "s", "o", method_try_restart, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ReloadOrRestart", "s", "o", method_reload_or_restart, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ReloadOrTryRestart", "s", "o", method_reload_or_try_restart, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("EnqueueJob", "ss", "uososa(uosos)", bus_unit_method_enqueue_job, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Kill", "si", NULL, bus_unit_method_kill, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ResetFailed", NULL, NULL, bus_unit_method_reset_failed, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("SetProperties", "ba(sv)", NULL, bus_unit_method_set_properties, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Ref", NULL, NULL, bus_unit_method_ref, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Unref", NULL, NULL, bus_unit_method_unref, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Clean", "as", NULL, bus_unit_method_clean, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Start",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_start,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Stop",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_stop,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Reload",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_reload,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Restart",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_restart,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("TryRestart",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_try_restart,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ReloadOrRestart",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_reload_or_restart,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ReloadOrTryRestart",
"s",
SD_BUS_PARAM(mode),
"o",
SD_BUS_PARAM(job),
method_reload_or_try_restart,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("EnqueueJob",
"ss",
SD_BUS_PARAM(job_type)
SD_BUS_PARAM(job_mode),
"uososa(uosos)",
SD_BUS_PARAM(job_id)
SD_BUS_PARAM(job_path)
SD_BUS_PARAM(unit_id)
SD_BUS_PARAM(unit_path)
SD_BUS_PARAM(job_type)
SD_BUS_PARAM(affected_jobs),
bus_unit_method_enqueue_job,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Kill",
"si",
SD_BUS_PARAM(whom)
SD_BUS_PARAM(signal),
NULL,,
bus_unit_method_kill,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("ResetFailed",
NULL,
NULL,
bus_unit_method_reset_failed,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("SetProperties",
"ba(sv)",
SD_BUS_PARAM(runtime)
SD_BUS_PARAM(properties),
NULL,,
bus_unit_method_set_properties,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Ref",
NULL,
NULL,
bus_unit_method_ref,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Unref",
NULL,
NULL,
bus_unit_method_unref,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Clean",
"as",
SD_BUS_PARAM(mask),
NULL,,
bus_unit_method_clean,
SD_BUS_VTABLE_UNPRIVILEGED),
/* For dependency types we don't support anymore always return an empty array */
SD_BUS_PROPERTY("RequiresOverridable", "as", property_get_empty_strv, 0, SD_BUS_VTABLE_HIDDEN),
@ -866,6 +949,7 @@ const sd_bus_vtable bus_unit_vtable[] = {
/* Obsolete alias names */
SD_BUS_PROPERTY("StartLimitInterval", "t", bus_property_get_usec, offsetof(Unit, start_ratelimit.interval), SD_BUS_VTABLE_PROPERTY_CONST|SD_BUS_VTABLE_HIDDEN),
SD_BUS_PROPERTY("StartLimitIntervalSec", "t", bus_property_get_usec, offsetof(Unit, start_ratelimit.interval), SD_BUS_VTABLE_PROPERTY_CONST|SD_BUS_VTABLE_HIDDEN),
SD_BUS_VTABLE_END
};
@ -1365,8 +1449,22 @@ const sd_bus_vtable bus_unit_cgroup_vtable[] = {
SD_BUS_PROPERTY("IOReadOperations", "t", property_get_io_counter, 0, 0),
SD_BUS_PROPERTY("IOWriteBytes", "t", property_get_io_counter, 0, 0),
SD_BUS_PROPERTY("IOWriteOperations", "t", property_get_io_counter, 0, 0),
SD_BUS_METHOD("GetProcesses", NULL, "a(sus)", bus_unit_method_get_processes, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("AttachProcesses", "sau", NULL, bus_unit_method_attach_processes, SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetProcesses",
NULL,,
"a(sus)",
SD_BUS_PARAM(processes),
bus_unit_method_get_processes,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("AttachProcesses",
"sau",
SD_BUS_PARAM(subcgroup)
SD_BUS_PARAM(pids),
NULL,,
bus_unit_method_attach_processes,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_VTABLE_END
};