chiark / gitweb /
conf-parse: don't accept invalid bus names as BusName= arguments in service units
[elogind.git] / src / core / load-fragment-gperf.gperf.m4
1 %{
2 #include <stddef.h>
3 #include "conf-parser.h"
4 #include "load-fragment.h"
5 #include "missing.h"
6 %}
7 struct ConfigPerfItem;
8 %null_strings
9 %language=ANSI-C
10 %define slot-name section_and_lvalue
11 %define hash-function-name load_fragment_gperf_hash
12 %define lookup-function-name load_fragment_gperf_lookup
13 %readonly-tables
14 %omit-struct-type
15 %struct-type
16 %includes
17 %%
18 m4_dnl Define the context options only once
19 m4_define(`EXEC_CONTEXT_CONFIG_ITEMS',
20 `$1.WorkingDirectory,            config_parse_unit_path_printf,      0,                             offsetof($1, exec_context.working_directory)
21 $1.RootDirectory,                config_parse_unit_path_printf,      0,                             offsetof($1, exec_context.root_directory)
22 $1.User,                         config_parse_unit_string_printf,    0,                             offsetof($1, exec_context.user)
23 $1.Group,                        config_parse_unit_string_printf,    0,                             offsetof($1, exec_context.group)
24 $1.SupplementaryGroups,          config_parse_strv,                  0,                             offsetof($1, exec_context.supplementary_groups)
25 $1.Nice,                         config_parse_exec_nice,             0,                             offsetof($1, exec_context)
26 $1.OOMScoreAdjust,               config_parse_exec_oom_score_adjust, 0,                             offsetof($1, exec_context)
27 $1.IOSchedulingClass,            config_parse_exec_io_class,         0,                             offsetof($1, exec_context)
28 $1.IOSchedulingPriority,         config_parse_exec_io_priority,      0,                             offsetof($1, exec_context)
29 $1.CPUSchedulingPolicy,          config_parse_exec_cpu_sched_policy, 0,                             offsetof($1, exec_context)
30 $1.CPUSchedulingPriority,        config_parse_exec_cpu_sched_prio,   0,                             offsetof($1, exec_context)
31 $1.CPUSchedulingResetOnFork,     config_parse_bool,                  0,                             offsetof($1, exec_context.cpu_sched_reset_on_fork)
32 $1.CPUAffinity,                  config_parse_exec_cpu_affinity,     0,                             offsetof($1, exec_context)
33 $1.UMask,                        config_parse_mode,                  0,                             offsetof($1, exec_context.umask)
34 $1.Environment,                  config_parse_environ,               0,                             offsetof($1, exec_context.environment)
35 $1.EnvironmentFile,              config_parse_unit_env_file,         0,                             offsetof($1, exec_context.environment_files)
36 $1.StandardInput,                config_parse_input,                 0,                             offsetof($1, exec_context.std_input)
37 $1.StandardOutput,               config_parse_output,                0,                             offsetof($1, exec_context.std_output)
38 $1.StandardError,                config_parse_output,                0,                             offsetof($1, exec_context.std_error)
39 $1.TTYPath,                      config_parse_unit_path_printf,      0,                             offsetof($1, exec_context.tty_path)
40 $1.TTYReset,                     config_parse_bool,                  0,                             offsetof($1, exec_context.tty_reset)
41 $1.TTYVHangup,                   config_parse_bool,                  0,                             offsetof($1, exec_context.tty_vhangup)
42 $1.TTYVTDisallocate,             config_parse_bool,                  0,                             offsetof($1, exec_context.tty_vt_disallocate)
43 $1.SyslogIdentifier,             config_parse_unit_string_printf,    0,                             offsetof($1, exec_context.syslog_identifier)
44 $1.SyslogFacility,               config_parse_log_facility,          0,                             offsetof($1, exec_context.syslog_priority)
45 $1.SyslogLevel,                  config_parse_log_level,             0,                             offsetof($1, exec_context.syslog_priority)
46 $1.SyslogLevelPrefix,            config_parse_bool,                  0,                             offsetof($1, exec_context.syslog_level_prefix)
47 $1.Capabilities,                 config_parse_exec_capabilities,     0,                             offsetof($1, exec_context)
48 $1.SecureBits,                   config_parse_exec_secure_bits,      0,                             offsetof($1, exec_context)
49 $1.CapabilityBoundingSet,        config_parse_bounding_set,          0,                             offsetof($1, exec_context.capability_bounding_set_drop)
50 $1.TimerSlackNSec,               config_parse_nsec,                  0,                             offsetof($1, exec_context.timer_slack_nsec)
51 $1.NoNewPrivileges,              config_parse_no_new_privileges,     0,                             offsetof($1, exec_context)
52 m4_ifdef(`HAVE_SECCOMP',
53 `$1.SystemCallFilter,            config_parse_syscall_filter,        0,                             offsetof($1, exec_context)
54 $1.SystemCallArchitectures,      config_parse_syscall_archs,         0,                             offsetof($1, exec_context.syscall_archs)
55 $1.SystemCallErrorNumber,        config_parse_syscall_errno,         0,                             offsetof($1, exec_context)
56 $1.RestrictAddressFamilies,      config_parse_address_families,      0,                             offsetof($1, exec_context)',
57 `$1.SystemCallFilter,            config_parse_warn_compat,           DISABLED_CONFIGURATION,        0
58 $1.SystemCallArchitectures,      config_parse_warn_compat,           DISABLED_CONFIGURATION,        0
59 $1.SystemCallErrorNumber,        config_parse_warn_compat,           DISABLED_CONFIGURATION,        0
60 $1.RestrictAddressFamilies,      config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')
61 $1.LimitCPU,                     config_parse_limit,                 RLIMIT_CPU,                    offsetof($1, exec_context.rlimit)
62 $1.LimitFSIZE,                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof($1, exec_context.rlimit)
63 $1.LimitDATA,                    config_parse_limit,                 RLIMIT_DATA,                   offsetof($1, exec_context.rlimit)
64 $1.LimitSTACK,                   config_parse_limit,                 RLIMIT_STACK,                  offsetof($1, exec_context.rlimit)
65 $1.LimitCORE,                    config_parse_limit,                 RLIMIT_CORE,                   offsetof($1, exec_context.rlimit)
66 $1.LimitRSS,                     config_parse_limit,                 RLIMIT_RSS,                    offsetof($1, exec_context.rlimit)
67 $1.LimitNOFILE,                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof($1, exec_context.rlimit)
68 $1.LimitAS,                      config_parse_limit,                 RLIMIT_AS,                     offsetof($1, exec_context.rlimit)
69 $1.LimitNPROC,                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof($1, exec_context.rlimit)
70 $1.LimitMEMLOCK,                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof($1, exec_context.rlimit)
71 $1.LimitLOCKS,                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof($1, exec_context.rlimit)
72 $1.LimitSIGPENDING,              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof($1, exec_context.rlimit)
73 $1.LimitMSGQUEUE,                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof($1, exec_context.rlimit)
74 $1.LimitNICE,                    config_parse_limit,                 RLIMIT_NICE,                   offsetof($1, exec_context.rlimit)
75 $1.LimitRTPRIO,                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof($1, exec_context.rlimit)
76 $1.LimitRTTIME,                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof($1, exec_context.rlimit)
77 $1.ReadWriteDirectories,         config_parse_namespace_path_strv,   0,                             offsetof($1, exec_context.read_write_dirs)
78 $1.ReadOnlyDirectories,          config_parse_namespace_path_strv,   0,                             offsetof($1, exec_context.read_only_dirs)
79 $1.InaccessibleDirectories,      config_parse_namespace_path_strv,   0,                             offsetof($1, exec_context.inaccessible_dirs)
80 $1.PrivateTmp,                   config_parse_bool,                  0,                             offsetof($1, exec_context.private_tmp)
81 $1.PrivateNetwork,               config_parse_bool,                  0,                             offsetof($1, exec_context.private_network)
82 $1.PrivateDevices,               config_parse_bool,                  0,                             offsetof($1, exec_context.private_devices)
83 $1.ProtectSystem,                config_parse_protect_system,        0,                             offsetof($1, exec_context)
84 $1.ProtectHome,                  config_parse_protect_home,          0,                             offsetof($1, exec_context)
85 $1.MountFlags,                   config_parse_exec_mount_flags,      0,                             offsetof($1, exec_context)
86 $1.Personality,                  config_parse_personality,           0,                             offsetof($1, exec_context.personality)
87 $1.RuntimeDirectoryMode,         config_parse_mode,                  0,                             offsetof($1, exec_context.runtime_directory_mode)
88 $1.RuntimeDirectory,             config_parse_runtime_directory,     0,                             offsetof($1, exec_context.runtime_directory)
89 m4_ifdef(`HAVE_PAM',
90 `$1.PAMName,                     config_parse_unit_string_printf,    0,                             offsetof($1, exec_context.pam_name)',
91 `$1.PAMName,                     config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')
92 $1.IgnoreSIGPIPE,                config_parse_bool,                  0,                             offsetof($1, exec_context.ignore_sigpipe)
93 $1.UtmpIdentifier,               config_parse_unit_string_printf,    0,                             offsetof($1, exec_context.utmp_id)
94 m4_ifdef(`HAVE_SELINUX',
95 `$1.SELinuxContext,              config_parse_exec_selinux_context,  0,                             offsetof($1, exec_context)',
96 `$1.SELinuxContext,              config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')
97 m4_ifdef(`HAVE_APPARMOR',
98 `$1.AppArmorProfile,             config_parse_exec_apparmor_profile, 0,                             offsetof($1, exec_context)',
99 `$1.AppArmorProfile,             config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')
100 m4_ifdef(`HAVE_SMACK',
101 `$1.SmackProcessLabel,           config_parse_exec_smack_process_label, 0,                          offsetof($1, exec_context)',
102 `$1.SmackProcessLabel,           config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')'
103 )m4_dnl
104 m4_define(`KILL_CONTEXT_CONFIG_ITEMS',
105 `$1.SendSIGKILL,                 config_parse_bool,                  0,                             offsetof($1, kill_context.send_sigkill)
106 $1.SendSIGHUP,                   config_parse_bool,                  0,                             offsetof($1, kill_context.send_sighup)
107 $1.KillMode,                     config_parse_kill_mode,             0,                             offsetof($1, kill_context.kill_mode)
108 $1.KillSignal,                   config_parse_kill_signal,           0,                             offsetof($1, kill_context.kill_signal)'
109 )m4_dnl
110 m4_define(`CGROUP_CONTEXT_CONFIG_ITEMS',
111 `$1.Slice,                       config_parse_unit_slice,            0,                             0
112 $1.CPUAccounting,                config_parse_bool,                  0,                             offsetof($1, cgroup_context.cpu_accounting)
113 $1.CPUShares,                    config_parse_cpu_shares,            0,                             offsetof($1, cgroup_context.cpu_shares)
114 $1.StartupCPUShares,             config_parse_cpu_shares,            0,                             offsetof($1, cgroup_context.startup_cpu_shares)
115 $1.CPUQuota,                     config_parse_cpu_quota,             0,                             offsetof($1, cgroup_context)
116 $1.MemoryAccounting,             config_parse_bool,                  0,                             offsetof($1, cgroup_context.memory_accounting)
117 $1.MemoryLimit,                  config_parse_memory_limit,          0,                             offsetof($1, cgroup_context)
118 $1.DeviceAllow,                  config_parse_device_allow,          0,                             offsetof($1, cgroup_context)
119 $1.DevicePolicy,                 config_parse_device_policy,         0,                             offsetof($1, cgroup_context.device_policy)
120 $1.BlockIOAccounting,            config_parse_bool,                  0,                             offsetof($1, cgroup_context.blockio_accounting)
121 $1.BlockIOWeight,                config_parse_blockio_weight,        0,                             offsetof($1, cgroup_context.blockio_weight)
122 $1.StartupBlockIOWeight,         config_parse_blockio_weight,        0,                             offsetof($1, cgroup_context.startup_blockio_weight)
123 $1.BlockIODeviceWeight,          config_parse_blockio_device_weight, 0,                             offsetof($1, cgroup_context)
124 $1.BlockIOReadBandwidth,         config_parse_blockio_bandwidth,     0,                             offsetof($1, cgroup_context)
125 $1.BlockIOWriteBandwidth,        config_parse_blockio_bandwidth,     0,                             offsetof($1, cgroup_context)
126 $1.Delegate,                     config_parse_bool,                  0,                             offsetof($1, cgroup_context.delegate)'
127 )m4_dnl
128 Unit.Description,                config_parse_unit_string_printf,    0,                             offsetof(Unit, description)
129 Unit.Documentation,              config_parse_documentation,         0,                             offsetof(Unit, documentation)
130 Unit.SourcePath,                 config_parse_path,                  0,                             offsetof(Unit, source_path)
131 Unit.Requires,                   config_parse_unit_deps,             UNIT_REQUIRES,                 0
132 Unit.RequiresOverridable,        config_parse_unit_deps,             UNIT_REQUIRES_OVERRIDABLE,     0
133 Unit.Requisite,                  config_parse_unit_deps,             UNIT_REQUISITE,                0
134 Unit.RequisiteOverridable,       config_parse_unit_deps,             UNIT_REQUISITE_OVERRIDABLE,    0
135 Unit.Wants,                      config_parse_unit_deps,             UNIT_WANTS,                    0
136 Unit.BindsTo,                    config_parse_unit_deps,             UNIT_BINDS_TO,                 0
137 Unit.BindTo,                     config_parse_unit_deps,             UNIT_BINDS_TO,                 0
138 Unit.Conflicts,                  config_parse_unit_deps,             UNIT_CONFLICTS,                0
139 Unit.Before,                     config_parse_unit_deps,             UNIT_BEFORE,                   0
140 Unit.After,                      config_parse_unit_deps,             UNIT_AFTER,                    0
141 Unit.OnFailure,                  config_parse_unit_deps,             UNIT_ON_FAILURE,               0
142 Unit.PropagatesReloadTo,         config_parse_unit_deps,             UNIT_PROPAGATES_RELOAD_TO,     0
143 Unit.PropagateReloadTo,          config_parse_unit_deps,             UNIT_PROPAGATES_RELOAD_TO,     0
144 Unit.ReloadPropagatedFrom,       config_parse_unit_deps,             UNIT_RELOAD_PROPAGATED_FROM,   0
145 Unit.PropagateReloadFrom,        config_parse_unit_deps,             UNIT_RELOAD_PROPAGATED_FROM,   0
146 Unit.PartOf,                     config_parse_unit_deps,             UNIT_PART_OF,                  0
147 Unit.JoinsNamespaceOf,           config_parse_unit_deps,             UNIT_JOINS_NAMESPACE_OF,       0
148 Unit.RequiresMountsFor,          config_parse_unit_requires_mounts_for, 0,                          0
149 Unit.StopWhenUnneeded,           config_parse_bool,                  0,                             offsetof(Unit, stop_when_unneeded)
150 Unit.RefuseManualStart,          config_parse_bool,                  0,                             offsetof(Unit, refuse_manual_start)
151 Unit.RefuseManualStop,           config_parse_bool,                  0,                             offsetof(Unit, refuse_manual_stop)
152 Unit.AllowIsolate,               config_parse_bool,                  0,                             offsetof(Unit, allow_isolate)
153 Unit.DefaultDependencies,        config_parse_bool,                  0,                             offsetof(Unit, default_dependencies)
154 Unit.OnFailureJobMode,           config_parse_job_mode,              0,                             offsetof(Unit, on_failure_job_mode)
155 Unit.OnFailureIsolate,           config_parse_job_mode_isolate,      0,                             offsetof(Unit, on_failure_job_mode)
156 Unit.IgnoreOnIsolate,            config_parse_bool,                  0,                             offsetof(Unit, ignore_on_isolate)
157 Unit.IgnoreOnSnapshot,           config_parse_bool,                  0,                             offsetof(Unit, ignore_on_snapshot)
158 Unit.JobTimeoutSec,              config_parse_sec,                   0,                             offsetof(Unit, job_timeout)
159 Unit.JobTimeoutAction,           config_parse_failure_action,        0,                             offsetof(Unit, job_timeout_action)
160 Unit.JobTimeoutRebootArgument,   config_parse_string,                0,                             offsetof(Unit, job_timeout_reboot_arg)
161 Unit.ConditionPathExists,        config_parse_unit_condition_path,   CONDITION_PATH_EXISTS,         offsetof(Unit, conditions)
162 Unit.ConditionPathExistsGlob,    config_parse_unit_condition_path,   CONDITION_PATH_EXISTS_GLOB,    offsetof(Unit, conditions)
163 Unit.ConditionPathIsDirectory,   config_parse_unit_condition_path,   CONDITION_PATH_IS_DIRECTORY,   offsetof(Unit, conditions)
164 Unit.ConditionPathIsSymbolicLink,config_parse_unit_condition_path,   CONDITION_PATH_IS_SYMBOLIC_LINK,offsetof(Unit, conditions)
165 Unit.ConditionPathIsMountPoint,  config_parse_unit_condition_path,   CONDITION_PATH_IS_MOUNT_POINT, offsetof(Unit, conditions)
166 Unit.ConditionPathIsReadWrite,   config_parse_unit_condition_path,   CONDITION_PATH_IS_READ_WRITE,  offsetof(Unit, conditions)
167 Unit.ConditionDirectoryNotEmpty, config_parse_unit_condition_path,   CONDITION_DIRECTORY_NOT_EMPTY, offsetof(Unit, conditions)
168 Unit.ConditionFileNotEmpty,      config_parse_unit_condition_path,   CONDITION_FILE_NOT_EMPTY,      offsetof(Unit, conditions)
169 Unit.ConditionFileIsExecutable,  config_parse_unit_condition_path,   CONDITION_FILE_IS_EXECUTABLE,  offsetof(Unit, conditions)
170 Unit.ConditionNeedsUpdate,       config_parse_unit_condition_path,   CONDITION_NEEDS_UPDATE,        offsetof(Unit, conditions)
171 Unit.ConditionFirstBoot,         config_parse_unit_condition_string, CONDITION_FIRST_BOOT,          offsetof(Unit, conditions)
172 Unit.ConditionKernelCommandLine, config_parse_unit_condition_string, CONDITION_KERNEL_COMMAND_LINE, offsetof(Unit, conditions)
173 Unit.ConditionArchitecture,      config_parse_unit_condition_string, CONDITION_ARCHITECTURE,        offsetof(Unit, conditions)
174 Unit.ConditionVirtualization,    config_parse_unit_condition_string, CONDITION_VIRTUALIZATION,      offsetof(Unit, conditions)
175 Unit.ConditionSecurity,          config_parse_unit_condition_string, CONDITION_SECURITY,            offsetof(Unit, conditions)
176 Unit.ConditionCapability,        config_parse_unit_condition_string, CONDITION_CAPABILITY,          offsetof(Unit, conditions)
177 Unit.ConditionHost,              config_parse_unit_condition_string, CONDITION_HOST,                offsetof(Unit, conditions)
178 Unit.ConditionACPower,           config_parse_unit_condition_string, CONDITION_AC_POWER,            offsetof(Unit, conditions)
179 Unit.ConditionNull,              config_parse_unit_condition_null,   0,                             offsetof(Unit, conditions)
180 Unit.AssertPathExists,           config_parse_unit_condition_path,   CONDITION_PATH_EXISTS,         offsetof(Unit, asserts)
181 Unit.AssertPathExistsGlob,       config_parse_unit_condition_path,   CONDITION_PATH_EXISTS_GLOB,    offsetof(Unit, asserts)
182 Unit.AssertPathIsDirectory,      config_parse_unit_condition_path,   CONDITION_PATH_IS_DIRECTORY,   offsetof(Unit, asserts)
183 Unit.AssertPathIsSymbolicLink,   config_parse_unit_condition_path,   CONDITION_PATH_IS_SYMBOLIC_LINK,offsetof(Unit, asserts)
184 Unit.AssertPathIsMountPoint,     config_parse_unit_condition_path,   CONDITION_PATH_IS_MOUNT_POINT, offsetof(Unit, asserts)
185 Unit.AssertPathIsReadWrite,      config_parse_unit_condition_path,   CONDITION_PATH_IS_READ_WRITE,  offsetof(Unit, asserts)
186 Unit.AssertDirectoryNotEmpty,    config_parse_unit_condition_path,   CONDITION_DIRECTORY_NOT_EMPTY, offsetof(Unit, asserts)
187 Unit.AssertFileNotEmpty,         config_parse_unit_condition_path,   CONDITION_FILE_NOT_EMPTY,      offsetof(Unit, asserts)
188 Unit.AssertFileIsExecutable,     config_parse_unit_condition_path,   CONDITION_FILE_IS_EXECUTABLE,  offsetof(Unit, asserts)
189 Unit.AssertNeedsUpdate,          config_parse_unit_condition_path,   CONDITION_NEEDS_UPDATE,        offsetof(Unit, asserts)
190 Unit.AssertFirstBoot,            config_parse_unit_condition_string, CONDITION_FIRST_BOOT,          offsetof(Unit, asserts)
191 Unit.AssertKernelCommandLine,    config_parse_unit_condition_string, CONDITION_KERNEL_COMMAND_LINE, offsetof(Unit, asserts)
192 Unit.AssertArchitecture,         config_parse_unit_condition_string, CONDITION_ARCHITECTURE,        offsetof(Unit, asserts)
193 Unit.AssertVirtualization,       config_parse_unit_condition_string, CONDITION_VIRTUALIZATION,      offsetof(Unit, asserts)
194 Unit.AssertSecurity,             config_parse_unit_condition_string, CONDITION_SECURITY,            offsetof(Unit, asserts)
195 Unit.AssertCapability,           config_parse_unit_condition_string, CONDITION_CAPABILITY,          offsetof(Unit, asserts)
196 Unit.AssertHost,                 config_parse_unit_condition_string, CONDITION_HOST,                offsetof(Unit, asserts)
197 Unit.AssertACPower,              config_parse_unit_condition_string, CONDITION_AC_POWER,            offsetof(Unit, asserts)
198 Unit.AssertNull,                 config_parse_unit_condition_null,   0,                             offsetof(Unit, asserts)
199 m4_dnl
200 Service.PIDFile,                 config_parse_unit_path_printf,      0,                             offsetof(Service, pid_file)
201 Service.ExecStartPre,            config_parse_exec,                  SERVICE_EXEC_START_PRE,        offsetof(Service, exec_command)
202 Service.ExecStart,               config_parse_exec,                  SERVICE_EXEC_START,            offsetof(Service, exec_command)
203 Service.ExecStartPost,           config_parse_exec,                  SERVICE_EXEC_START_POST,       offsetof(Service, exec_command)
204 Service.ExecReload,              config_parse_exec,                  SERVICE_EXEC_RELOAD,           offsetof(Service, exec_command)
205 Service.ExecStop,                config_parse_exec,                  SERVICE_EXEC_STOP,             offsetof(Service, exec_command)
206 Service.ExecStopPost,            config_parse_exec,                  SERVICE_EXEC_STOP_POST,        offsetof(Service, exec_command)
207 Service.RestartSec,              config_parse_sec,                   0,                             offsetof(Service, restart_usec)
208 Service.TimeoutSec,              config_parse_service_timeout,       0,                             offsetof(Service, timeout_start_usec)
209 Service.TimeoutStartSec,         config_parse_service_timeout,       0,                             offsetof(Service, timeout_start_usec)
210 Service.TimeoutStopSec,          config_parse_service_timeout,       0,                             offsetof(Service, timeout_stop_usec)
211 Service.WatchdogSec,             config_parse_sec,                   0,                             offsetof(Service, watchdog_usec)
212 Service.StartLimitInterval,      config_parse_sec,                   0,                             offsetof(Service, start_limit.interval)
213 Service.StartLimitBurst,         config_parse_unsigned,              0,                             offsetof(Service, start_limit.burst)
214 Service.StartLimitAction,        config_parse_failure_action,        0,                             offsetof(Service, start_limit_action)
215 Service.RebootArgument,          config_parse_string,                0,                             offsetof(Service, reboot_arg)
216 Service.FailureAction,           config_parse_failure_action,        0,                             offsetof(Service, failure_action)
217 Service.Type,                    config_parse_service_type,          0,                             offsetof(Service, type)
218 Service.Restart,                 config_parse_service_restart,       0,                             offsetof(Service, restart)
219 Service.PermissionsStartOnly,    config_parse_bool,                  0,                             offsetof(Service, permissions_start_only)
220 Service.RootDirectoryStartOnly,  config_parse_bool,                  0,                             offsetof(Service, root_directory_start_only)
221 Service.RemainAfterExit,         config_parse_bool,                  0,                             offsetof(Service, remain_after_exit)
222 Service.GuessMainPID,            config_parse_bool,                  0,                             offsetof(Service, guess_main_pid)
223 Service.RestartPreventExitStatus, config_parse_set_status,           0,                             offsetof(Service, restart_prevent_status)
224 Service.RestartForceExitStatus,  config_parse_set_status,            0,                             offsetof(Service, restart_force_status)
225 Service.SuccessExitStatus,       config_parse_set_status,            0,                             offsetof(Service, success_status)
226 Service.SysVStartPriority,       config_parse_warn_compat,           DISABLED_LEGACY,               0
227 Service.NonBlocking,             config_parse_bool,                  0,                             offsetof(Service, exec_context.non_blocking)
228 Service.BusName,                 config_parse_bus_name,              0,                             offsetof(Service, bus_name)
229 Service.FileDescriptorStoreMax,  config_parse_unsigned,              0,                             offsetof(Service, n_fd_store_max)
230 Service.NotifyAccess,            config_parse_notify_access,         0,                             offsetof(Service, notify_access)
231 Service.Sockets,                 config_parse_service_sockets,       0,                             0
232 m4_ifdef(`ENABLE_KDBUS',
233 `Service.BusPolicy,              config_parse_bus_endpoint_policy,   0,                             offsetof(Service, exec_context)',
234 `Service.BusPolicy,              config_parse_warn_compat,           DISABLED_EXPERIMENTAL,         0')
235 EXEC_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
236 CGROUP_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
237 KILL_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
238 m4_dnl
239 Socket.ListenStream,             config_parse_socket_listen,         SOCKET_SOCKET,                 0
240 Socket.ListenDatagram,           config_parse_socket_listen,         SOCKET_SOCKET,                 0
241 Socket.ListenSequentialPacket,   config_parse_socket_listen,         SOCKET_SOCKET,                 0
242 Socket.ListenFIFO,               config_parse_socket_listen,         SOCKET_FIFO,                   0
243 Socket.ListenNetlink,            config_parse_socket_listen,         SOCKET_SOCKET,                 0
244 Socket.ListenSpecial,            config_parse_socket_listen,         SOCKET_SPECIAL,                0
245 Socket.ListenMessageQueue,       config_parse_socket_listen,         SOCKET_MQUEUE,                 0
246 Socket.BindIPv6Only,             config_parse_socket_bind,           0,                             0,
247 Socket.Backlog,                  config_parse_unsigned,              0,                             offsetof(Socket, backlog)
248 Socket.BindToDevice,             config_parse_socket_bindtodevice,   0,                             0
249 Socket.ExecStartPre,             config_parse_exec,                  SOCKET_EXEC_START_PRE,         offsetof(Socket, exec_command)
250 Socket.ExecStartPost,            config_parse_exec,                  SOCKET_EXEC_START_POST,        offsetof(Socket, exec_command)
251 Socket.ExecStopPre,              config_parse_exec,                  SOCKET_EXEC_STOP_PRE,          offsetof(Socket, exec_command)
252 Socket.ExecStopPost,             config_parse_exec,                  SOCKET_EXEC_STOP_POST,         offsetof(Socket, exec_command)
253 Socket.TimeoutSec,               config_parse_sec,                   0,                             offsetof(Socket, timeout_usec)
254 Socket.SocketUser,               config_parse_unit_string_printf,    0,                             offsetof(Socket, user)
255 Socket.SocketGroup,              config_parse_unit_string_printf,    0,                             offsetof(Socket, group)
256 Socket.SocketMode,               config_parse_mode,                  0,                             offsetof(Socket, socket_mode)
257 Socket.DirectoryMode,            config_parse_mode,                  0,                             offsetof(Socket, directory_mode)
258 Socket.Accept,                   config_parse_bool,                  0,                             offsetof(Socket, accept)
259 Socket.MaxConnections,           config_parse_unsigned,              0,                             offsetof(Socket, max_connections)
260 Socket.KeepAlive,                config_parse_bool,                  0,                             offsetof(Socket, keep_alive)
261 Socket.KeepAliveTimeSec,         config_parse_sec,                   0,                             offsetof(Socket, keep_alive_time)
262 Socket.KeepAliveIntervalSec,     config_parse_sec,                   0,                             offsetof(Socket, keep_alive_interval)
263 Socket.KeepAliveProbes,          config_parse_unsigned,              0,                             offsetof(Socket, keep_alive_cnt)
264 Socket.DeferAcceptSec,           config_parse_sec,                   0,                             offsetof(Socket, defer_accept)
265 Socket.NoDelay,                  config_parse_bool,                  0,                             offsetof(Socket, no_delay)
266 Socket.Priority,                 config_parse_int,                   0,                             offsetof(Socket, priority)
267 Socket.ReceiveBuffer,            config_parse_iec_size,              0,                             offsetof(Socket, receive_buffer)
268 Socket.SendBuffer,               config_parse_iec_size,              0,                             offsetof(Socket, send_buffer)
269 Socket.IPTOS,                    config_parse_ip_tos,                0,                             offsetof(Socket, ip_tos)
270 Socket.IPTTL,                    config_parse_int,                   0,                             offsetof(Socket, ip_ttl)
271 Socket.Mark,                     config_parse_int,                   0,                             offsetof(Socket, mark)
272 Socket.PipeSize,                 config_parse_iec_size,              0,                             offsetof(Socket, pipe_size)
273 Socket.FreeBind,                 config_parse_bool,                  0,                             offsetof(Socket, free_bind)
274 Socket.Transparent,              config_parse_bool,                  0,                             offsetof(Socket, transparent)
275 Socket.Broadcast,                config_parse_bool,                  0,                             offsetof(Socket, broadcast)
276 Socket.PassCredentials,          config_parse_bool,                  0,                             offsetof(Socket, pass_cred)
277 Socket.PassSecurity,             config_parse_bool,                  0,                             offsetof(Socket, pass_sec)
278 Socket.TCPCongestion,            config_parse_string,                0,                             offsetof(Socket, tcp_congestion)
279 Socket.ReusePort,                config_parse_bool,                  0,                             offsetof(Socket, reuse_port)
280 Socket.MessageQueueMaxMessages,  config_parse_long,                  0,                             offsetof(Socket, mq_maxmsg)
281 Socket.MessageQueueMessageSize,  config_parse_long,                  0,                             offsetof(Socket, mq_msgsize)
282 Socket.RemoveOnStop,             config_parse_bool,                  0,                             offsetof(Socket, remove_on_stop)
283 Socket.Symlinks,                 config_parse_unit_path_strv_printf, 0,                             offsetof(Socket, symlinks)
284 Socket.Service,                  config_parse_socket_service,        0,                             0
285 m4_ifdef(`HAVE_SMACK',
286 `Socket.SmackLabel,              config_parse_string,                0,                             offsetof(Socket, smack)
287 Socket.SmackLabelIPIn,           config_parse_string,                0,                             offsetof(Socket, smack_ip_in)
288 Socket.SmackLabelIPOut,          config_parse_string,                0,                             offsetof(Socket, smack_ip_out)',
289 `Socket.SmackLabel,              config_parse_warn_compat,           DISABLED_CONFIGURATION,        0
290 Socket.SmackLabelIPIn,           config_parse_warn_compat,           DISABLED_CONFIGURATION,        0
291 Socket.SmackLabelIPOut,          config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')
292 m4_ifdef(`HAVE_SELINUX',
293 `Socket.SELinuxContextFromNet,   config_parse_bool,                  0,                             offsetof(Socket, selinux_context_from_net)',
294 `Socket.SELinuxContextFromNet,   config_parse_warn_compat,           DISABLED_CONFIGURATION,        0')
295 EXEC_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl
296 CGROUP_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl
297 KILL_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl
298 m4_dnl
299 BusName.Name,                    config_parse_string,                0,                             offsetof(BusName, name)
300 BusName.Activating,              config_parse_bool,                  0,                             offsetof(BusName, activating)
301 BusName.Service,                 config_parse_busname_service,       0,                             0
302 BusName.AllowUser,               config_parse_bus_policy,            0,                             0
303 BusName.AllowGroup,              config_parse_bus_policy,            0,                             0
304 BusName.AllowWorld,              config_parse_bus_policy_world,      0,                             offsetof(BusName, policy_world)
305 BusName.SELinuxContext,          config_parse_exec_selinux_context,  0,                             0
306 BusName.AcceptFileDescriptors,   config_parse_bool,                  0,                             offsetof(BusName, accept_fd)
307 m4_dnl
308 Mount.What,                      config_parse_string,                0,                             offsetof(Mount, parameters_fragment.what)
309 Mount.Where,                     config_parse_path,                  0,                             offsetof(Mount, where)
310 Mount.Options,                   config_parse_string,                0,                             offsetof(Mount, parameters_fragment.options)
311 Mount.Type,                      config_parse_string,                0,                             offsetof(Mount, parameters_fragment.fstype)
312 Mount.TimeoutSec,                config_parse_sec,                   0,                             offsetof(Mount, timeout_usec)
313 Mount.DirectoryMode,             config_parse_mode,                  0,                             offsetof(Mount, directory_mode)
314 Mount.SloppyOptions,             config_parse_bool,                  0,                             offsetof(Mount, sloppy_options)
315 EXEC_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl
316 CGROUP_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl
317 KILL_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl
318 m4_dnl
319 Automount.Where,                 config_parse_path,                  0,                             offsetof(Automount, where)
320 Automount.DirectoryMode,         config_parse_mode,                  0,                             offsetof(Automount, directory_mode)
321 m4_dnl
322 Swap.What,                       config_parse_path,                  0,                             offsetof(Swap, parameters_fragment.what)
323 Swap.Priority,                   config_parse_int,                   0,                             offsetof(Swap, parameters_fragment.priority)
324 Swap.Options,                    config_parse_string,                0,                             offsetof(Swap, parameters_fragment.options)
325 Swap.TimeoutSec,                 config_parse_sec,                   0,                             offsetof(Swap, timeout_usec)
326 EXEC_CONTEXT_CONFIG_ITEMS(Swap)m4_dnl
327 CGROUP_CONTEXT_CONFIG_ITEMS(Swap)m4_dnl
328 KILL_CONTEXT_CONFIG_ITEMS(Swap)m4_dnl
329 m4_dnl
330 Timer.OnCalendar,                config_parse_timer,                 0,                             0
331 Timer.OnActiveSec,               config_parse_timer,                 0,                             0
332 Timer.OnBootSec,                 config_parse_timer,                 0,                             0
333 Timer.OnStartupSec,              config_parse_timer,                 0,                             0
334 Timer.OnUnitActiveSec,           config_parse_timer,                 0,                             0
335 Timer.OnUnitInactiveSec,         config_parse_timer,                 0,                             0
336 Timer.Persistent,                config_parse_bool,                  0,                             offsetof(Timer, persistent)
337 Timer.WakeSystem,                config_parse_bool,                  0,                             offsetof(Timer, wake_system)
338 Timer.AccuracySec,               config_parse_sec,                   0,                             offsetof(Timer, accuracy_usec)
339 Timer.Unit,                      config_parse_trigger_unit,          0,                             0
340 m4_dnl
341 Path.PathExists,                 config_parse_path_spec,             0,                             0
342 Path.PathExistsGlob,             config_parse_path_spec,             0,                             0
343 Path.PathChanged,                config_parse_path_spec,             0,                             0
344 Path.PathModified,               config_parse_path_spec,             0,                             0
345 Path.DirectoryNotEmpty,          config_parse_path_spec,             0,                             0
346 Path.Unit,                       config_parse_trigger_unit,          0,                             0
347 Path.MakeDirectory,              config_parse_bool,                  0,                             offsetof(Path, make_directory)
348 Path.DirectoryMode,              config_parse_mode,                  0,                             offsetof(Path, directory_mode)
349 m4_dnl
350 CGROUP_CONTEXT_CONFIG_ITEMS(Slice)m4_dnl
351 m4_dnl
352 CGROUP_CONTEXT_CONFIG_ITEMS(Scope)m4_dnl
353 KILL_CONTEXT_CONFIG_ITEMS(Scope)m4_dnl
354 Scope.TimeoutStopSec,            config_parse_sec,                   0,                             offsetof(Scope, timeout_stop_usec)
355 m4_dnl The [Install] section is ignored here.
356 Install.Alias,                   NULL,                               0,                             0
357 Install.WantedBy,                NULL,                               0,                             0
358 Install.RequiredBy,              NULL,                               0,                             0
359 Install.Also,                    NULL,                               0,                             0
360 Install.DefaultInstance,         NULL,                               0,                             0