make netif->init return err_t instead of void.Patch from David Le Corfec

This commit is contained in:
jani 2003-02-20 11:51:53 +00:00
parent 35ef1e1b86
commit cc31bb9358
7 changed files with 16 additions and 8 deletions

View File

@ -55,7 +55,7 @@ struct netif *
netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask, netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask,
struct ip_addr *gw, struct ip_addr *gw,
void *state, void *state,
void (* init)(struct netif *netif), err_t (* init)(struct netif *netif),
err_t (* input)(struct pbuf *p, struct netif *netif)) err_t (* input)(struct pbuf *p, struct netif *netif))
{ {
struct netif *netif; struct netif *netif;
@ -74,7 +74,10 @@ netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask,
ip_addr_set(&(netif->netmask), netmask); ip_addr_set(&(netif->netmask), netmask);
ip_addr_set(&(netif->gw), gw); ip_addr_set(&(netif->gw), gw);
init(netif); if (init(netif) != ERR_OK) {
mem_free(netif);
return NULL;
}
netif->next = netif_list; netif->next = netif_list;
netif_list = netif; netif_list = netif;

View File

@ -58,6 +58,7 @@ typedef s8_t err_t;
#define ERR_USE -10 /* Address in use. */ #define ERR_USE -10 /* Address in use. */
#define ERR_IF -11 /* Low-level netif error */
#ifdef LWIP_DEBUG #ifdef LWIP_DEBUG

View File

@ -114,7 +114,7 @@ void netif_init(void);
struct netif *netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask, struct netif *netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask,
struct ip_addr *gw, struct ip_addr *gw,
void *state, void *state,
void (* init)(struct netif *netif), err_t (* init)(struct netif *netif),
err_t (* input)(struct pbuf *p, struct netif *netif)); err_t (* input)(struct pbuf *p, struct netif *netif));
void netif_remove(struct netif * netif); void netif_remove(struct netif * netif);

View File

@ -34,6 +34,6 @@
#include "lwip/netif.h" #include "lwip/netif.h"
void loopif_init(struct netif *netif); err_t loopif_init(struct netif *netif);
#endif /* __NETIF_LOOPIF_H__ */ #endif /* __NETIF_LOOPIF_H__ */

View File

@ -36,7 +36,7 @@
#include "lwip/netif.h" #include "lwip/netif.h"
void slipif_init(struct netif * netif); err_t slipif_init(struct netif * netif);
#endif #endif

View File

@ -67,12 +67,13 @@ loopif_output(struct netif *netif, struct pbuf *p,
return ERR_MEM; return ERR_MEM;
} }
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
void err_t
loopif_init(struct netif *netif) loopif_init(struct netif *netif)
{ {
netif->name[0] = 'l'; netif->name[0] = 'l';
netif->name[1] = 'o'; netif->name[1] = 'o';
netif->output = loopif_output; netif->output = loopif_output;
return ERR_OK;
} }
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/

View File

@ -197,7 +197,7 @@ slipif_loop(void *nf)
* Call the arch specific sio_open and remember * Call the arch specific sio_open and remember
* the opened device in the state field of the netif. * the opened device in the state field of the netif.
*/ */
void err_t
slipif_init(struct netif *netif) slipif_init(struct netif *netif)
{ {
@ -209,6 +209,9 @@ slipif_init(struct netif *netif)
netif->mtu = 1500; netif->mtu = 1500;
netif->state = sio_open(netif->num); netif->state = sio_open(netif->num);
if (!netif->state)
return ERR_IF;
sys_thread_new(slipif_loop, netif); sys_thread_new(slipif_loop, netif);
return ERR_OK;
} }