//Should be called at the beginning of the program to set up the network interface. static err_t SMapIFInit(struct netif* pNetIF) { static unsigned char MAC_buffer[64]; pNetIF->name[0]='s'; pNetIF->name[1]='m'; // pNetIF->output=&SMapOutput; // For LWIP versions before v1.3.0. pNetIF->output=ðarp_output; // For LWIP 1.3.0 and later. pNetIF->linkoutput=&SMapLowLevelOutput; pNetIF->hwaddr_len=NETIF_MAX_HWADDR_LEN; // pNetIF->flags|=(NETIF_FLAG_LINK_UP|NETIF_FLAG_BROADCAST); // For LWIP versions before v1.3.0. pNetIF->flags|=(NETIF_FLAG_ETHARP|NETIF_FLAG_BROADCAST); // For LWIP v1.3.0 and later. pNetIF->mtu=1500; //Get MAC address. NetManIoctl(NETMAN_NETIF_IOCTL_ETH_GET_MAC, NULL, 0, MAC_buffer, sizeof(pNetIF->hwaddr)); memcpy(pNetIF->hwaddr, MAC_buffer, sizeof(pNetIF->hwaddr)); // DEBUG_PRINTF("MAC address : %02d:%02d:%02d:%02d:%02d:%02d\n",pNetIF->hwaddr[0],pNetIF->hwaddr[1],pNetIF->hwaddr[2], // pNetIF->hwaddr[3],pNetIF->hwaddr[4],pNetIF->hwaddr[5]); return ERR_OK; }
static int ethGetNetIFLinkStatus(void) { return(NetManIoctl(NETMAN_NETIF_IOCTL_GET_LINK_STATUS, NULL, 0, NULL, 0) == NETMAN_NETIF_ETH_LINK_STATE_UP); }
int NetManNetIFSetLinkMode(int mode){ return NetManIoctl(NETMAN_NETIF_IOCTL_ETH_SET_LINK_MODE, &mode, sizeof(mode), NULL, 0); }