/************************************************************************ * NAME: fnet_telnet_release * * DESCRIPTION: Telnet server release. ************************************************************************/ void fnet_telnet_release(fnet_telnet_desc_t desc) { struct fnet_telnet_if *telnet_if = (struct fnet_telnet_if *) desc; int i; if(telnet_if && (telnet_if->enabled == FNET_TRUE)) { for(i=0; i<FNET_CFG_TELNET_SESSION_MAX; i++) { struct fnet_telnet_session_if *session = &telnet_if->session[i]; closesocket(session->socket_foreign); session->socket_foreign = SOCKET_INVALID; if(session->shell_descriptor) { fnet_shell_release(session->shell_descriptor); session->shell_descriptor = 0; } session->state = FNET_TELNET_STATE_DISABLED; } closesocket(telnet_if->socket_listen); fnet_poll_service_unregister(telnet_if->service_descriptor); /* Delete service.*/ telnet_if->enabled = FNET_FALSE; } }
/************************************************************************ * NAME: fnet_dns_release * * DESCRIPTION: This function aborts the resolving and releases * the DNS-client service. ************************************************************************/ void fnet_dns_release( void ) { if(fnet_dns_if.state != FNET_DNS_STATE_DISABLED) { /* Close socket. */ closesocket(fnet_dns_if.socket_cln); /* Unregister the tftp service. */ fnet_poll_service_unregister( fnet_dns_if.service_descriptor ); fnet_dns_if.state = FNET_DNS_STATE_DISABLED; } }
/************************************************************************ * NAME: fnet_ping_release * * DESCRIPTION: Releases the PING service. ************************************************************************/ void fnet_ping_release( void ) { if(fnet_ping_if.state != FNET_PING_STATE_DISABLED) { /* Close socket. */ fnet_socket_close(fnet_ping_if.socket_foreign); /* Unregister the tftp service. */ fnet_poll_service_unregister(fnet_ping_if.service_descriptor); fnet_ping_if.state = FNET_PING_STATE_DISABLED; } }