]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
9bdbc2e2 LN |
2 | #pragma once |
3 | ||
9e964bb8 | 4 | #include "json.h" |
766cd081 LP |
5 | #include "macro.h" |
6 | ||
9bdbc2e2 LN |
7 | typedef enum OutputMode { |
8 | OUTPUT_SHORT, | |
29a753df | 9 | OUTPUT_SHORT_FULL, |
44bc6e1f | 10 | OUTPUT_SHORT_ISO, |
7e563bfc | 11 | OUTPUT_SHORT_ISO_PRECISE, |
f02d8367 ZJS |
12 | OUTPUT_SHORT_PRECISE, |
13 | OUTPUT_SHORT_MONOTONIC, | |
bb321ed9 | 14 | OUTPUT_SHORT_UNIX, |
9bdbc2e2 LN |
15 | OUTPUT_VERBOSE, |
16 | OUTPUT_EXPORT, | |
17 | OUTPUT_JSON, | |
18 | OUTPUT_JSON_PRETTY, | |
19 | OUTPUT_JSON_SSE, | |
8e044443 | 20 | OUTPUT_JSON_SEQ, |
9bdbc2e2 | 21 | OUTPUT_CAT, |
49805b3d | 22 | OUTPUT_WITH_UNIT, |
9bdbc2e2 LN |
23 | _OUTPUT_MODE_MAX, |
24 | _OUTPUT_MODE_INVALID = -1 | |
25 | } OutputMode; | |
26 | ||
e4cbdffe LP |
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 | ||
0ff308c8 LP |
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 | ||
9bdbc2e2 LN |
34 | typedef enum OutputFlags { |
35 | OUTPUT_SHOW_ALL = 1 << 0, | |
27f31daf HD |
36 | OUTPUT_WARN_CUTOFF = 1 << 1, |
37 | OUTPUT_FULL_WIDTH = 1 << 2, | |
38 | OUTPUT_COLOR = 1 << 3, | |
39 | OUTPUT_CATALOG = 1 << 4, | |
40 | OUTPUT_BEGIN_NEWLINE = 1 << 5, | |
41 | OUTPUT_UTC = 1 << 6, | |
42 | OUTPUT_KERNEL_THREADS = 1 << 7, | |
43 | OUTPUT_NO_HOSTNAME = 1 << 8, | |
9bdbc2e2 | 44 | } OutputFlags; |
766cd081 | 45 | |
9e964bb8 LP |
46 | JsonFormatFlags output_mode_to_json_format_flags(OutputMode m); |
47 | ||
766cd081 LP |
48 | const char* output_mode_to_string(OutputMode m) _const_; |
49 | OutputMode output_mode_from_string(const char *s) _pure_; |