]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/systemctl/systemctl.h
basic: add RuntimeScope enum
[thirdparty/systemd.git] / src / systemctl / systemctl.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
daf71ef6
LP
2#pragma once
3
4#include <stdbool.h>
5
255b1fc8 6#include "bus-print-properties.h"
daf71ef6
LP
7#include "bus-util.h"
8#include "install.h"
9#include "output-mode.h"
10#include "pager.h"
11
12enum action {
13 ACTION_SYSTEMCTL,
14 ACTION_HALT,
15 ACTION_POWEROFF,
16 ACTION_REBOOT,
17 ACTION_KEXEC,
18 ACTION_EXIT,
19 ACTION_SUSPEND,
20 ACTION_HIBERNATE,
21 ACTION_HYBRID_SLEEP,
22 ACTION_SUSPEND_THEN_HIBERNATE,
23 ACTION_RUNLEVEL2,
24 ACTION_RUNLEVEL3,
25 ACTION_RUNLEVEL4,
26 ACTION_RUNLEVEL5,
27 ACTION_RESCUE,
28 ACTION_EMERGENCY,
29 ACTION_DEFAULT,
30 ACTION_RELOAD,
31 ACTION_REEXEC,
32 ACTION_RUNLEVEL,
ea71b460 33 ACTION_TELINIT,
daf71ef6 34 ACTION_CANCEL_SHUTDOWN,
a9c3cc8d 35 ACTION_SHOW_SHUTDOWN,
daf71ef6 36 _ACTION_MAX,
2d93c20e 37 _ACTION_INVALID = -EINVAL,
daf71ef6
LP
38};
39
40enum dependency {
41 DEPENDENCY_FORWARD,
42 DEPENDENCY_REVERSE,
43 DEPENDENCY_AFTER,
44 DEPENDENCY_BEFORE,
45 _DEPENDENCY_MAX
46};
47
48extern char **arg_types;
49extern char **arg_states;
50extern char **arg_properties;
51extern bool arg_all;
52extern enum dependency arg_dependency;
a88f9dba 53extern const char *_arg_job_mode;
4870133b 54extern RuntimeScope arg_runtime_scope;
daf71ef6
LP
55extern bool arg_wait;
56extern bool arg_no_block;
6906da26 57extern int arg_legend;
daf71ef6
LP
58extern PagerFlags arg_pager_flags;
59extern bool arg_no_wtmp;
60extern bool arg_no_sync;
61extern bool arg_no_wall;
62extern bool arg_no_reload;
255b1fc8 63extern BusPrintPropertyFlags arg_print_flags;
daf71ef6 64extern bool arg_show_types;
4327574f 65extern int arg_check_inhibitors;
daf71ef6
LP
66extern bool arg_dry_run;
67extern bool arg_quiet;
108d35ac 68extern bool arg_no_warn;
daf71ef6
LP
69extern bool arg_full;
70extern bool arg_recursive;
71extern bool arg_with_dependencies;
72extern bool arg_show_transaction;
73extern int arg_force;
74extern bool arg_ask_password;
75extern bool arg_runtime;
76extern UnitFilePresetMode arg_preset_mode;
77extern char **arg_wall;
4ccde410 78extern const char *arg_kill_whom;
daf71ef6 79extern int arg_signal;
d06e6199
LP
80extern int arg_kill_value;
81extern bool arg_kill_value_set;
daf71ef6
LP
82extern char *arg_root;
83extern usec_t arg_when;
84extern const char *arg_reboot_argument;
85extern enum action arg_action;
86extern BusTransport arg_transport;
87extern const char *arg_host;
88extern unsigned arg_lines;
89extern OutputMode arg_output;
90extern bool arg_plain;
91extern bool arg_firmware_setup;
92extern usec_t arg_boot_loader_menu;
93extern const char *arg_boot_loader_entry;
94extern bool arg_now;
95extern bool arg_jobs_before;
96extern bool arg_jobs_after;
97extern char **arg_clean_what;
98extern TimestampStyle arg_timestamp_style;
5e8deb94
LB
99extern bool arg_read_only;
100extern bool arg_mkdir;
c9615f73 101extern bool arg_marked;
f206809b 102extern const char *arg_drop_in;
5fd87823 103
a88f9dba
ZJS
104static inline const char* arg_job_mode(void) {
105 return _arg_job_mode ?: "replace";
106}
107
5fd87823 108int systemctl_dispatch_parse_argv(int argc, char *argv[]);