00001 00018 #include <stdio.h> 00019 #include "uip.h" 00020 00024 void services_init(void){ 00025 CHAT_PORT = 5555; //inicializa o chat com uma porta default. que será alterada de acordo com a def do chat. 00026 global_chat_flag = 0; //chat começa desabilitado, só é habilitado pela cli. 00027 telnetd_init(); //telnet faz comunicação através da porta 23 00028 httpd_init(); //http faz comunicação através da porta 80. 00029 chat_init(); //porta inicial, ela será alterada de acordo com o chat. 00030 //ftp_init(); //inicializa serviço de ftp 00031 sftd_init(); 00032 } 00033 00042 void services_appcall(void){ 00043 00044 struct services_state *proc; 00045 00046 // proc = (struct services_state)uip_conn->appstate; 00047 00048 // if (uip_connected()){//uip_connected - aloca uma nova conexão. 00049 00050 //verificação de qual serviço deve ser atendido é feita através da porta utilizada por ele. 00051 if(uip_conn->lport == HTONS(TELNET_PORT)){ 00052 DEBUG_INFO("Atendendo servicos de TELNET"); 00053 //função tratadora dos serviços de telnet. 00054 telnetd_appcall(); 00055 } 00056 else if(uip_conn->lport == HTONS(HTTP_PORT)){ 00057 DEBUG_INFO("Atendendo servicos de HTTP"); 00058 //função tratadora dos serviços do webServer. 00059 httpd_appcall(); 00060 } 00061 else if(uip_conn->lport == HTONS(CHAT_PORT)){ 00062 DEBUG_INFO("Atendendo servicos de CHAT"); 00063 //função tratadora dos serviços do chat. 00064 chat_appcall(); 00065 } 00066 else if(uip_conn->lport == HTONS(SFTD_PORT)){ 00067 DEBUG_INFO("Atendendo servicos de SFT"); 00068 //função tratadora dos serviços do sft. 00069 sftd_appcall(); 00070 } 00071 00072 //IMPLEMENTADO OS SERVIÇO DE FTP APENAS PARA CLIENTE. 00073 /* 00074 else if(uip_conn->lport == HTONS(FTP_PORT)){ 00075 DEBUG_INFO("Atendendo servicos de FTP"); 00076 //função tratadora dos serviços do webServer. 00077 ftp_appcall(); 00078 } 00079 */ 00080 00081 } 00082 00083