]>
Commit | Line | Data |
---|---|---|
1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | |
2 | #pragma once | |
3 | ||
4 | #include "forward.h" | |
5 | ||
6 | typedef enum OutputMode { | |
7 | OUTPUT_SHORT, | |
8 | OUTPUT_SHORT_FULL, | |
9 | OUTPUT_SHORT_ISO, | |
10 | OUTPUT_SHORT_ISO_PRECISE, | |
11 | OUTPUT_SHORT_PRECISE, | |
12 | OUTPUT_SHORT_MONOTONIC, | |
13 | OUTPUT_SHORT_DELTA, | |
14 | OUTPUT_SHORT_UNIX, | |
15 | OUTPUT_VERBOSE, | |
16 | OUTPUT_EXPORT, | |
17 | OUTPUT_JSON, | |
18 | OUTPUT_JSON_PRETTY, | |
19 | OUTPUT_JSON_SSE, | |
20 | OUTPUT_JSON_SEQ, | |
21 | OUTPUT_CAT, | |
22 | OUTPUT_WITH_UNIT, | |
23 | _OUTPUT_MODE_MAX, | |
24 | _OUTPUT_MODE_INVALID = -EINVAL, | |
25 | } OutputMode; | |
26 | ||
27 | static inline bool OUTPUT_MODE_IS_JSON(OutputMode m) { | |
28 | return IN_SET(m, OUTPUT_JSON, OUTPUT_JSON_PRETTY, OUTPUT_JSON_SSE, OUTPUT_JSON_SEQ); | |
29 | } | |
30 | ||
31 | /* The output flags definitions are shared by the logs and process tree output. Some apply to both, some only to the | |
32 | * logs output, others only to the process tree output. */ | |
33 | ||
34 | typedef enum OutputFlags { | |
35 | OUTPUT_SHOW_ALL = 1 << 0, | |
36 | OUTPUT_FULL_WIDTH = 1 << 1, | |
37 | OUTPUT_COLOR = 1 << 2, | |
38 | ||
39 | /* Specific to log output */ | |
40 | OUTPUT_WARN_CUTOFF = 1 << 3, | |
41 | OUTPUT_CATALOG = 1 << 4, | |
42 | OUTPUT_BEGIN_NEWLINE = 1 << 5, | |
43 | OUTPUT_UTC = 1 << 6, | |
44 | OUTPUT_NO_HOSTNAME = 1 << 7, | |
45 | OUTPUT_TRUNCATE_NEWLINE = 1 << 8, | |
46 | ||
47 | /* Specific to process tree output */ | |
48 | OUTPUT_KERNEL_THREADS = 1 << 9, | |
49 | OUTPUT_CGROUP_XATTRS = 1 << 10, | |
50 | OUTPUT_CGROUP_ID = 1 << 11, | |
51 | } OutputFlags; | |
52 | ||
53 | sd_json_format_flags_t output_mode_to_json_format_flags(OutputMode m); | |
54 | ||
55 | const char* output_mode_to_string(OutputMode m) _const_; | |
56 | OutputMode output_mode_from_string(const char *s) _pure_; |