]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/core/load-fragment.h
shared/user-util: add compat forms of user name checking functions
[thirdparty/systemd.git] / src / core / load-fragment.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
c2f1db8f 2#pragma once
3efd4195 3
a2106925 4#include "conf-parser.h"
87f0e418 5#include "unit.h"
3efd4195 6
a07a7324
FS
7/* Config-parsing helpers relevant only for sources under src/core/ */
8int parse_crash_chvt(const char *value, int *data);
9int parse_confirm_spawn(const char *value, char **console);
10
3efd4195
LP
11/* Read service data from .desktop file style configuration fragments */
12
e537352b
LP
13int unit_load_fragment(Unit *u);
14
15void unit_dump_config_items(FILE *f);
3efd4195 16
a2106925
LP
17CONFIG_PARSER_PROTOTYPE(config_parse_unit_deps);
18CONFIG_PARSER_PROTOTYPE(config_parse_obsolete_unit_deps);
19CONFIG_PARSER_PROTOTYPE(config_parse_unit_string_printf);
20CONFIG_PARSER_PROTOTYPE(config_parse_unit_strv_printf);
21CONFIG_PARSER_PROTOTYPE(config_parse_unit_path_printf);
22CONFIG_PARSER_PROTOTYPE(config_parse_unit_path_strv_printf);
23CONFIG_PARSER_PROTOTYPE(config_parse_documentation);
24CONFIG_PARSER_PROTOTYPE(config_parse_socket_listen);
25CONFIG_PARSER_PROTOTYPE(config_parse_socket_protocol);
26CONFIG_PARSER_PROTOTYPE(config_parse_socket_bind);
27CONFIG_PARSER_PROTOTYPE(config_parse_exec_nice);
28CONFIG_PARSER_PROTOTYPE(config_parse_exec_oom_score_adjust);
29CONFIG_PARSER_PROTOTYPE(config_parse_exec);
30CONFIG_PARSER_PROTOTYPE(config_parse_service_timeout);
dc653bf4 31CONFIG_PARSER_PROTOTYPE(config_parse_service_timeout_abort);
a2106925
LP
32CONFIG_PARSER_PROTOTYPE(config_parse_service_type);
33CONFIG_PARSER_PROTOTYPE(config_parse_service_restart);
34CONFIG_PARSER_PROTOTYPE(config_parse_socket_bindtodevice);
35CONFIG_PARSER_PROTOTYPE(config_parse_exec_output);
36CONFIG_PARSER_PROTOTYPE(config_parse_exec_input);
37CONFIG_PARSER_PROTOTYPE(config_parse_exec_input_text);
38CONFIG_PARSER_PROTOTYPE(config_parse_exec_input_data);
39CONFIG_PARSER_PROTOTYPE(config_parse_exec_io_class);
40CONFIG_PARSER_PROTOTYPE(config_parse_exec_io_priority);
41CONFIG_PARSER_PROTOTYPE(config_parse_exec_cpu_sched_policy);
42CONFIG_PARSER_PROTOTYPE(config_parse_exec_cpu_sched_prio);
43CONFIG_PARSER_PROTOTYPE(config_parse_exec_cpu_affinity);
44CONFIG_PARSER_PROTOTYPE(config_parse_exec_secure_bits);
45CONFIG_PARSER_PROTOTYPE(config_parse_capability_set);
a2106925 46CONFIG_PARSER_PROTOTYPE(config_parse_kill_signal);
fbb48d4c 47CONFIG_PARSER_PROTOTYPE(config_parse_final_kill_signal);
a2106925
LP
48CONFIG_PARSER_PROTOTYPE(config_parse_exec_mount_flags);
49CONFIG_PARSER_PROTOTYPE(config_parse_timer);
50CONFIG_PARSER_PROTOTYPE(config_parse_trigger_unit);
51CONFIG_PARSER_PROTOTYPE(config_parse_path_spec);
52CONFIG_PARSER_PROTOTYPE(config_parse_socket_service);
53CONFIG_PARSER_PROTOTYPE(config_parse_service_sockets);
54CONFIG_PARSER_PROTOTYPE(config_parse_unit_env_file);
55CONFIG_PARSER_PROTOTYPE(config_parse_ip_tos);
56CONFIG_PARSER_PROTOTYPE(config_parse_unit_condition_path);
57CONFIG_PARSER_PROTOTYPE(config_parse_unit_condition_string);
58CONFIG_PARSER_PROTOTYPE(config_parse_unit_condition_null);
59CONFIG_PARSER_PROTOTYPE(config_parse_kill_mode);
60CONFIG_PARSER_PROTOTYPE(config_parse_notify_access);
61CONFIG_PARSER_PROTOTYPE(config_parse_emergency_action);
62CONFIG_PARSER_PROTOTYPE(config_parse_unit_requires_mounts_for);
63CONFIG_PARSER_PROTOTYPE(config_parse_syscall_filter);
64CONFIG_PARSER_PROTOTYPE(config_parse_syscall_archs);
65CONFIG_PARSER_PROTOTYPE(config_parse_syscall_errno);
66CONFIG_PARSER_PROTOTYPE(config_parse_environ);
67CONFIG_PARSER_PROTOTYPE(config_parse_pass_environ);
68CONFIG_PARSER_PROTOTYPE(config_parse_unset_environ);
69CONFIG_PARSER_PROTOTYPE(config_parse_unit_slice);
984faf29 70CONFIG_PARSER_PROTOTYPE(config_parse_cg_weight);
a2106925
LP
71CONFIG_PARSER_PROTOTYPE(config_parse_cpu_shares);
72CONFIG_PARSER_PROTOTYPE(config_parse_memory_limit);
73CONFIG_PARSER_PROTOTYPE(config_parse_tasks_max);
74CONFIG_PARSER_PROTOTYPE(config_parse_delegate);
75CONFIG_PARSER_PROTOTYPE(config_parse_device_policy);
76CONFIG_PARSER_PROTOTYPE(config_parse_device_allow);
6ae4283c 77CONFIG_PARSER_PROTOTYPE(config_parse_io_device_latency);
a2106925
LP
78CONFIG_PARSER_PROTOTYPE(config_parse_io_device_weight);
79CONFIG_PARSER_PROTOTYPE(config_parse_io_limit);
80CONFIG_PARSER_PROTOTYPE(config_parse_blockio_weight);
81CONFIG_PARSER_PROTOTYPE(config_parse_blockio_device_weight);
82CONFIG_PARSER_PROTOTYPE(config_parse_blockio_bandwidth);
a2106925
LP
83CONFIG_PARSER_PROTOTYPE(config_parse_job_mode);
84CONFIG_PARSER_PROTOTYPE(config_parse_job_mode_isolate);
85CONFIG_PARSER_PROTOTYPE(config_parse_exec_selinux_context);
86CONFIG_PARSER_PROTOTYPE(config_parse_exec_apparmor_profile);
87CONFIG_PARSER_PROTOTYPE(config_parse_exec_smack_process_label);
88CONFIG_PARSER_PROTOTYPE(config_parse_address_families);
89CONFIG_PARSER_PROTOTYPE(config_parse_runtime_preserve_mode);
90CONFIG_PARSER_PROTOTYPE(config_parse_exec_directories);
91CONFIG_PARSER_PROTOTYPE(config_parse_set_status);
92CONFIG_PARSER_PROTOTYPE(config_parse_namespace_path_strv);
93CONFIG_PARSER_PROTOTYPE(config_parse_temporary_filesystems);
a2106925
LP
94CONFIG_PARSER_PROTOTYPE(config_parse_cpu_quota);
95CONFIG_PARSER_PROTOTYPE(config_parse_protect_home);
96CONFIG_PARSER_PROTOTYPE(config_parse_protect_system);
97CONFIG_PARSER_PROTOTYPE(config_parse_bus_name);
98CONFIG_PARSER_PROTOTYPE(config_parse_exec_utmp_mode);
99CONFIG_PARSER_PROTOTYPE(config_parse_working_directory);
100CONFIG_PARSER_PROTOTYPE(config_parse_fdname);
101CONFIG_PARSER_PROTOTYPE(config_parse_sec_fix_0);
102CONFIG_PARSER_PROTOTYPE(config_parse_user_group);
103CONFIG_PARSER_PROTOTYPE(config_parse_user_group_strv);
104CONFIG_PARSER_PROTOTYPE(config_parse_restrict_namespaces);
105CONFIG_PARSER_PROTOTYPE(config_parse_bind_paths);
106CONFIG_PARSER_PROTOTYPE(config_parse_exec_keyring_mode);
107CONFIG_PARSER_PROTOTYPE(config_parse_job_timeout_sec);
108CONFIG_PARSER_PROTOTYPE(config_parse_job_running_timeout_sec);
109CONFIG_PARSER_PROTOTYPE(config_parse_log_extra_fields);
110CONFIG_PARSER_PROTOTYPE(config_parse_collect_mode);
a9353a5c 111CONFIG_PARSER_PROTOTYPE(config_parse_pid_file);
7af67e9a 112CONFIG_PARSER_PROTOTYPE(config_parse_exit_status);
c72703e2 113CONFIG_PARSER_PROTOTYPE(config_parse_disable_controllers);
afcfaa69 114CONFIG_PARSER_PROTOTYPE(config_parse_oom_policy);
b070c7c0
MS
115CONFIG_PARSER_PROTOTYPE(config_parse_numa_policy);
116CONFIG_PARSER_PROTOTYPE(config_parse_numa_mask);
fab34748 117CONFIG_PARSER_PROTOTYPE(config_parse_ip_filter_bpf_progs);
a07a7324
FS
118CONFIG_PARSER_PROTOTYPE(config_parse_cpu_affinity2);
119CONFIG_PARSER_PROTOTYPE(config_parse_show_status);
120CONFIG_PARSER_PROTOTYPE(config_parse_output_restricted);
121CONFIG_PARSER_PROTOTYPE(config_parse_crash_chvt);
122CONFIG_PARSER_PROTOTYPE(config_parse_timeout_abort);
f975e971
LP
123
124/* gperf prototypes */
c9f7b4d3 125const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
f975e971 126extern const char load_fragment_gperf_nulstr[];