%{
#if __GNUC__ >= 7
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
#endif
#include <stddef.h>
#include "conf-parser.h"
#include "logind.h"
%}
struct ConfigPerfItem;
%null_strings
%language=ANSI-C
%define slot-name section_and_lvalue
%define hash-function-name logind_gperf_hash
%define lookup-function-name logind_gperf_lookup
%readonly-tables
%omit-struct-type
%struct-type
%includes
%%
Login.NAutoVTs,                    config_parse_n_autovts,     0, offsetof(Manager, n_autovts)
Login.ReserveVT,                   config_parse_unsigned,      0, offsetof(Manager, reserve_vt)
Login.KillUserProcesses,           config_parse_bool,          0, offsetof(Manager, kill_user_processes)
Login.KillOnlyUsers,               config_parse_strv,          0, offsetof(Manager, kill_only_users)
Login.KillExcludeUsers,            config_parse_strv,          0, offsetof(Manager, kill_exclude_users)
Login.InhibitDelayMaxSec,          config_parse_sec,           0, offsetof(Manager, inhibit_delay_max)
Login.HandlePowerKey,              config_parse_handle_action, 0, offsetof(Manager, handle_power_key)
Login.HandleSuspendKey,            config_parse_handle_action, 0, offsetof(Manager, handle_suspend_key)
Login.HandleHibernateKey,          config_parse_handle_action, 0, offsetof(Manager, handle_hibernate_key)
Login.HandleLidSwitch,             config_parse_handle_action, 0, offsetof(Manager, handle_lid_switch)
Login.HandleLidSwitchDocked,       config_parse_handle_action, 0, offsetof(Manager, handle_lid_switch_docked)
Login.PowerKeyIgnoreInhibited,     config_parse_bool,          0, offsetof(Manager, power_key_ignore_inhibited)
Login.SuspendKeyIgnoreInhibited,   config_parse_bool,          0, offsetof(Manager, suspend_key_ignore_inhibited)
Login.HibernateKeyIgnoreInhibited, config_parse_bool,          0, offsetof(Manager, hibernate_key_ignore_inhibited)
Login.LidSwitchIgnoreInhibited,    config_parse_bool,          0, offsetof(Manager, lid_switch_ignore_inhibited)
Login.HoldoffTimeoutSec,           config_parse_sec,           0, offsetof(Manager, holdoff_timeout_usec)
Login.IdleAction,                  config_parse_handle_action, 0, offsetof(Manager, idle_action)
Login.IdleActionSec,               config_parse_sec,           0, offsetof(Manager, idle_action_usec)
Login.RuntimeDirectorySize,        config_parse_tmpfs_size,    0, offsetof(Manager, runtime_dir_size)
Login.RemoveIPC,                   config_parse_bool,          0, offsetof(Manager, remove_ipc)
Login.InhibitorsMax,               config_parse_uint64,        0, offsetof(Manager, inhibitors_max)
Login.SessionsMax,                 config_parse_uint64,        0, offsetof(Manager, sessions_max)
Login.UserTasksMax,                config_parse_user_tasks_max,0, offsetof(Manager, user_tasks_max)
