1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2%{
3#if __GNUC__ >= 7
4_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
5#endif
6#include <stddef.h>
7#include <sys/socket.h>
8#include "conf-parser.h"
9#include "journald-server.h"
10%}
11struct ConfigPerfItem;
12%null_strings
13%language=ANSI-C
14%define slot-name section_and_lvalue
15%define hash-function-name journald_gperf_hash
16%define lookup-function-name journald_gperf_lookup
17%readonly-tables
18%omit-struct-type
19%struct-type
20%includes
21%%
22Journal.Storage,            config_parse_storage,    0, offsetof(Server, storage)
23Journal.Compress,           config_parse_compress,   0, offsetof(Server, compress)
24Journal.Seal,               config_parse_bool,       0, offsetof(Server, seal)
25Journal.ReadKMsg,           config_parse_bool,       0, offsetof(Server, read_kmsg)
26Journal.Audit,              config_parse_tristate,   0, offsetof(Server, set_audit)
27Journal.SyncIntervalSec,    config_parse_sec,        0, offsetof(Server, sync_interval_usec)
28# The following is a legacy name for compatibility
29Journal.RateLimitInterval,  config_parse_sec,        0, offsetof(Server, ratelimit_interval)
30Journal.RateLimitIntervalSec,config_parse_sec,       0, offsetof(Server, ratelimit_interval)
31Journal.RateLimitBurst,     config_parse_unsigned,   0, offsetof(Server, ratelimit_burst)
32Journal.SystemMaxUse,       config_parse_iec_uint64, 0, offsetof(Server, system_storage.metrics.max_use)
33Journal.SystemMaxFileSize,  config_parse_iec_uint64, 0, offsetof(Server, system_storage.metrics.max_size)
34Journal.SystemKeepFree,     config_parse_iec_uint64, 0, offsetof(Server, system_storage.metrics.keep_free)
35Journal.SystemMaxFiles,     config_parse_uint64,     0, offsetof(Server, system_storage.metrics.n_max_files)
36Journal.RuntimeMaxUse,      config_parse_iec_uint64, 0, offsetof(Server, runtime_storage.metrics.max_use)
37Journal.RuntimeMaxFileSize, config_parse_iec_uint64, 0, offsetof(Server, runtime_storage.metrics.max_size)
38Journal.RuntimeKeepFree,    config_parse_iec_uint64, 0, offsetof(Server, runtime_storage.metrics.keep_free)
39Journal.RuntimeMaxFiles,    config_parse_uint64,     0, offsetof(Server, runtime_storage.metrics.n_max_files)
40Journal.MaxRetentionSec,    config_parse_sec,        0, offsetof(Server, max_retention_usec)
41Journal.MaxFileSec,         config_parse_sec,        0, offsetof(Server, max_file_usec)
42Journal.ForwardToSyslog,    config_parse_bool,       0, offsetof(Server, forward_to_syslog)
43Journal.ForwardToKMsg,      config_parse_bool,       0, offsetof(Server, forward_to_kmsg)
44Journal.ForwardToConsole,   config_parse_bool,       0, offsetof(Server, forward_to_console)
45Journal.ForwardToWall,      config_parse_bool,       0, offsetof(Server, forward_to_wall)
46Journal.TTYPath,            config_parse_path,       0, offsetof(Server, tty_path)
47Journal.MaxLevelStore,      config_parse_log_level,  0, offsetof(Server, max_level_store)
48Journal.MaxLevelSyslog,     config_parse_log_level,  0, offsetof(Server, max_level_syslog)
49Journal.MaxLevelKMsg,       config_parse_log_level,  0, offsetof(Server, max_level_kmsg)
50Journal.MaxLevelConsole,    config_parse_log_level,  0, offsetof(Server, max_level_console)
51Journal.MaxLevelWall,       config_parse_log_level,  0, offsetof(Server, max_level_wall)
52Journal.SplitMode,          config_parse_split_mode, 0, offsetof(Server, split_mode)
53Journal.LineMax,            config_parse_line_max,   0, offsetof(Server, line_max)
54