1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include "time-util.h"
5 
6 int talk_initctl(char runlevel);
7 
8 int parse_shutdown_time_spec(const char *t, usec_t *ret);
9 
10 /* The init script exit codes for the LSB 'status' verb. (This is different from the 'start' verb, whose exit
11    codes are defined in exit-status.h.)
12 
13    0       program is running or service is OK
14    1       program is dead and /var/run pid file exists
15    2       program is dead and /var/lock lock file exists
16    3       program is not running
17    4       program or service status is unknown
18    5-99    reserved for future LSB use
19    100-149 reserved for distribution use
20    150-199 reserved for application use
21    200-254 reserved
22 
23    https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
24 */
25 enum {
26         EXIT_PROGRAM_RUNNING_OR_SERVICE_OK        = 0,
27         EXIT_PROGRAM_DEAD_AND_PID_EXISTS          = 1,
28         EXIT_PROGRAM_DEAD_AND_LOCK_FILE_EXISTS    = 2,
29         EXIT_PROGRAM_NOT_RUNNING                  = 3,
30         EXIT_PROGRAM_OR_SERVICES_STATUS_UNKNOWN   = 4,
31 };
32 
33 int enable_sysv_units(const char *verb, char **args);
34 
35 int action_to_runlevel(void) _pure_;
36