%{
#include <stddef.h>
#include "conf-parser.h"
#include "networkd.h"
#include "net-util.h"
%}
struct ConfigPerfItem;
%null_strings
%language=ANSI-C
%define slot-name section_and_lvalue
%define hash-function-name network_gperf_hash
%define lookup-function-name network_gperf_lookup
%readonly-tables
%omit-struct-type
%struct-type
%includes
%%
Match.MACAddress,        config_parse_hwaddr,           0,       offsetof(Network, match_mac)
Match.Path,              config_parse_string,           0,       offsetof(Network, match_path)
Match.Driver,            config_parse_string,           0,       offsetof(Network, match_driver)
Match.Type,              config_parse_string,           0,       offsetof(Network, match_type)
Match.Name,              config_parse_ifname,           0,       offsetof(Network, match_name)
Network.Description,     config_parse_string,           0,       offsetof(Network, description)
Network.Bridge,          config_parse_bridge,           0,       offsetof(Network, bridge)
Network.Address,         config_parse_address,          0,       0
Network.Gateway,         config_parse_gateway,          0,       0
Address.Address,         config_parse_address,          0,       0
Address.Label,           config_parse_label,            0,       0
Route.Gateway,           config_parse_gateway,          0,       0
Route.Destination,       config_parse_destination,      0,       0
Bridge.Description,      config_parse_string,           0,       offsetof(Bridge, description)
Bridge.Name,             config_parse_ifname,           0,       offsetof(Bridge, name)