+typedef struct AddressPool AddressPool;
+typedef struct FdbEntry FdbEntry;
+
+typedef enum AddressFamilyBoolean {
+ /* This is a bitmask, though it usually doesn't feel that way! */
+ ADDRESS_FAMILY_NO = 0,
+ ADDRESS_FAMILY_IPV4 = 1,
+ ADDRESS_FAMILY_IPV6 = 2,
+ ADDRESS_FAMILY_YES = 3,
+ _ADDRESS_FAMILY_BOOLEAN_MAX,
+ _ADDRESS_FAMILY_BOOLEAN_INVALID = -1,
+} AddressFamilyBoolean;
+
+typedef enum LLMNRSupport {
+ LLMNR_SUPPORT_NO,
+ LLMNR_SUPPORT_YES,
+ LLMNR_SUPPORT_RESOLVE,
+ _LLMNR_SUPPORT_MAX,
+ _LLMNR_SUPPORT_INVALID = -1,
+} LLMNRSupport;
+
+typedef enum LinkOperationalState {
+ LINK_OPERSTATE_OFF,
+ LINK_OPERSTATE_NO_CARRIER,
+ LINK_OPERSTATE_DORMANT,
+ LINK_OPERSTATE_CARRIER,
+ LINK_OPERSTATE_DEGRADED,
+ LINK_OPERSTATE_ROUTABLE,
+ _LINK_OPERSTATE_MAX,
+ _LINK_OPERSTATE_INVALID = -1
+} LinkOperationalState;
+
+struct FdbEntry {
+ Network *network;
+ unsigned section;