netif: ext_callback: make LWIP_NSC_ defines, not an enum; fix mdns accordingly

Re-applied after reverting d6e58d02a6
This commit is contained in:
goldsimon 2018-02-08 12:36:26 +01:00
parent f201d261b2
commit 010b0210ba
2 changed files with 41 additions and 49 deletions

View File

@ -1849,28 +1849,21 @@ mdns_netif_ext_status_callback(struct netif *netif, netif_nsc_reason_t reason, c
return; return;
} }
switch (reason) { if (reason & LWIP_NSC_STATUS_CHANGED) {
case LWIP_NSC_STATUS_CHANGED: if (args->status_changed.state != 0) {
if (args->status_changed.state != 0) {
mdns_resp_announce(netif);
}
/* TODO: send goodbye message */
break;
case LWIP_NSC_LINK_CHANGED:
if (args->link_changed.state != 0) {
mdns_resp_announce(netif);
}
break;
case LWIP_NSC_IPV4_ADDRESS_CHANGED: /* fall through */
case LWIP_NSC_IPV4_GATEWAY_CHANGED: /* fall through */
case LWIP_NSC_IPV4_NETMASK_CHANGED: /* fall through */
case LWIP_NSC_IPV4_SETTINGS_CHANGED: /* fall through */
case LWIP_NSC_IPV6_SET: /* fall through */
case LWIP_NSC_IPV6_ADDR_STATE_CHANGED:
mdns_resp_announce(netif); mdns_resp_announce(netif);
break; }
default: /* TODO: send goodbye message */
break; }
if (reason & LWIP_NSC_LINK_CHANGED) {
if (args->link_changed.state != 0) {
mdns_resp_announce(netif);
}
}
if (reason & (LWIP_NSC_IPV4_ADDRESS_CHANGED | LWIP_NSC_IPV4_GATEWAY_CHANGED |
LWIP_NSC_IPV4_NETMASK_CHANGED | LWIP_NSC_IPV4_SETTINGS_CHANGED |
LWIP_NSC_IPV6_SET | LWIP_NSC_IPV6_ADDR_STATE_CHANGED)) {
mdns_resp_announce(netif);
} }
} }
#endif #endif

View File

@ -529,36 +529,35 @@ struct netif* netif_get_by_index(u8_t idx);
/** /**
* @ingroup netif * @ingroup netif
* Extended netif status callback (NSC) reasons enumeration. * Extended netif status callback (NSC) reasons flags.
* May be extended in the future! * May be extended in the future!
*/ */
typedef enum typedef u16_t netif_nsc_reason_t;
{
/* used for initialization only */ /* used for initialization only */
LWIP_NSC_NONE = 0, #define LWIP_NSC_NONE 0x0000
/** netif was added. arg: NULL. Called AFTER netif was added. */ /** netif was added. arg: NULL. Called AFTER netif was added. */
LWIP_NSC_NETIF_ADDED = 0x1, #define LWIP_NSC_NETIF_ADDED 0x0001
/** netif was removed. arg: NULL. Called BEFORE netif is removed. */ /** netif was removed. arg: NULL. Called BEFORE netif is removed. */
LWIP_NSC_NETIF_REMOVED = 0x2, #define LWIP_NSC_NETIF_REMOVED 0x0002
/** link changed */ /** link changed */
LWIP_NSC_LINK_CHANGED = 0x4, #define LWIP_NSC_LINK_CHANGED 0x0004
/** netif administrative status changed.\n /** netif administrative status changed.\n
* up is called AFTER netif is set up.\n * up is called AFTER netif is set up.\n
* down is called BEFORE the netif is actually set down. */ * down is called BEFORE the netif is actually set down. */
LWIP_NSC_STATUS_CHANGED = 0x8, #define LWIP_NSC_STATUS_CHANGED 0x0008
/** IPv4 address has changed */ /** IPv4 address has changed */
LWIP_NSC_IPV4_ADDRESS_CHANGED = 0x10, #define LWIP_NSC_IPV4_ADDRESS_CHANGED 0x0010
/** IPv4 gateway has changed */ /** IPv4 gateway has changed */
LWIP_NSC_IPV4_GATEWAY_CHANGED = 0x20, #define LWIP_NSC_IPV4_GATEWAY_CHANGED 0x0020
/** IPv4 netmask has changed */ /** IPv4 netmask has changed */
LWIP_NSC_IPV4_NETMASK_CHANGED = 0x40, #define LWIP_NSC_IPV4_NETMASK_CHANGED 0x0040
/** called AFTER IPv4 address/gateway/netmask changes have been applied */ /** called AFTER IPv4 address/gateway/netmask changes have been applied */
LWIP_NSC_IPV4_SETTINGS_CHANGED = 0x80, #define LWIP_NSC_IPV4_SETTINGS_CHANGED 0x0080
/** IPv6 address was added */ /** IPv6 address was added */
LWIP_NSC_IPV6_SET = 0x100, #define LWIP_NSC_IPV6_SET 0x0100
/** IPv6 address state has changed */ /** IPv6 address state has changed */
LWIP_NSC_IPV6_ADDR_STATE_CHANGED = 0x200 #define LWIP_NSC_IPV6_ADDR_STATE_CHANGED 0x0200
} netif_nsc_reason_t;
/** @ingroup netif /** @ingroup netif
* Argument supplied to netif_ext_callback_fn. * Argument supplied to netif_ext_callback_fn.