varlink: add enum types for configuration settings in io.systemd.Unit
Define proper varlink enum types for unit configuration settings that are part of the user-facing API (values users/clients can select). This replaces SD_VARLINK_STRING with SD_VARLINK_DEFINE_FIELD_BY_TYPE for these fields, giving them strong type semantics in the IDL. Enum types added for ExecContext (ExecInputType, ExecOutputType, ExecUtmpMode, ExecPreserveMode, ExecKeyringMode, MemoryTHP, ProtectProc, ProcSubset, ProtectSystem, ProtectHome, PrivateTmp, PrivateUsers, ProtectHostname, ProtectControlGroups, PrivatePIDs, PrivateBPF), CGroupContext (CGroupDevicePolicy, ManagedOOMMode, ManagedOOMPreference, CGroupPressureWatch, NFTSetSource, NFProto, BPFCGroupAttachType, CGroupController), and UnitContext (CollectMode, EmergencyAction, JobMode). Engine-reported runtime state fields (Type, LoadState, ActiveState, FreezerState, SubState, UnitFileState) remain as strings since only the engine selects those values.
This commit is contained in:
@@ -219,7 +219,7 @@ static int controllers_build_json(sd_json_variant **ret, const char *name, void
|
||||
if (!FLAGS_SET(*mask, CGROUP_CONTROLLER_TO_MASK(ctrl)))
|
||||
continue;
|
||||
|
||||
r = sd_json_variant_append_arrayb(&v, SD_JSON_BUILD_STRING(cgroup_controller_to_string(ctrl)));
|
||||
r = sd_json_variant_append_arrayb(&v, JSON_BUILD_STRING_UNDERSCORIFY(cgroup_controller_to_string(ctrl)));
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
@@ -309,7 +309,7 @@ int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void
|
||||
|
||||
/* Device Access */
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("DeviceAllow", device_allow_build_json, c->device_allow),
|
||||
SD_JSON_BUILD_PAIR_STRING("DevicePolicy", cgroup_device_policy_to_string(c->device_policy)),
|
||||
JSON_BUILD_PAIR_ENUM("DevicePolicy", cgroup_device_policy_to_string(c->device_policy)),
|
||||
|
||||
/* Control Group Management */
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("Delegate", c->delegate),
|
||||
@@ -318,16 +318,16 @@ int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("DisableControllers", controllers_build_json, &c->disable_controllers),
|
||||
|
||||
/* Memory Pressure Control */
|
||||
SD_JSON_BUILD_PAIR_STRING("ManagedOOMSwap", managed_oom_mode_to_string(c->moom_swap)),
|
||||
SD_JSON_BUILD_PAIR_STRING("ManagedOOMMemoryPressure", managed_oom_mode_to_string(c->moom_mem_pressure)),
|
||||
JSON_BUILD_PAIR_ENUM("ManagedOOMSwap", managed_oom_mode_to_string(c->moom_swap)),
|
||||
JSON_BUILD_PAIR_ENUM("ManagedOOMMemoryPressure", managed_oom_mode_to_string(c->moom_mem_pressure)),
|
||||
JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("ManagedOOMMemoryPressureLimit", c->moom_mem_pressure_limit),
|
||||
JSON_BUILD_PAIR_FINITE_USEC("ManagedOOMMemoryPressureDurationUSec", c->moom_mem_pressure_duration_usec),
|
||||
SD_JSON_BUILD_PAIR_STRING("ManagedOOMPreference", managed_oom_preference_to_string(c->moom_preference)),
|
||||
SD_JSON_BUILD_PAIR_STRING("MemoryPressureWatch", cgroup_pressure_watch_to_string(c->pressure[PRESSURE_MEMORY].watch)),
|
||||
JSON_BUILD_PAIR_ENUM("ManagedOOMPreference", managed_oom_preference_to_string(c->moom_preference)),
|
||||
JSON_BUILD_PAIR_ENUM("MemoryPressureWatch", cgroup_pressure_watch_to_string(c->pressure[PRESSURE_MEMORY].watch)),
|
||||
JSON_BUILD_PAIR_FINITE_USEC("MemoryPressureThresholdUSec", c->pressure[PRESSURE_MEMORY].threshold_usec),
|
||||
SD_JSON_BUILD_PAIR_STRING("CPUPressureWatch", cgroup_pressure_watch_to_string(c->pressure[PRESSURE_CPU].watch)),
|
||||
JSON_BUILD_PAIR_ENUM("CPUPressureWatch", cgroup_pressure_watch_to_string(c->pressure[PRESSURE_CPU].watch)),
|
||||
JSON_BUILD_PAIR_FINITE_USEC("CPUPressureThresholdUSec", c->pressure[PRESSURE_CPU].threshold_usec),
|
||||
SD_JSON_BUILD_PAIR_STRING("IOPressureWatch", cgroup_pressure_watch_to_string(c->pressure[PRESSURE_IO].watch)),
|
||||
JSON_BUILD_PAIR_ENUM("IOPressureWatch", cgroup_pressure_watch_to_string(c->pressure[PRESSURE_IO].watch)),
|
||||
JSON_BUILD_PAIR_FINITE_USEC("IOPressureThresholdUSec", c->pressure[PRESSURE_IO].threshold_usec),
|
||||
|
||||
/* Others */
|
||||
|
||||
+17
-17
@@ -810,8 +810,8 @@ int unit_exec_context_build_json(sd_json_variant **ret, const char *name, void *
|
||||
SD_JSON_BUILD_PAIR_CALLBACK("ExtensionImagePolicy", image_policy_build_json, c->extension_image_policy),
|
||||
JSON_BUILD_PAIR_YES_NO("MountAPIVFS", exec_context_get_effective_mount_apivfs(c)),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("BindLogSockets", exec_context_get_effective_bind_log_sockets(c)),
|
||||
SD_JSON_BUILD_PAIR_STRING("ProtectProc", protect_proc_to_string(c->protect_proc)),
|
||||
SD_JSON_BUILD_PAIR_STRING("ProcSubset", proc_subset_to_string(c->proc_subset)),
|
||||
JSON_BUILD_PAIR_ENUM("ProtectProc", protect_proc_to_string(c->protect_proc)),
|
||||
JSON_BUILD_PAIR_ENUM("ProcSubset", proc_subset_to_string(c->proc_subset)),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("BindPaths", bind_paths_build_json, c),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("BindReadOnlyPaths", bind_paths_build_json, c),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("MountImages", mount_images_build_json, c),
|
||||
@@ -852,7 +852,7 @@ int unit_exec_context_build_json(sd_json_variant **ret, const char *name, void *
|
||||
SD_JSON_BUILD_PAIR_CALLBACK("Limits", rlimit_table_with_defaults_build_json, u),
|
||||
JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("UMask", c->umask),
|
||||
JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("CoredumpFilter", exec_context_get_coredump_filter(c)),
|
||||
SD_JSON_BUILD_PAIR_STRING("KeyringMode", exec_keyring_mode_to_string(c->keyring_mode)),
|
||||
JSON_BUILD_PAIR_ENUM("KeyringMode", exec_keyring_mode_to_string(c->keyring_mode)),
|
||||
JSON_BUILD_PAIR_INTEGER_NON_ZERO("OOMScoreAdjust", exec_context_get_oom_score_adjust(c)),
|
||||
JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("TimerSlackNSec", exec_context_get_timer_slack_nsec(c), NSEC_INFINITY),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("Personality", personality_to_string(c->personality)),
|
||||
@@ -870,17 +870,17 @@ int unit_exec_context_build_json(sd_json_variant **ret, const char *name, void *
|
||||
SD_JSON_BUILD_PAIR_INTEGER("IOSchedulingPriority", ioprio_prio_data(exec_context_get_effective_ioprio(c))),
|
||||
|
||||
JSON_BUILD_PAIR_TRISTATE_NON_NULL("MemoryKSM", c->memory_ksm),
|
||||
SD_JSON_BUILD_PAIR_STRING("MemoryTHP", memory_thp_to_string(c->memory_thp)),
|
||||
JSON_BUILD_PAIR_ENUM("MemoryTHP", memory_thp_to_string(c->memory_thp)),
|
||||
|
||||
/* Sandboxing */
|
||||
SD_JSON_BUILD_PAIR_STRING("ProtectSystem", protect_system_to_string(c->protect_system)),
|
||||
SD_JSON_BUILD_PAIR_STRING("ProtectHome", protect_home_to_string(c->protect_home)),
|
||||
JSON_BUILD_PAIR_ENUM("ProtectSystem", protect_system_to_string(c->protect_system)),
|
||||
JSON_BUILD_PAIR_ENUM("ProtectHome", protect_home_to_string(c->protect_home)),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("RuntimeDirectory", exec_dir_build_json, &c->directories[EXEC_DIRECTORY_RUNTIME]),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("StateDirectory", exec_dir_build_json, &c->directories[EXEC_DIRECTORY_STATE]),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("CacheDirectory", exec_dir_build_json, &c->directories[EXEC_DIRECTORY_CACHE]),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("LogsDirectory", exec_dir_build_json, &c->directories[EXEC_DIRECTORY_LOGS]),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("ConfigurationDirectory", exec_dir_build_json, &c->directories[EXEC_DIRECTORY_CONFIGURATION]),
|
||||
SD_JSON_BUILD_PAIR_STRING("RuntimeDirectoryPreserve", exec_preserve_mode_to_string(c->runtime_directory_preserve_mode)),
|
||||
JSON_BUILD_PAIR_ENUM("RuntimeDirectoryPreserve", exec_preserve_mode_to_string(c->runtime_directory_preserve_mode)),
|
||||
JSON_BUILD_PAIR_FINITE_USEC("TimeoutCleanUSec", c->timeout_clean_usec),
|
||||
JSON_BUILD_PAIR_STRV_NON_EMPTY("ReadWritePaths", c->read_write_paths),
|
||||
JSON_BUILD_PAIR_STRV_NON_EMPTY("ReadOnlyPaths", c->read_only_paths),
|
||||
@@ -889,26 +889,26 @@ int unit_exec_context_build_json(sd_json_variant **ret, const char *name, void *
|
||||
JSON_BUILD_PAIR_STRV_NON_EMPTY("NoExecPaths", c->no_exec_paths),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("TemporaryFileSystem", temporary_filesystems_build_json, c),
|
||||
/* XXX should we make all these Private/Protect strings??? */
|
||||
SD_JSON_BUILD_PAIR_STRING("PrivateTmp", private_tmp_to_string(c->private_tmp)),
|
||||
JSON_BUILD_PAIR_ENUM("PrivateTmp", private_tmp_to_string(c->private_tmp)),
|
||||
JSON_BUILD_PAIR_YES_NO("PrivateDevices", c->private_devices),
|
||||
JSON_BUILD_PAIR_YES_NO("PrivateNetwork", c->private_network),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("NetworkNamespacePath", c->network_namespace_path),
|
||||
JSON_BUILD_PAIR_YES_NO("PrivateIPC", c->private_ipc),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("IPCNamespacePath", c->ipc_namespace_path),
|
||||
SD_JSON_BUILD_PAIR_STRING("PrivatePIDs", private_pids_to_string(c->private_pids)),
|
||||
SD_JSON_BUILD_PAIR_STRING("PrivateUsers", private_users_to_string(c->private_users)),
|
||||
JSON_BUILD_PAIR_ENUM("PrivatePIDs", private_pids_to_string(c->private_pids)),
|
||||
JSON_BUILD_PAIR_ENUM("PrivateUsers", private_users_to_string(c->private_users)),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("UserNamespacePath", c->user_namespace_path),
|
||||
SD_JSON_BUILD_PAIR_STRING("ProtectHostname", protect_hostname_to_string(c->protect_hostname)),
|
||||
JSON_BUILD_PAIR_ENUM("ProtectHostname", protect_hostname_to_string(c->protect_hostname)),
|
||||
JSON_BUILD_PAIR_YES_NO("ProtectClock", c->protect_clock),
|
||||
JSON_BUILD_PAIR_YES_NO("ProtectKernelTunables", c->protect_kernel_tunables),
|
||||
JSON_BUILD_PAIR_YES_NO("ProtectKernelModules", c->protect_kernel_modules),
|
||||
JSON_BUILD_PAIR_YES_NO("ProtectKernelLogs", c->protect_kernel_logs),
|
||||
SD_JSON_BUILD_PAIR_STRING("ProtectControlGroups", protect_control_groups_to_string(c->protect_control_groups)),
|
||||
JSON_BUILD_PAIR_ENUM("ProtectControlGroups", protect_control_groups_to_string(c->protect_control_groups)),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("RestrictAddressFamilies", address_families_build_json, c),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("RestrictFileSystems", restrict_filesystems_build_json, c),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("RestrictNamespaces", namespace_flags_build_json, ULONG_TO_PTR(c->restrict_namespaces)),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("DelegateNamespaces", namespace_flags_build_json, ULONG_TO_PTR(c->delegate_namespaces)),
|
||||
SD_JSON_BUILD_PAIR_STRING("PrivatePBF", private_bpf_to_string(c->private_bpf)),
|
||||
JSON_BUILD_PAIR_ENUM("PrivatePBF", private_bpf_to_string(c->private_bpf)),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("BPFDelegateCommands", private_bpf_delegate_commands_build_json, c),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("BPFDelegateMaps", private_bpf_delegate_maps_build_json, c),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("BPFDelegatePrograms", private_bpf_delegate_programs_build_json, c),
|
||||
@@ -934,9 +934,9 @@ int unit_exec_context_build_json(sd_json_variant **ret, const char *name, void *
|
||||
JSON_BUILD_PAIR_STRV_NON_EMPTY("UnsetEnvironment", c->unset_environment),
|
||||
|
||||
/* Logging and Standard Input/Output */
|
||||
SD_JSON_BUILD_PAIR_STRING("StandardInput", exec_input_to_string(c->std_input)),
|
||||
SD_JSON_BUILD_PAIR_STRING("StandardOutput", exec_output_to_string(c->std_output)),
|
||||
SD_JSON_BUILD_PAIR_STRING("StandardError", exec_output_to_string(c->std_error)),
|
||||
JSON_BUILD_PAIR_ENUM("StandardInput", exec_input_to_string(c->std_input)),
|
||||
JSON_BUILD_PAIR_ENUM("StandardOutput", exec_output_to_string(c->std_output)),
|
||||
JSON_BUILD_PAIR_ENUM("StandardError", exec_output_to_string(c->std_error)),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("StandardInputFileDescriptorName", exec_context_fdname(c, STDIN_FILENO)),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("StandardOutputFileDescriptorName", exec_context_fdname(c, STDOUT_FILENO)),
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("StandardErrorFileDescriptorName", exec_context_fdname(c, STDERR_FILENO)),
|
||||
@@ -966,5 +966,5 @@ int unit_exec_context_build_json(sd_json_variant **ret, const char *name, void *
|
||||
|
||||
/* System V Compatibility */
|
||||
JSON_BUILD_PAIR_STRING_NON_EMPTY("UtmpIdentifier", c->utmp_id),
|
||||
SD_JSON_BUILD_PAIR_STRING("UtmpMode", exec_utmp_mode_to_string(c->utmp_mode)));
|
||||
JSON_BUILD_PAIR_ENUM("UtmpMode", exec_utmp_mode_to_string(c->utmp_mode)));
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include "varlink-util.h"
|
||||
|
||||
#define JSON_BUILD_EMERGENCY_ACTION_NON_EMPTY(name, value) \
|
||||
SD_JSON_BUILD_PAIR_CONDITION(value > EMERGENCY_ACTION_NONE, name, SD_JSON_BUILD_STRING(emergency_action_to_string(value)))
|
||||
SD_JSON_BUILD_PAIR_CONDITION(value > EMERGENCY_ACTION_NONE, name, JSON_BUILD_STRING_UNDERSCORIFY(emergency_action_to_string(value)))
|
||||
|
||||
static int unit_dependencies_build_json(sd_json_variant **ret, const char *name, void *userdata) {
|
||||
_cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL;
|
||||
@@ -149,8 +149,8 @@ static int unit_context_build_json(sd_json_variant **ret, const char *name, void
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("JoinsNamespaceOf", unit_dependencies_build_json, u),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("RequiresMountsFor", unit_mounts_for_build_json, &u->mounts_for),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("WantsMountsFor", unit_mounts_for_build_json, &u->mounts_for),
|
||||
SD_JSON_BUILD_PAIR_STRING("OnSuccessJobMode", job_mode_to_string(u->on_success_job_mode)),
|
||||
SD_JSON_BUILD_PAIR_STRING("OnFailureJobMode", job_mode_to_string(u->on_failure_job_mode)),
|
||||
JSON_BUILD_PAIR_ENUM("OnSuccessJobMode", job_mode_to_string(u->on_success_job_mode)),
|
||||
JSON_BUILD_PAIR_ENUM("OnFailureJobMode", job_mode_to_string(u->on_failure_job_mode)),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("IgnoreOnIsolate", u->ignore_on_isolate),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("StopWhenUnneeded", u->stop_when_unneeded),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("RefuseManualStart", u->refuse_manual_start),
|
||||
@@ -158,7 +158,7 @@ static int unit_context_build_json(sd_json_variant **ret, const char *name, void
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("AllowIsolate", u->allow_isolate),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("DefaultDependencies", u->default_dependencies),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("SurviveFinalKillSignal", u->survive_final_kill_signal),
|
||||
SD_JSON_BUILD_PAIR_STRING("CollectMode", collect_mode_to_string(u->collect_mode)),
|
||||
JSON_BUILD_PAIR_ENUM("CollectMode", collect_mode_to_string(u->collect_mode)),
|
||||
JSON_BUILD_EMERGENCY_ACTION_NON_EMPTY("FailureAction", u->failure_action),
|
||||
JSON_BUILD_EMERGENCY_ACTION_NON_EMPTY("SuccessAction", u->success_action),
|
||||
JSON_BUILD_PAIR_INTEGER_NON_NEGATIVE("FailureActionExitStatus", u->failure_action_exit_status),
|
||||
|
||||
@@ -259,6 +259,7 @@ enum {
|
||||
#define JSON_BUILD_PAIR_TRISTATE(name, i) SD_JSON_BUILD_PAIR(name, JSON_BUILD_TRISTATE(i))
|
||||
#define JSON_BUILD_PAIR_PIDREF(name, p) SD_JSON_BUILD_PAIR(name, JSON_BUILD_PIDREF(p))
|
||||
#define JSON_BUILD_PAIR_DEVNUM(name, d) SD_JSON_BUILD_PAIR(name, JSON_BUILD_DEVNUM(d))
|
||||
#define JSON_BUILD_PAIR_ENUM(name, s) SD_JSON_BUILD_PAIR(name, JSON_BUILD_STRING_UNDERSCORIFY(s))
|
||||
#define JSON_BUILD_PAIR_YES_NO(name, b) SD_JSON_BUILD_PAIR(name, SD_JSON_BUILD_STRING(yes_no(b)))
|
||||
|
||||
#define JSON_BUILD_PAIR_CONDITION_UNSIGNED(condition, name, value) \
|
||||
|
||||
@@ -3,6 +3,198 @@
|
||||
#include "varlink-idl-common.h"
|
||||
#include "varlink-io.systemd.Unit.h"
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ExecInputType,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(null),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(tty),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(tty_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(tty_fail),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(socket),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(fd),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(data),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(file));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ExecOutputType,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(inherit),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(null),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(tty),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(kmsg),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(kmsg_console),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(journal),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(journal_console),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(socket),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(fd),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(file),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(append),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(truncate));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ExecUtmpMode,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(init),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(login),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(user));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ExecPreserveMode,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(restart));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ExecKeyringMode,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(inherit),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(private),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(shared));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
MemoryTHP,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(inherit),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(disable),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(madvise),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(system));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ProtectProc,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(default),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(noaccess),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(invisible),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(ptraceable));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ProcSubset,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(all),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(pid));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ProtectSystem,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(full),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(strict));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ProtectHome,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(read_only),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(tmpfs));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
PrivateTmp,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(connected),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(disconnected));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
PrivateUsers,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(self),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(identity),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(full),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(managed));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ProtectHostname,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(private));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ProtectControlGroups,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(private),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(strict));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
PrivatePIDs,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
CGroupDevicePolicy,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(auto),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(closed),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(strict));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ManagedOOMMode,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(auto),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(kill));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
ManagedOOMPreference,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(none),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(avoid),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(omit));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
CGroupPressureWatch,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(auto),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(skip));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
CollectMode,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(inactive),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(inactive_or_failed));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
EmergencyAction,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(none),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(exit),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(exit_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(reboot),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(reboot_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(reboot_immediate),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(poweroff),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(poweroff_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(poweroff_immediate),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(soft_reboot),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(soft_reboot_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(kexec),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(kexec_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(halt),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(halt_force),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(halt_immediate));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
JobMode,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(fail),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(lenient),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(replace),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(replace_irreversibly),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(isolate),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(flush),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(ignore_dependencies),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(ignore_requirements),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(triggering),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(restart_dependencies));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
CGroupController,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(cpu),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(cpuacct),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(cpuset),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(io),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(blkio),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(memory),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(devices),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(pids),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(bpf_firewall),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(bpf_devices),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(bpf_foreign),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(bpf_socket_bind),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(bpf_restrict_network_interfaces),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(bpf_bind_network_interface));
|
||||
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
PrivateBPF,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(no),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(yes));
|
||||
|
||||
/* CGroupContext */
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
CGroupTasksMax,
|
||||
@@ -199,7 +391,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#DeviceAllow="),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(DeviceAllow, CGroupDeviceAllow, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#DevicePolicy=auto%7Cclosed%7Cstrict"),
|
||||
SD_VARLINK_DEFINE_FIELD(DevicePolicy, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(DevicePolicy, CGroupDevicePolicy, 0),
|
||||
|
||||
/* Control Group Management
|
||||
* https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html#Control%20Group%20Management */
|
||||
@@ -208,32 +400,32 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#DelegateSubgroup="),
|
||||
SD_VARLINK_DEFINE_FIELD(DelegateSubgroup, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#DisableControllers="),
|
||||
SD_VARLINK_DEFINE_FIELD(DelegateControllers, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(DelegateControllers, CGroupController, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#DisableControllers="),
|
||||
SD_VARLINK_DEFINE_FIELD(DisableControllers, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(DisableControllers, CGroupController, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
|
||||
/* Memory Pressure Control
|
||||
* https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html#Memory%20Pressure%20Control */
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#ManagedOOMSwap=auto%7Ckill"),
|
||||
SD_VARLINK_DEFINE_FIELD(ManagedOOMSwap, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ManagedOOMSwap, ManagedOOMMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#ManagedOOMSwap=auto%7Ckill"),
|
||||
SD_VARLINK_DEFINE_FIELD(ManagedOOMMemoryPressure, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ManagedOOMMemoryPressure, ManagedOOMMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#ManagedOOMMemoryPressureLimit="),
|
||||
SD_VARLINK_DEFINE_FIELD(ManagedOOMMemoryPressureLimit, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#ManagedOOMMemoryPressureDurationSec="),
|
||||
SD_VARLINK_DEFINE_FIELD(ManagedOOMMemoryPressureDurationUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#ManagedOOMPreference=none%7Cavoid%7Comit"),
|
||||
SD_VARLINK_DEFINE_FIELD(ManagedOOMPreference, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ManagedOOMPreference, ManagedOOMPreference, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#MemoryPressureWatch="),
|
||||
SD_VARLINK_DEFINE_FIELD(MemoryPressureWatch, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(MemoryPressureWatch, CGroupPressureWatch, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#MemoryPressureThresholdSec="),
|
||||
SD_VARLINK_DEFINE_FIELD(MemoryPressureThresholdUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#CPUPressureWatch="),
|
||||
SD_VARLINK_DEFINE_FIELD(CPUPressureWatch, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(CPUPressureWatch, CGroupPressureWatch, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#CPUPressureThresholdSec="),
|
||||
SD_VARLINK_DEFINE_FIELD(CPUPressureThresholdUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#IOPressureWatch="),
|
||||
SD_VARLINK_DEFINE_FIELD(IOPressureWatch, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(IOPressureWatch, CGroupPressureWatch, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.resource-control.html#IOPressureThresholdSec="),
|
||||
SD_VARLINK_DEFINE_FIELD(IOPressureThresholdUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
|
||||
@@ -445,9 +637,9 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#BindLogSockets="),
|
||||
SD_VARLINK_DEFINE_FIELD(BindLogSockets, SD_VARLINK_BOOL, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectProc="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectProc, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ProtectProc, ProtectProc, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProcSubset="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProcSubset, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ProcSubset, ProcSubset, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#BindPaths="),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(BindPaths, BindPath, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#BindPaths="),
|
||||
@@ -506,7 +698,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#CoredumpFilter="),
|
||||
SD_VARLINK_DEFINE_FIELD(CoredumpFilter, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#KeyringMode="),
|
||||
SD_VARLINK_DEFINE_FIELD(KeyringMode, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(KeyringMode, ExecKeyringMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#OOMScoreAdjust="),
|
||||
SD_VARLINK_DEFINE_FIELD(OOMScoreAdjust, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#TimerSlackNSec="),
|
||||
@@ -540,14 +732,14 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#MemoryKSM="),
|
||||
SD_VARLINK_DEFINE_FIELD(MemoryKSM, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#MemoryTHP="),
|
||||
SD_VARLINK_DEFINE_FIELD(MemoryTHP, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(MemoryTHP, MemoryTHP, 0),
|
||||
|
||||
/* Sandboxing
|
||||
* https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#Sandboxing */
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectSystem="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectSystem, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ProtectSystem, ProtectSystem, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectHome="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectHome, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ProtectHome, ProtectHome, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#RuntimeDirectory="),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(RuntimeDirectory, ExecDirectory, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#RuntimeDirectory="),
|
||||
@@ -559,7 +751,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#RuntimeDirectory="),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ConfigurationDirectory, ExecDirectory, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#RuntimeDirectoryPreserve="),
|
||||
SD_VARLINK_DEFINE_FIELD(RuntimeDirectoryPreserve, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(RuntimeDirectoryPreserve, ExecPreserveMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#TimeoutCleanSec="),
|
||||
SD_VARLINK_DEFINE_FIELD(TimeoutCleanUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ReadWritePaths="),
|
||||
@@ -575,7 +767,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#TemporaryFileSystem="),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(TemporaryFileSystem, TemporaryFilesystem, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#PrivateTmp="),
|
||||
SD_VARLINK_DEFINE_FIELD(PrivateTmp, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(PrivateTmp, PrivateTmp, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#PrivateDevices="),
|
||||
SD_VARLINK_DEFINE_FIELD(PrivateDevices, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#PrivateNetwork="),
|
||||
@@ -587,13 +779,13 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#IPCNamespacePath="),
|
||||
SD_VARLINK_DEFINE_FIELD(IPCNamespacePath, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#PrivatePIDs="),
|
||||
SD_VARLINK_DEFINE_FIELD(PrivatePIDs, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(PrivatePIDs, PrivatePIDs, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#PrivateUsers="),
|
||||
SD_VARLINK_DEFINE_FIELD(PrivateUsers, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(PrivateUsers, PrivateUsers, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#UserNamespacePath="),
|
||||
SD_VARLINK_DEFINE_FIELD(UserNamespacePath, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectHostname="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectHostname, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ProtectHostname, ProtectHostname, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectClock="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectClock, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectKernelTunables="),
|
||||
@@ -603,7 +795,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectKernelLogs="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectKernelLogs, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#ProtectControlGroups="),
|
||||
SD_VARLINK_DEFINE_FIELD(ProtectControlGroups, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(ProtectControlGroups, ProtectControlGroups, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#RestrictAddressFamilies="),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(RestrictAddressFamilies, AddressFamilyList, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#RestrictFileSystems="),
|
||||
@@ -613,7 +805,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#DelegateNamespaces="),
|
||||
SD_VARLINK_DEFINE_FIELD(DelegateNamespaces, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#PrivatePBF="),
|
||||
SD_VARLINK_DEFINE_FIELD(PrivatePBF, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(PrivatePBF, PrivateBPF, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#BPFDelegateCommands="),
|
||||
SD_VARLINK_DEFINE_FIELD(BPFDelegateCommands, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#BPFDelegateMaps="),
|
||||
@@ -662,11 +854,11 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
/* Logging and Standard Input/Output
|
||||
* https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#Logging%20and%20Standard%20Input/Output */
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#StandardInput="),
|
||||
SD_VARLINK_DEFINE_FIELD(StandardInput, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(StandardInput, ExecInputType, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#StandardOutput="),
|
||||
SD_VARLINK_DEFINE_FIELD(StandardOutput, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(StandardOutput, ExecOutputType, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#StandardError="),
|
||||
SD_VARLINK_DEFINE_FIELD(StandardError, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(StandardError, ExecOutputType, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("The file descriptor name to connect standard input to"),
|
||||
SD_VARLINK_DEFINE_FIELD(StandardInputFileDescriptorName, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("The file descriptor name to connect standard output to"),
|
||||
@@ -724,7 +916,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#UtmpIdentifier="),
|
||||
SD_VARLINK_DEFINE_FIELD(UtmpIdentifier, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man"PROJECT_VERSION_STR"systemd.exec.html#UtmpMode="),
|
||||
SD_VARLINK_DEFINE_FIELD(UtmpMode, SD_VARLINK_STRING, 0));
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(UtmpMode, ExecUtmpMode, 0));
|
||||
|
||||
/* UnitContext */
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
@@ -808,9 +1000,9 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#WantsMountsFor="),
|
||||
SD_VARLINK_DEFINE_FIELD(WantsMountsFor, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#OnSuccessJobMode="),
|
||||
SD_VARLINK_DEFINE_FIELD(OnSuccessJobMode, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(OnSuccessJobMode, JobMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#OnSuccessJobMode="),
|
||||
SD_VARLINK_DEFINE_FIELD(OnFailureJobMode, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(OnFailureJobMode, JobMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#IgnoreOnIsolate="),
|
||||
SD_VARLINK_DEFINE_FIELD(IgnoreOnIsolate, SD_VARLINK_BOOL, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#StopWhenUnneeded="),
|
||||
@@ -826,11 +1018,11 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#SurviveFinalKillSignal="),
|
||||
SD_VARLINK_DEFINE_FIELD(SurviveFinalKillSignal, SD_VARLINK_BOOL, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#CollectMode="),
|
||||
SD_VARLINK_DEFINE_FIELD(CollectMode, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(CollectMode, CollectMode, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#FailureAction="),
|
||||
SD_VARLINK_DEFINE_FIELD(FailureAction, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(FailureAction, EmergencyAction, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#FailureAction="),
|
||||
SD_VARLINK_DEFINE_FIELD(SuccessAction, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(SuccessAction, EmergencyAction, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#FailureActionExitStatus="),
|
||||
SD_VARLINK_DEFINE_FIELD(FailureActionExitStatus, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#FailureActionExitStatus="),
|
||||
@@ -840,13 +1032,13 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#JobTimeoutSec="),
|
||||
SD_VARLINK_DEFINE_FIELD(JobRunningTimeoutUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#JobTimeoutAction="),
|
||||
SD_VARLINK_DEFINE_FIELD(JobTimeoutAction, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(JobTimeoutAction, EmergencyAction, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#JobTimeoutAction="),
|
||||
SD_VARLINK_DEFINE_FIELD(JobTimeoutRebootArgument, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#StartLimitIntervalSec=interval"),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(StartLimit, RateLimit, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#StartLimitIntervalSec=interval"),
|
||||
SD_VARLINK_DEFINE_FIELD(StartLimitAction, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(StartLimitAction, EmergencyAction, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#RebootArgument="),
|
||||
SD_VARLINK_DEFINE_FIELD(RebootArgument, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd.unit.html#SourcePath="),
|
||||
@@ -1075,6 +1267,10 @@ SD_VARLINK_DEFINE_INTERFACE(
|
||||
&vl_type_ProcessId,
|
||||
|
||||
/* CGroupContext */
|
||||
&vl_type_CGroupDevicePolicy,
|
||||
&vl_type_ManagedOOMMode,
|
||||
&vl_type_ManagedOOMPreference,
|
||||
&vl_type_CGroupPressureWatch,
|
||||
&vl_type_CGroupTasksMax,
|
||||
&vl_type_CGroupIODeviceWeight,
|
||||
&vl_type_CGroupIODeviceLimit,
|
||||
@@ -1084,6 +1280,7 @@ SD_VARLINK_DEFINE_INTERFACE(
|
||||
&vl_type_CGroupRestrictNetworkInterfaces,
|
||||
&vl_type_CGroupNFTSet,
|
||||
&vl_type_CGroupBPFProgram,
|
||||
&vl_type_CGroupController,
|
||||
&vl_type_CGroupDeviceAllow,
|
||||
SD_VARLINK_SYMBOL_COMMENT("CGroup context of a unit"),
|
||||
&vl_type_CGroupContext,
|
||||
@@ -1091,6 +1288,22 @@ SD_VARLINK_DEFINE_INTERFACE(
|
||||
&vl_type_CGroupRuntime,
|
||||
|
||||
/* ExecContext */
|
||||
&vl_type_ExecInputType,
|
||||
&vl_type_ExecOutputType,
|
||||
&vl_type_ExecUtmpMode,
|
||||
&vl_type_ExecPreserveMode,
|
||||
&vl_type_ExecKeyringMode,
|
||||
&vl_type_MemoryTHP,
|
||||
&vl_type_ProtectProc,
|
||||
&vl_type_ProcSubset,
|
||||
&vl_type_ProtectSystem,
|
||||
&vl_type_ProtectHome,
|
||||
&vl_type_PrivateTmp,
|
||||
&vl_type_PrivateUsers,
|
||||
&vl_type_ProtectHostname,
|
||||
&vl_type_ProtectControlGroups,
|
||||
&vl_type_PrivatePIDs,
|
||||
&vl_type_PrivateBPF,
|
||||
&vl_type_WorkingDirectory,
|
||||
&vl_type_PartitionMountOptions,
|
||||
&vl_type_BindPath,
|
||||
@@ -1117,6 +1330,11 @@ SD_VARLINK_DEFINE_INTERFACE(
|
||||
SD_VARLINK_SYMBOL_COMMENT("Exec context of a unit"),
|
||||
&vl_type_ExecContext,
|
||||
|
||||
/* UnitContext enums */
|
||||
&vl_type_CollectMode,
|
||||
&vl_type_EmergencyAction,
|
||||
&vl_type_JobMode,
|
||||
|
||||
/* Errors */
|
||||
SD_VARLINK_SYMBOL_COMMENT("No matching unit found"),
|
||||
&vl_error_NoSuchUnit,
|
||||
|
||||
@@ -4,3 +4,28 @@
|
||||
#include "sd-varlink-idl.h"
|
||||
|
||||
extern const sd_varlink_interface vl_interface_io_systemd_Unit;
|
||||
|
||||
extern const sd_varlink_symbol vl_type_ExecInputType;
|
||||
extern const sd_varlink_symbol vl_type_ExecOutputType;
|
||||
extern const sd_varlink_symbol vl_type_ExecUtmpMode;
|
||||
extern const sd_varlink_symbol vl_type_ExecPreserveMode;
|
||||
extern const sd_varlink_symbol vl_type_ExecKeyringMode;
|
||||
extern const sd_varlink_symbol vl_type_MemoryTHP;
|
||||
extern const sd_varlink_symbol vl_type_ProtectProc;
|
||||
extern const sd_varlink_symbol vl_type_ProcSubset;
|
||||
extern const sd_varlink_symbol vl_type_ProtectSystem;
|
||||
extern const sd_varlink_symbol vl_type_ProtectHome;
|
||||
extern const sd_varlink_symbol vl_type_PrivateTmp;
|
||||
extern const sd_varlink_symbol vl_type_PrivateUsers;
|
||||
extern const sd_varlink_symbol vl_type_ProtectHostname;
|
||||
extern const sd_varlink_symbol vl_type_ProtectControlGroups;
|
||||
extern const sd_varlink_symbol vl_type_PrivatePIDs;
|
||||
extern const sd_varlink_symbol vl_type_PrivateBPF;
|
||||
extern const sd_varlink_symbol vl_type_CGroupDevicePolicy;
|
||||
extern const sd_varlink_symbol vl_type_ManagedOOMMode;
|
||||
extern const sd_varlink_symbol vl_type_ManagedOOMPreference;
|
||||
extern const sd_varlink_symbol vl_type_CGroupPressureWatch;
|
||||
extern const sd_varlink_symbol vl_type_CGroupController;
|
||||
extern const sd_varlink_symbol vl_type_CollectMode;
|
||||
extern const sd_varlink_symbol vl_type_EmergencyAction;
|
||||
extern const sd_varlink_symbol vl_type_JobMode;
|
||||
|
||||
Reference in New Issue
Block a user