mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-03-22 07:21:30 +00:00
added netif remove callback (bug #32397)
This commit is contained in:
parent
7d254a542c
commit
b1359f1c80
@ -6,7 +6,10 @@ HISTORY
|
|||||||
|
|
||||||
++ New features:
|
++ New features:
|
||||||
|
|
||||||
2011-08-26: Simon Goldschmidt
|
2011-08-24: Simon Goldschmidt
|
||||||
|
* opt.h, netif.h/.c: added netif remove callback (bug #32397)
|
||||||
|
|
||||||
|
2011-07-26: Simon Goldschmidt
|
||||||
* etharp.c: ETHARP_SUPPORT_VLAN: add support for an external VLAN filter
|
* etharp.c: ETHARP_SUPPORT_VLAN: add support for an external VLAN filter
|
||||||
function instead of only checking for one VLAN (define ETHARP_VLAN_CHECK_FN)
|
function instead of only checking for one VLAN (define ETHARP_VLAN_CHECK_FN)
|
||||||
|
|
||||||
|
@ -274,6 +274,11 @@ netif_remove(struct netif *netif)
|
|||||||
/* reset default netif */
|
/* reset default netif */
|
||||||
netif_set_default(NULL);
|
netif_set_default(NULL);
|
||||||
}
|
}
|
||||||
|
#if LWIP_NETIF_REMOVE_CALLBACK
|
||||||
|
if (netif->remove_callback) {
|
||||||
|
netif->remove_callback(netif);
|
||||||
|
}
|
||||||
|
#endif /* LWIP_NETIF_REMOVE_CALLBACK */
|
||||||
LWIP_DEBUGF( NETIF_DEBUG, ("netif_remove: removed netif\n") );
|
LWIP_DEBUGF( NETIF_DEBUG, ("netif_remove: removed netif\n") );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -508,6 +513,19 @@ void netif_set_status_callback(struct netif *netif, netif_status_callback_fn sta
|
|||||||
}
|
}
|
||||||
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
||||||
|
|
||||||
|
#if LWIP_NETIF_REMOVE_CALLBACK
|
||||||
|
/**
|
||||||
|
* Set callback to be called when the interface has been removed
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
netif_set_remove_callback(struct netif *netif, netif_status_callback_fn remove_callback)
|
||||||
|
{
|
||||||
|
if (netif) {
|
||||||
|
netif->remove_callback = remove_callback;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* LWIP_NETIF_REMOVE_CALLBACK */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called by a driver when its link goes up
|
* Called by a driver when its link goes up
|
||||||
*/
|
*/
|
||||||
|
@ -163,6 +163,10 @@ struct netif {
|
|||||||
*/
|
*/
|
||||||
netif_status_callback_fn link_callback;
|
netif_status_callback_fn link_callback;
|
||||||
#endif /* LWIP_NETIF_LINK_CALLBACK */
|
#endif /* LWIP_NETIF_LINK_CALLBACK */
|
||||||
|
#if LWIP_NETIF_REMOVE_CALLBACK
|
||||||
|
/** This function is called when the netif has been removed */
|
||||||
|
netif_status_callback_fn remove_callback;
|
||||||
|
#endif /* LWIP_NETIF_REMOVE_CALLBACK */
|
||||||
/** This field can be set by the device driver and could point
|
/** This field can be set by the device driver and could point
|
||||||
* to state information for the device. */
|
* to state information for the device. */
|
||||||
void *state;
|
void *state;
|
||||||
@ -280,6 +284,9 @@ void netif_set_down(struct netif *netif);
|
|||||||
#if LWIP_NETIF_STATUS_CALLBACK
|
#if LWIP_NETIF_STATUS_CALLBACK
|
||||||
void netif_set_status_callback(struct netif *netif, netif_status_callback_fn status_callback);
|
void netif_set_status_callback(struct netif *netif, netif_status_callback_fn status_callback);
|
||||||
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
#endif /* LWIP_NETIF_STATUS_CALLBACK */
|
||||||
|
#if LWIP_NETIF_REMOVE_CALLBACK
|
||||||
|
void netif_set_remove_callback(struct netif *netif, netif_status_callback_fn remove_callback);
|
||||||
|
#endif /* LWIP_NETIF_REMOVE_CALLBACK */
|
||||||
|
|
||||||
void netif_set_link_up(struct netif *netif);
|
void netif_set_link_up(struct netif *netif);
|
||||||
void netif_set_link_down(struct netif *netif);
|
void netif_set_link_down(struct netif *netif);
|
||||||
|
@ -1104,6 +1104,14 @@
|
|||||||
#define LWIP_NETIF_LINK_CALLBACK 0
|
#define LWIP_NETIF_LINK_CALLBACK 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LWIP_NETIF_REMOVE_CALLBACK==1: Support a callback function that is called
|
||||||
|
* when a netif has been removed
|
||||||
|
*/
|
||||||
|
#ifndef LWIP_NETIF_REMOVE_CALLBACK
|
||||||
|
#define LWIP_NETIF_REMOVE_CALLBACK 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table
|
* LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table
|
||||||
* indices) in struct netif. TCP and UDP can make use of this to prevent
|
* indices) in struct netif. TCP and UDP can make use of this to prevent
|
||||||
|
Loading…
x
Reference in New Issue
Block a user