diff options
Diffstat (limited to 'src/systemctl/systemctl-sysv-compat.h')
-rw-r--r-- | src/systemctl/systemctl-sysv-compat.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/systemctl/systemctl-sysv-compat.h b/src/systemctl/systemctl-sysv-compat.h new file mode 100644 index 0000000..05db6ec --- /dev/null +++ b/src/systemctl/systemctl-sysv-compat.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include "time-util.h" + +int talk_initctl(char runlevel); + +int parse_shutdown_time_spec(const char *t, usec_t *ret); + +/* The init script exit codes for the LSB 'status' verb. (This is different from the 'start' verb, whose exit + codes are defined in exit-status.h.) + + 0 program is running or service is OK + 1 program is dead and /var/run pid file exists + 2 program is dead and /var/lock lock file exists + 3 program is not running + 4 program or service status is unknown + 5-99 reserved for future LSB use + 100-149 reserved for distribution use + 150-199 reserved for application use + 200-254 reserved + + https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html +*/ +enum { + EXIT_PROGRAM_RUNNING_OR_SERVICE_OK = 0, + EXIT_PROGRAM_DEAD_AND_PID_EXISTS = 1, + EXIT_PROGRAM_DEAD_AND_LOCK_FILE_EXISTS = 2, + EXIT_PROGRAM_NOT_RUNNING = 3, + EXIT_PROGRAM_OR_SERVICES_STATUS_UNKNOWN = 4, +}; + +typedef enum SysVUnitEnableState { + SYSV_UNIT_NOT_FOUND = 0, + SYSV_UNIT_DISABLED, + SYSV_UNIT_ENABLED, +} SysVUnitEnableState; + +int enable_sysv_units(const char *verb, char **args); + +int action_to_runlevel(void) _pure_; |