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

This commit is contained in:
goldsimon 2018-02-07 20:35:49 +01:00
parent 030ffdee82
commit 6934bb4428
2 changed files with 42 additions and 50 deletions

View File

@ -1905,28 +1905,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_restart(netif);
mdns_resp_restart(netif); }
} /* TODO: send goodbye message */
/* TODO: send goodbye message */ }
break; if (reason & LWIP_NSC_LINK_CHANGED) {
case LWIP_NSC_LINK_CHANGED: if (args->link_changed.state != 0) {
if (args->link_changed.state != 0) { mdns_resp_restart(netif);
mdns_resp_restart(netif); }
} }
break; if (reason & (LWIP_NSC_IPV4_ADDRESS_CHANGED | LWIP_NSC_IPV4_GATEWAY_CHANGED |
case LWIP_NSC_IPV4_ADDRESS_CHANGED: /* fall through */ LWIP_NSC_IPV4_NETMASK_CHANGED | LWIP_NSC_IPV4_SETTINGS_CHANGED |
case LWIP_NSC_IPV4_GATEWAY_CHANGED: /* fall through */ LWIP_NSC_IPV6_SET | LWIP_NSC_IPV6_ADDR_STATE_CHANGED)) {
case LWIP_NSC_IPV4_NETMASK_CHANGED: /* fall through */ mdns_resp_announce(netif);
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);
break;
default:
break;
} }
} }
#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.