Coverage Report

Created: 2026-08-08 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/systemd/src/systemctl/systemctl-util.h
Line
Count
Source
1
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2
#pragma once
3
4
#include "systemctl.h"
5
6
/* The init script exit codes for the LSB 'status' verb. (This is different from the 'start' verb, whose exit
7
   codes are defined in exit-status.h.)
8
9
   0       program is running or service is OK
10
   1       program is dead and /var/run pid file exists
11
   2       program is dead and /var/lock lock file exists
12
   3       program is not running
13
   4       program or service status is unknown
14
   5-99    reserved for future LSB use
15
   100-149 reserved for distribution use
16
   150-199 reserved for application use
17
   200-254 reserved
18
19
   https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
20
*/
21
enum {
22
        EXIT_PROGRAM_RUNNING_OR_SERVICE_OK        = 0,
23
        EXIT_PROGRAM_DEAD_AND_PID_EXISTS          = 1,
24
        EXIT_PROGRAM_DEAD_AND_LOCK_FILE_EXISTS    = 2,
25
        EXIT_PROGRAM_NOT_RUNNING                  = 3,
26
        EXIT_PROGRAM_OR_SERVICES_STATUS_UNKNOWN   = 4,
27
};
28
29
typedef enum BusFocus {
30
        BUS_FULL,      /* The full bus indicated via --system or --user */
31
        BUS_MANAGER,   /* The manager itself, possibly directly, possibly via the bus */
32
        _BUS_FOCUS_MAX
33
} BusFocus;
34
35
int acquire_bus_full(BusFocus focus, bool graceful, sd_bus **ret);
36
402
static inline int acquire_bus(BusFocus focus, sd_bus **ret) {
37
        return acquire_bus_full(focus, false, ret);
38
402
}
Unexecuted instantiation: systemctl-compat-halt.c:acquire_bus
Unexecuted instantiation: systemctl-daemon-reload.c:acquire_bus
systemctl-logind.c:acquire_bus
Line
Count
Source
36
402
static inline int acquire_bus(BusFocus focus, sd_bus **ret) {
37
        return acquire_bus_full(focus, false, ret);
38
402
}
Unexecuted instantiation: systemctl-start-unit.c:acquire_bus
Unexecuted instantiation: systemctl-util.c:acquire_bus
Unexecuted instantiation: fuzz-systemctl-parse-argv.c:acquire_bus
39
void release_busses(void);
40
41
void ask_password_agent_open_maybe(void);
42
void polkit_agent_open_maybe(void);
43
44
int translate_bus_error_to_exit_status(int r, const sd_bus_error *error);
45
46
int get_state_one_unit(sd_bus *bus, const char *unit, UnitActiveState *ret_active_state);
47
int get_sub_state_one_unit(sd_bus *bus, const char *unit, char **ret_sub_state);
48
int get_unit_list(sd_bus *bus, const char *machine, char **patterns, UnitInfo **unit_infos, int c, sd_bus_message **ret_reply);
49
int expand_unit_names(sd_bus *bus, char * const *names, const char* suffix, char ***ret, bool *ret_expanded);
50
51
int get_active_triggering_units(sd_bus *bus, const char *unit, bool ignore_masked, char ***ret);
52
void warn_triggering_units(sd_bus *bus, const char *unit, const char *operation, bool ignore_masked);
53
54
int need_daemon_reload(sd_bus *bus, const char *unit);
55
56
void warn_unit_file_changed(const char *unit);
57
58
int append_unit_dependencies(sd_bus *bus, char **names, char ***ret);
59
int maybe_extend_with_unit_dependencies(sd_bus *bus, char ***list);
60
61
int unit_file_find_path(LookupPaths *lp, const char *unit_name, char **ret_unit_path);
62
int unit_find_paths(sd_bus *bus, const char *unit_name, LookupPaths *lp, bool force_client_side, Hashmap **cached_id_map, Hashmap **cached_name_map, char **ret_fragment_path, char ***ret_dropin_paths);
63
64
int unit_is_masked(sd_bus *bus, const char *unit);
65
int unit_exists(LookupPaths *lp, const char *unit);
66
67
int unit_get_dependencies(sd_bus *bus, const char *name, char ***ret);
68
69
const char* unit_type_suffix(const char *unit);
70
bool output_show_unit(const UnitInfo *u, char **patterns);
71
72
typedef enum InstallClientSide {
73
        INSTALL_CLIENT_SIDE_NO = 0,
74
        INSTALL_CLIENT_SIDE_OVERRIDE,
75
        INSTALL_CLIENT_SIDE_ARG_ROOT,
76
        INSTALL_CLIENT_SIDE_OFFLINE,
77
        INSTALL_CLIENT_SIDE_NOT_BOOTED,
78
        INSTALL_CLIENT_SIDE_GLOBAL_SCOPE,
79
} InstallClientSide;
80
81
InstallClientSide install_client_side(void);
82
83
int output_table(Table *table);
84
85
bool show_preset_for_state(UnitFileState state);
86
87
int mangle_names(const char *operation, char * const *original_names, char ***ret);
88
89
UnitFileFlags unit_file_flags_from_args(void);
90
91
int halt_now(enum action a);
92
93
int get_unit_by_pid(sd_bus *bus, pid_t pid, char **ret_unit, char **ret_path);
94
int lookup_unit_by_pidref(sd_bus *bus, pid_t pid, char **ret_unit, char **ret_path);