/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include #include #include "sd-device.h" #include "conf-parser.h" #include "ether-addr-util.h" #include "set.h" typedef struct NetMatch { Set *hw_addr; Set *permanent_hw_addr; char **path; char **driver; char **iftype; /* udev's DEVTYPE field or ARPHRD_XXX, e.g. ether, wlan. */ char **kind; /* IFLA_INFO_KIND attribute, e.g. gre, gretap, erspan. */ char **ifname; char **property; char **wlan_iftype; char **ssid; Set *bssid; } NetMatch; void net_match_clear(NetMatch *match); bool net_match_is_empty(const NetMatch *match); int net_match_config( const NetMatch *match, sd_device *device, const struct hw_addr_data *hw_addr, const struct hw_addr_data *permanent_hw_addr, const char *driver, unsigned short iftype, const char *kind, const char *ifname, char * const *alternative_names, enum nl80211_iftype wlan_iftype, const char *ssid, const struct ether_addr *bssid); CONFIG_PARSER_PROTOTYPE(config_parse_net_condition); CONFIG_PARSER_PROTOTYPE(config_parse_match_strv); CONFIG_PARSER_PROTOTYPE(config_parse_match_ifnames); CONFIG_PARSER_PROTOTYPE(config_parse_match_property);