/*---------------------------------------------------------------------------*/ PROCESS_THREAD(telnetd_process, ev, data) { PROCESS_BEGIN(); tcp_listen(HTONS(23)); buf_init(&buf); shell_init(); #if TELNETD_CONF_GUI telnetd_gui_init(); #endif /* TELNETD_CONF_GUI */ while(1) { PROCESS_WAIT_EVENT(); if(ev == tcpip_event) { telnetd_appcall(data); } else if(ev == PROCESS_EVENT_EXIT) { telnetd_quit(); } else { #if TELNETD_CONF_GUI telnetd_gui_eventhandler(ev, data); #endif /* TELNETD_CONF_GUI */ } } PROCESS_END(); }
/*---------------------------------------------------------------------------*/ PROCESS_THREAD(telnetd_process, ev, data) { PROCESS_BEGIN(); shell_init(); #if TELNETD_CONF_GUI telnetd_gui_init(); #endif /* TELNETD_CONF_GUI */ petsciiconv_toascii(telnetd_reject_text, strlen(telnetd_reject_text)); tcp_listen(UIP_HTONS(23)); while(1) { PROCESS_WAIT_EVENT(); if(ev == tcpip_event) { telnetd_appcall(data); } else if(ev == PROCESS_EVENT_EXIT) { telnetd_quit(); } else { #if TELNETD_CONF_GUI telnetd_gui_eventhandler(ev, data); #endif /* TELNETD_CONF_GUI */ } } PROCESS_END(); }
void ip_appcall(void){ switch(uip_conn->lport) { case HTONS(23): telnetd_appcall(); break; } }
void dispatch_tcp_appcall (void) { struct sambungan_state *sb = (struct sambungan_state *) &(uip_conn->appstate2); #ifdef PAKE_HTTP if (uip_conn->lport == HTONS (80)) httpd_appcall (); #endif #ifdef PAKE_TELNETD if (uip_conn->lport == HTONS (23)) telnetd_appcall (); #endif #ifdef BOARD_KOMON if (uip_conn->lport == HTONS(PORT_MONITA)) monita_appcall(); #endif #if (PAKAI_KONTROL == 1) else if (uip_conn->lport == HTONS(PORT_KONTROL)) kontrol_appcall(); #endif //#ifdef CARI_SUMBERNYA #ifdef SAMPURASUN_SERVER // gunakan rport untuk konek ke orang lain if (uip_conn->rport == HTONS(PORT_MONITA)) { samb_appcall(); } else if (uip_conn->rport == HTONS(PORT_DAYTIME)) { daytime_appcall(); } #endif #ifdef PAKAI_WEBCLIENT /* webclient */ if (uip_conn->rport == HTONS(80)) { webclient_appcall(); } #endif #ifdef PAKAI_KIRIM_BALIK //* if (uip_conn->rport == HTONS(PORT_KIRIM_BALIK)) { kirim_balik_appcall(); } //*/ #endif //printf("%s(): port = %d\r\n", __FUNCTION__, uip_conn->rport); }
void uip_router_tcp_appcall(void) { switch(uip_conn->lport) { case HTONS(1000): hello_world_appcall(); break; case HTONS(80): httpd_appcall(); break; case HTONS(23): telnetd_appcall(); break; } }
/** * \brief Administra aplicacoes. * * Principal funcao da camada mult * * Gerencia os pacotes vindos da rede e de acordo com a porta que esta sendo feito a requisicao * e encaminhado para o devido pacote. */ void services_appcall(void){ struct services_state *proc; // proc = (struct services_state)uip_conn->appstate; // if (uip_connected()){//uip_connected - aloca uma nova conexão. //verificação de qual serviço deve ser atendido é feita através da porta utilizada por ele. if(uip_conn->lport == HTONS(TELNET_PORT)){ DEBUG_INFO("Atendendo servicos de TELNET"); //função tratadora dos serviços de telnet. telnetd_appcall(); } else if(uip_conn->lport == HTONS(HTTP_PORT)){ DEBUG_INFO("Atendendo servicos de HTTP"); //função tratadora dos serviços do webServer. httpd_appcall(); } else if(uip_conn->lport == HTONS(CHAT_PORT)){ DEBUG_INFO("Atendendo servicos de CHAT"); //função tratadora dos serviços do chat. chat_appcall(); } else if(uip_conn->lport == HTONS(SFTD_PORT)){ DEBUG_INFO("Atendendo servicos de SFT"); //função tratadora dos serviços do sft. sftd_appcall(); } //IMPLEMENTADO OS SERVIÇO DE FTP APENAS PARA CLIENTE. /* else if(uip_conn->lport == HTONS(FTP_PORT)){ DEBUG_INFO("Atendendo servicos de FTP"); //função tratadora dos serviços do webServer. ftp_appcall(); } */ }
PROCESS_THREAD(telnetd_process, ev, data) { PROCESS_BEGIN(); tcp_listen(UIP_HTONS(23)); buf_init(&buf); stdout_old = stdout; //shell_init(); while(1) { PROCESS_WAIT_EVENT(); if (ev == tcpip_event) { telnetd_appcall(data); } else if (ev == PROCESS_EVENT_EXIT) { telnetd_quit(); } } PROCESS_END(); }
/***************************************************************************** 函 数 名 : my_tcp_app 功能描述 : tcp initialize for uip 输入参数 : void 输出参数 : 无 返 回 值 : 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2017年4月17日 作 者 : QSWWD 修改内容 : 新生成函数 *****************************************************************************/ void my_tcp_app(void) { printf("UIP_APPCALL...\n\r"); switch(uip_conn->lport) { case HTONS(1234): example1_app(); break; case HTONS(2345): example2_app(); break; case HTONS(23): telnetd_appcall(); break; case HTONS(80): httpd_appcall(); break; case HTONS(1000): hello_world_appcall(); break; default: printf("The protocal not support!\n\r"); break; } }