]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/core/load-fragment.h
service: handle abort stops with dedicated timeout
[thirdparty/systemd.git] / src / core / load-fragment.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 #include "conf-parser.h"
5 #include "unit.h"
6
7 /* Read service data from .desktop file style configuration fragments */
8
9 int unit_load_fragment(Unit *u);
10
11 void unit_dump_config_items(FILE *f);
12
13 CONFIG_PARSER_PROTOTYPE(config_parse_unit_deps);
14 CONFIG_PARSER_PROTOTYPE(config_parse_obsolete_unit_deps);
15 CONFIG_PARSER_PROTOTYPE(config_parse_unit_string_printf);
16 CONFIG_PARSER_PROTOTYPE(config_parse_unit_strv_printf);
17 CONFIG_PARSER_PROTOTYPE(config_parse_unit_path_printf);
18 CONFIG_PARSER_PROTOTYPE(config_parse_unit_path_strv_printf);
19 CONFIG_PARSER_PROTOTYPE(config_parse_documentation);
20 CONFIG_PARSER_PROTOTYPE(config_parse_socket_listen);
21 CONFIG_PARSER_PROTOTYPE(config_parse_socket_protocol);
22 CONFIG_PARSER_PROTOTYPE(config_parse_socket_bind);
23 CONFIG_PARSER_PROTOTYPE(config_parse_exec_nice);
24 CONFIG_PARSER_PROTOTYPE(config_parse_exec_oom_score_adjust);
25 CONFIG_PARSER_PROTOTYPE(config_parse_exec);
26 CONFIG_PARSER_PROTOTYPE(config_parse_service_timeout);
27 CONFIG_PARSER_PROTOTYPE(config_parse_service_timeout_abort);
28 CONFIG_PARSER_PROTOTYPE(config_parse_service_type);
29 CONFIG_PARSER_PROTOTYPE(config_parse_service_restart);
30 CONFIG_PARSER_PROTOTYPE(config_parse_socket_bindtodevice);
31 CONFIG_PARSER_PROTOTYPE(config_parse_exec_output);
32 CONFIG_PARSER_PROTOTYPE(config_parse_exec_input);
33 CONFIG_PARSER_PROTOTYPE(config_parse_exec_input_text);
34 CONFIG_PARSER_PROTOTYPE(config_parse_exec_input_data);
35 CONFIG_PARSER_PROTOTYPE(config_parse_exec_io_class);
36 CONFIG_PARSER_PROTOTYPE(config_parse_exec_io_priority);
37 CONFIG_PARSER_PROTOTYPE(config_parse_exec_cpu_sched_policy);
38 CONFIG_PARSER_PROTOTYPE(config_parse_exec_cpu_sched_prio);
39 CONFIG_PARSER_PROTOTYPE(config_parse_exec_cpu_affinity);
40 CONFIG_PARSER_PROTOTYPE(config_parse_exec_secure_bits);
41 CONFIG_PARSER_PROTOTYPE(config_parse_capability_set);
42 CONFIG_PARSER_PROTOTYPE(config_parse_kill_signal);
43 CONFIG_PARSER_PROTOTYPE(config_parse_final_kill_signal);
44 CONFIG_PARSER_PROTOTYPE(config_parse_exec_mount_flags);
45 CONFIG_PARSER_PROTOTYPE(config_parse_timer);
46 CONFIG_PARSER_PROTOTYPE(config_parse_trigger_unit);
47 CONFIG_PARSER_PROTOTYPE(config_parse_path_spec);
48 CONFIG_PARSER_PROTOTYPE(config_parse_socket_service);
49 CONFIG_PARSER_PROTOTYPE(config_parse_service_sockets);
50 CONFIG_PARSER_PROTOTYPE(config_parse_unit_env_file);
51 CONFIG_PARSER_PROTOTYPE(config_parse_ip_tos);
52 CONFIG_PARSER_PROTOTYPE(config_parse_unit_condition_path);
53 CONFIG_PARSER_PROTOTYPE(config_parse_unit_condition_string);
54 CONFIG_PARSER_PROTOTYPE(config_parse_unit_condition_null);
55 CONFIG_PARSER_PROTOTYPE(config_parse_kill_mode);
56 CONFIG_PARSER_PROTOTYPE(config_parse_notify_access);
57 CONFIG_PARSER_PROTOTYPE(config_parse_emergency_action);
58 CONFIG_PARSER_PROTOTYPE(config_parse_unit_requires_mounts_for);
59 CONFIG_PARSER_PROTOTYPE(config_parse_syscall_filter);
60 CONFIG_PARSER_PROTOTYPE(config_parse_syscall_archs);
61 CONFIG_PARSER_PROTOTYPE(config_parse_syscall_errno);
62 CONFIG_PARSER_PROTOTYPE(config_parse_environ);
63 CONFIG_PARSER_PROTOTYPE(config_parse_pass_environ);
64 CONFIG_PARSER_PROTOTYPE(config_parse_unset_environ);
65 CONFIG_PARSER_PROTOTYPE(config_parse_unit_slice);
66 CONFIG_PARSER_PROTOTYPE(config_parse_cg_weight);
67 CONFIG_PARSER_PROTOTYPE(config_parse_cpu_shares);
68 CONFIG_PARSER_PROTOTYPE(config_parse_memory_limit);
69 CONFIG_PARSER_PROTOTYPE(config_parse_tasks_max);
70 CONFIG_PARSER_PROTOTYPE(config_parse_delegate);
71 CONFIG_PARSER_PROTOTYPE(config_parse_device_policy);
72 CONFIG_PARSER_PROTOTYPE(config_parse_device_allow);
73 CONFIG_PARSER_PROTOTYPE(config_parse_io_device_latency);
74 CONFIG_PARSER_PROTOTYPE(config_parse_io_device_weight);
75 CONFIG_PARSER_PROTOTYPE(config_parse_io_limit);
76 CONFIG_PARSER_PROTOTYPE(config_parse_blockio_weight);
77 CONFIG_PARSER_PROTOTYPE(config_parse_blockio_device_weight);
78 CONFIG_PARSER_PROTOTYPE(config_parse_blockio_bandwidth);
79 CONFIG_PARSER_PROTOTYPE(config_parse_job_mode);
80 CONFIG_PARSER_PROTOTYPE(config_parse_job_mode_isolate);
81 CONFIG_PARSER_PROTOTYPE(config_parse_exec_selinux_context);
82 CONFIG_PARSER_PROTOTYPE(config_parse_exec_apparmor_profile);
83 CONFIG_PARSER_PROTOTYPE(config_parse_exec_smack_process_label);
84 CONFIG_PARSER_PROTOTYPE(config_parse_address_families);
85 CONFIG_PARSER_PROTOTYPE(config_parse_runtime_preserve_mode);
86 CONFIG_PARSER_PROTOTYPE(config_parse_exec_directories);
87 CONFIG_PARSER_PROTOTYPE(config_parse_set_status);
88 CONFIG_PARSER_PROTOTYPE(config_parse_namespace_path_strv);
89 CONFIG_PARSER_PROTOTYPE(config_parse_temporary_filesystems);
90 CONFIG_PARSER_PROTOTYPE(config_parse_cpu_quota);
91 CONFIG_PARSER_PROTOTYPE(config_parse_protect_home);
92 CONFIG_PARSER_PROTOTYPE(config_parse_protect_system);
93 CONFIG_PARSER_PROTOTYPE(config_parse_bus_name);
94 CONFIG_PARSER_PROTOTYPE(config_parse_exec_utmp_mode);
95 CONFIG_PARSER_PROTOTYPE(config_parse_working_directory);
96 CONFIG_PARSER_PROTOTYPE(config_parse_fdname);
97 CONFIG_PARSER_PROTOTYPE(config_parse_sec_fix_0);
98 CONFIG_PARSER_PROTOTYPE(config_parse_user_group);
99 CONFIG_PARSER_PROTOTYPE(config_parse_user_group_strv);
100 CONFIG_PARSER_PROTOTYPE(config_parse_restrict_namespaces);
101 CONFIG_PARSER_PROTOTYPE(config_parse_bind_paths);
102 CONFIG_PARSER_PROTOTYPE(config_parse_exec_keyring_mode);
103 CONFIG_PARSER_PROTOTYPE(config_parse_job_timeout_sec);
104 CONFIG_PARSER_PROTOTYPE(config_parse_job_running_timeout_sec);
105 CONFIG_PARSER_PROTOTYPE(config_parse_log_extra_fields);
106 CONFIG_PARSER_PROTOTYPE(config_parse_collect_mode);
107 CONFIG_PARSER_PROTOTYPE(config_parse_pid_file);
108 CONFIG_PARSER_PROTOTYPE(config_parse_exit_status);
109 CONFIG_PARSER_PROTOTYPE(config_parse_disable_controllers);
110 CONFIG_PARSER_PROTOTYPE(config_parse_oom_policy);
111
112 /* gperf prototypes */
113 const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
114 extern const char load_fragment_gperf_nulstr[];