/************************************************************************ * NAME: fapp_init * * DESCRIPTION: FNET Application initialization. ************************************************************************/ void fapp_init(void) { static fnet_uint8_t stack_heap[FNET_CFG_HEAP_SIZE]; struct fnet_init_params init_params; struct fnet_shell_params shell_params; /* Input parameters for FNET stack initialization */ init_params.netheap_ptr = stack_heap; init_params.netheap_size = FNET_CFG_HEAP_SIZE; /* Add event handler on duplicated IP address */ #if FNET_CFG_IP4 fnet_netif_dupip_handler_init (fapp_dup_ip_handler); #endif /* Init FNET stack */ if(fnet_init(&init_params) != FNET_ERR) { #if FAPP_CFG_PARAMS_READ_FLASH /* During bootup, the most recently stored customer configuration data will be read and used to configure the interfaces.*/ if(fapp_params_from_flash() == FNET_OK) { fnet_printf(FAPP_PARAMS_LOAD_STR); } #endif if(fnet_netif_get_default() == FNET_NULL) { fnet_printf(FAPP_NET_ERR); } #if (FAPP_CFG_EXP_CMD && FNET_CFG_FS) || (FAPP_CFG_HTTP_CMD && FNET_CFG_HTTP) fapp_fs_mount(); /* Init FS and mount FS Image. */ #endif /* Init main shell. */ shell_params.shell = &fapp_shell; shell_params.cmd_line_buffer = fapp_cmd_line_buffer; shell_params.cmd_line_buffer_size = sizeof(fapp_cmd_line_buffer); shell_params.stream = FNET_SERIAL_STREAM_DEFAULT; shell_params.echo = FNET_TRUE; if((fapp_shell_desc = fnet_shell_init(&shell_params)) != FNET_ERR) { fapp_boot(fapp_shell_desc); } else { fnet_printf(FAPP_INIT_ERR, "Shell"); } } else { fnet_printf(FAPP_INIT_ERR, "FNET"); } }
/************************************************************************ * NAME: fnet_netif_release_all * * DESCRIPTION: Releases all installed interfaces. *************************************************************************/ void fnet_netif_release_all( void ) { fnet_netif_t *net_if_ptr; fnet_netif_dupip_handler_init(0); /* Reset dupip handler.*/ for (net_if_ptr = fnet_netif_list; net_if_ptr; net_if_ptr = net_if_ptr->next) { fnet_netif_release(net_if_ptr); } fnet_netif_list = fnet_netif_default = 0; }