%{
#include <stddef.h>
#include "conf-parser.h"
#include "netlog-conf.h"
#include "netlog-manager.h"
%}
struct ConfigPerfItem;
%null_strings
%language=ANSI-C
%define slot-name section_and_lvalue
%define hash-function-name netlog_gperf_hash
%define lookup-function-name netlog_gperf_lookup
%readonly-tables
%omit-struct-type
%struct-type
%includes
%%
Network.Address,                  config_parse_netlog_remote_address,     0, 0
Network.Protocol,                 config_parse_protocol,                  0, offsetof(Manager, protocol)
Network.LogFormat,                config_parse_log_format,                0, offsetof(Manager, log_format)
Network.Directory,                config_parse_string,                    0, offsetof(Manager, dir)
Network.Namespace,                config_parse_namespace,                 0, offsetof(Manager, namespace)
Network.StructuredData,           config_parse_string,                    0, offsetof(Manager, structured_data)
Network.UseSysLogStructuredData,  config_parse_bool,                      0, offsetof(Manager, syslog_structured_data)
Network.UseSysLogMsgId,           config_parse_bool,                      0, offsetof(Manager, syslog_msgid)
Network.ConnectionRetrySec,       config_parse_sec,                       0, offsetof(Manager, connection_retry_usec)
Network.TLSCertificateAuthMode,   config_parse_tls_certificate_auth_mode, 0, offsetof(Manager, auth_mode)
Network.TLSServerCertificate,     config_parse_string,                    0, offsetof(Manager, server_cert)
Network.KeepAlive,                config_parse_bool,                      0, offsetof(Manager, keep_alive)
Network.KeepAliveTimeSec,         config_parse_sec,                       0, offsetof(Manager, keep_alive_time)
Network.KeepAliveIntervalSec,     config_parse_sec,                       0, offsetof(Manager, keep_alive_interval)
Network.KeepAliveProbes,          config_parse_unsigned,                  0, offsetof(Manager, keep_alive_cnt)
Network.NoDelay,                  config_parse_bool,                      0, offsetof(Manager, no_delay)
Network.SendBuffer,               config_parse_iec_size,                  0, offsetof(Manager, send_buffer)
Network.ExcludeSyslogFacility,    config_parse_syslog_facility,           0, offsetof(Manager, excluded_syslog_facilities)
Network.ExcludeSyslogLevel,       config_parse_syslog_level,              0, offsetof(Manager, excluded_syslog_levels)
