/* This function initializes applications */ static void apps_init() { #if LWIP_DNS_APP && LWIP_DNS /* wait until the netif is up (for dhcp, autoip or ppp) */ sys_timeout(5000, dns_dorequest, NULL); #endif /* LWIP_DNS_APP && LWIP_DNS */ #if LWIP_CHARGEN_APP && LWIP_SOCKET chargen_init(); #endif /* LWIP_CHARGEN_APP && LWIP_SOCKET */ #if LWIP_PING_APP && LWIP_RAW && LWIP_ICMP ping_init(); #endif /* LWIP_PING_APP && LWIP_RAW && LWIP_ICMP */ #if LWIP_NETBIOS_APP && LWIP_UDP netbios_init(); #endif /* LWIP_NETBIOS_APP && LWIP_UDP */ #if LWIP_HTTPD_APP && LWIP_TCP #ifdef LWIP_HTTPD_APP_NETCONN http_server_netconn_init(); #else /* LWIP_HTTPD_APP_NETCONN */ httpd_init(); #endif /* LWIP_HTTPD_APP_NETCONN */ #endif /* LWIP_HTTPD_APP && LWIP_TCP */ #if LWIP_NETIO_APP && LWIP_TCP netio_init(); #endif /* LWIP_NETIO_APP && LWIP_TCP */ #if LWIP_RTP_APP && LWIP_SOCKET && LWIP_IGMP rtp_init(); #endif /* LWIP_RTP_APP && LWIP_SOCKET && LWIP_IGMP */ #if LWIP_SNTP_APP && LWIP_SOCKET sntp_init(); #endif /* LWIP_SNTP_APP && LWIP_SOCKET */ #if LWIP_SHELL_APP && LWIP_NETCONN shell_init(); #endif /* LWIP_SHELL_APP && LWIP_NETCONN */ #if LWIP_TCPECHO_APP #if LWIP_NETCONN && defined(LWIP_TCPECHO_APP_NETCONN) tcpecho_init(); #else /* LWIP_NETCONN && defined(LWIP_TCPECHO_APP_NETCONN) */ echo_init(); #endif #endif /* LWIP_TCPECHO_APP && LWIP_NETCONN */ #if LWIP_UDPECHO_APP && LWIP_NETCONN udpecho_init(); #endif /* LWIP_UDPECHO_APP && LWIP_NETCONN */ #if LWIP_SOCKET_EXAMPLES_APP && LWIP_SOCKET socket_examples_init(); #endif /* LWIP_SOCKET_EXAMPLES_APP && LWIP_SOCKET */ #ifdef LWIP_APP_INIT LWIP_APP_INIT(); #endif }
int main(int argc,char *argv[]) { struct tapif tapif[NETIF_MAX]; struct netif netif[NETIF_MAX]; int ch; int n = 0; memset(tapif,0,sizeof(tapif)); memset(netif,0,sizeof(netif)); tcpip_init(NULL,NULL); #ifdef LWIP_DEBUG while ((ch = getopt(argc,argv,"CEHdhi:")) != -1) { #else while ((ch = getopt(argc,argv,"CEHhi:")) != -1) { #endif switch (ch) { case 'C': chargen_init(); break; case 'E': udpecho_init(); tcpecho_init(); break; case 'H': http_server_netconn_init(); break; #ifdef LWIP_DEBUG case 'd': debug_flags |= (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE| LWIP_DBG_FRESH|LWIP_DBG_HALT); break; #endif case 'i': if (n >= NETIF_MAX) break; if (parse_interface(&tapif[n],optarg) != 0) help(); netif_add(&netif[n], IP4_OR_NULL(tapif[n].ip_addr), IP4_OR_NULL(tapif[n].netmask), IP4_OR_NULL(tapif[n].gw), &tapif[n], tapif_init, tcpip_input); if (n == 0) netif_set_default(&netif[n]); netif_set_up(&netif[n]); if (IP4_OR_NULL(tapif[n].ip_addr) == 0 && IP4_OR_NULL(tapif[n].netmask) == 0 && IP4_OR_NULL(tapif[n].gw) == 0) dhcp_start(&netif[n]); n++; break; case 'h': default: help(); } } argc -= optind; argv += optind; if (n <= 0) help(); pause(); return -1; }
static void init_netifs(void) { #if LWIP_HAVE_SLIPIF #if SLIP_PTY_TEST u8_t siodev_slip = 3; #else u8_t siodev_slip = 0; #endif #if LWIP_IPV4 netif_add(&slipif, ip_2_ip4(&ipaddr_slip), ip_2_ip4(&netmask_slip), ip_2_ip4(&gw_slip), (void*)&siodev_slip, slipif_init, tcpip_input); #else /* LWIP_IPV4 */ netif_add(&slipif, (void*)&siodev_slip, slipif_init, tcpip_input); #endif /* LWIP_IPV4 */ #if LWIP_IPV6 netif_create_ip6_linklocal_address(&slipif, 1); #endif #if LWIP_NETIF_STATUS_CALLBACK netif_set_status_callback(&slipif, netif_status_callback); #endif /* LWIP_NETIF_STATUS_CALLBACK */ netif_set_link_up(&slipif); netif_set_up(&slipif); #endif /* LWIP_HAVE_SLIPIF */ #if PPP_SUPPORT #if PPP_PTY_TEST ppp_sio = sio_open(2); #else ppp_sio = sio_open(0); #endif if(!ppp_sio) { perror("Error opening device: "); exit(1); } ppp = pppos_create(&pppos_netif, ppp_output_cb, ppp_link_status_cb, NULL); if (!ppp) { printf("Could not create PPP control interface"); exit(1); } #ifdef LWIP_PPP_CHAP_TEST ppp_set_auth(ppp, PPPAUTHTYPE_CHAP, "lwip", "mysecret"); #endif ppp_connect(ppp, 0); #if LWIP_NETIF_STATUS_CALLBACK netif_set_status_callback(&pppos_netif, netif_status_callback); #endif /* LWIP_NETIF_STATUS_CALLBACK */ #endif /* PPP_SUPPORT */ #if LWIP_IPV4 #if LWIP_DHCP IP_ADDR4(&gw, 0,0,0,0); IP_ADDR4(&ipaddr, 0,0,0,0); IP_ADDR4(&netmask, 0,0,0,0); #endif /* LWIP_DHCP */ netif_add(&netif, ip_2_ip4(&ipaddr), ip_2_ip4(&netmask), ip_2_ip4(&gw), NULL, tapif_init, tcpip_input); #else /* LWIP_IPV4 */ netif_add(&netif, NULL, tapif_init, tcpip_input); #endif /* LWIP_IPV4 */ #if LWIP_IPV6 netif_create_ip6_linklocal_address(&netif, 1); #endif #if LWIP_NETIF_STATUS_CALLBACK netif_set_status_callback(&netif, netif_status_callback); #endif /* LWIP_NETIF_STATUS_CALLBACK */ netif_set_default(&netif); netif_set_up(&netif); #if LWIP_DHCP dhcp_start(&netif); #endif /* LWIP_DHCP */ #if 0 /* Only used for testing purposes: */ netif_add(&ipaddr, &netmask, &gw, NULL, pcapif_init, tcpip_input); #endif #if LWIP_TCP netio_init(); #endif #if LWIP_TCP && LWIP_NETCONN tcpecho_init(); shell_init(); httpd_init(); #endif #if LWIP_UDP && LWIP_NETCONN udpecho_init(); #endif #if LWIP_SOCKET chargen_init(); #endif /* sys_timeout(5000, tcp_debug_timeout, NULL);*/ }
void chargen() { chargen_init(); }
/* This function initializes applications */ static void apps_init(void) { #if LWIP_DNS_APP && LWIP_DNS /* wait until the netif is up (for dhcp, autoip or ppp) */ sys_timeout(5000, dns_dorequest, NULL); #endif /* LWIP_DNS_APP && LWIP_DNS */ #if LWIP_CHARGEN_APP && LWIP_SOCKET chargen_init(); #endif /* LWIP_CHARGEN_APP && LWIP_SOCKET */ #if LWIP_PING_APP && LWIP_RAW && LWIP_ICMP ping_init(); #endif /* LWIP_PING_APP && LWIP_RAW && LWIP_ICMP */ #if LWIP_NETBIOS_APP && LWIP_UDP netbiosns_init(); #ifndef NETBIOS_LWIP_NAME #if LWIP_NETIF_HOSTNAME netbiosns_set_name(netif_default->hostname); #else netbiosns_set_name("NETBIOSLWIPDEV"); #endif #endif #endif /* LWIP_NETBIOS_APP && LWIP_UDP */ #if LWIP_HTTPD_APP && LWIP_TCP #ifdef LWIP_HTTPD_APP_NETCONN http_server_netconn_init(); #else /* LWIP_HTTPD_APP_NETCONN */ httpd_init(); #endif /* LWIP_HTTPD_APP_NETCONN */ #endif /* LWIP_HTTPD_APP && LWIP_TCP */ #if LWIP_MDNS_RESPONDER mdns_resp_init(); #if LWIP_NETIF_HOSTNAME mdns_resp_add_netif(netif_default, netif_default->hostname, 3600); #else mdns_resp_add_netif(netif_default, "lwip", 3600); #endif mdns_resp_add_service(netif_default, "lwipweb", "_http", DNSSD_PROTO_TCP, HTTPD_SERVER_PORT, 3600, srv_txt, NULL); #endif #if LWIP_NETIO_APP && LWIP_TCP netio_init(); #endif /* LWIP_NETIO_APP && LWIP_TCP */ #if LWIP_RTP_APP && LWIP_SOCKET && LWIP_IGMP rtp_init(); #endif /* LWIP_RTP_APP && LWIP_SOCKET && LWIP_IGMP */ #if LWIP_SNTP_APP && LWIP_SOCKET sntp_init(); #endif /* LWIP_SNTP_APP && LWIP_SOCKET */ #if LWIP_SHELL_APP && LWIP_NETCONN shell_init(); #endif /* LWIP_SHELL_APP && LWIP_NETCONN */ #if LWIP_TCPECHO_APP #if LWIP_NETCONN && defined(LWIP_TCPECHO_APP_NETCONN) tcpecho_init(); #else /* LWIP_NETCONN && defined(LWIP_TCPECHO_APP_NETCONN) */ tcpecho_raw_init(); #endif #endif /* LWIP_TCPECHO_APP && LWIP_NETCONN */ #if LWIP_UDPECHO_APP && LWIP_NETCONN udpecho_init(); #endif /* LWIP_UDPECHO_APP && LWIP_NETCONN */ #if LWIP_LWIPERF_APP lwiperf_start_tcp_server_default(lwiperf_report, NULL); #endif #if LWIP_SOCKET_EXAMPLES_APP && LWIP_SOCKET socket_examples_init(); #endif /* LWIP_SOCKET_EXAMPLES_APP && LWIP_SOCKET */ #ifdef LWIP_APP_INIT LWIP_APP_INIT(); #endif }