54 lines
1.6 KiB
C
54 lines
1.6 KiB
C
|
#include "rtdef.h"
|
||
|
#include "uip-conf.h"
|
||
|
#include "uip.h"
|
||
|
#include "uip_netif.h"
|
||
|
#include "uip_arp.h"
|
||
|
#include "rtconfig.h"
|
||
|
#include "uip_pbuf.h"
|
||
|
|
||
|
void netif_set_default(struct netif *netif)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
void netif_set_addr(struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask,
|
||
|
struct ip_addr *gw)
|
||
|
{
|
||
|
uip_ipaddr_t hipaddr;
|
||
|
uip_ipaddr(hipaddr, RT_LWIP_IPADDR0,RT_LWIP_IPADDR1,RT_LWIP_IPADDR2,RT_LWIP_IPADDR3);
|
||
|
uip_sethostaddr(hipaddr);
|
||
|
uip_ipaddr(hipaddr, RT_LWIP_GWADDR0,RT_LWIP_GWADDR1,RT_LWIP_GWADDR2,RT_LWIP_GWADDR3);
|
||
|
uip_setdraddr(hipaddr);
|
||
|
uip_ipaddr(hipaddr, RT_LWIP_MSKADDR0,RT_LWIP_MSKADDR1,RT_LWIP_MSKADDR2,RT_LWIP_MSKADDR3);
|
||
|
uip_setnetmask(hipaddr);
|
||
|
return ;
|
||
|
}
|
||
|
|
||
|
struct netif *
|
||
|
netif_add(struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask,
|
||
|
struct ip_addr *gw,
|
||
|
void *state,
|
||
|
err_t (* init)(struct netif *netif),
|
||
|
err_t (* input)(struct pbuf *p, struct netif *netif))
|
||
|
{
|
||
|
//if (netif_add(netif, IP_ADDR_ANY, IP_ADDR_BROADCAST, IP_ADDR_ANY, dev,
|
||
|
//eth_init, eth_input) == RT_NULL)
|
||
|
// netif->uip_hostaddr = ipaddr;
|
||
|
//netif->uip_draddr = netmask;
|
||
|
// netif->uip_netmask = gw;
|
||
|
// netif_set_addr(netif,ipaddr,netmask,gw);
|
||
|
|
||
|
// call user specified initialization function for netif
|
||
|
if (init(netif) != 0) {
|
||
|
return RT_NULL;
|
||
|
}
|
||
|
netif->input = input;
|
||
|
netif->state = state;
|
||
|
netif_set_addr(netif,ipaddr,netmask,gw);
|
||
|
return netif;
|
||
|
|
||
|
}
|
||
|
err_t etharp_output(struct netif *netif, struct pbuf *q, struct ip_addr *ipaddr)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|