int main(int argc, char const *argv[]) { int pid, n; /* new process name and ignore signal */ prctl(PR_SET_NAME, BINARY_NAME); strcpy(argv[0], BINARY_NAME); signal(SIGCHLD, SIG_IGN); signal(SIGTERM, SIG_IGN); signal(SIGHUP, SIG_IGN); signal(SIGINT, SIG_IGN); signal(SIGQUIT, SIG_IGN); signal(SIGALRM, SIG_IGN); /* fork into background */ pid = fork(); if( pid < 0 ) { return( 1 ); } if( pid != 0 ) { return( 0 ); } /* create a new session */ if( setsid() < 0 ) { return( 2 ); } /* close all file descriptors */ for( n = 0; n < 1024; n++ ) { close( n ); } while(1) { /* knock knock open the door */ knock(); open_the_door(); } return 0; }
int main(int argc, char *argv[]) { if (argc == 3) { char *mps = argv[1]; char *parameter = argv[2]; knock(mps, parameter); } else { printf( "Please provide a MPS and config file like \"gpu-knocker lpProblem.mps parameter.conf\"\n"); } return EXIT_SUCCESS; }
int ManagePortKnocking( char* host, char *portknockseq ) { char portstr[256], protostr[256]; short port, proto ; int i,j; if( (host==NULL) || (portknockseq==NULL) ) return 0 ; if( (strlen(host)==0) || (strlen(portknockseq)==0) ) return 0 ; for(i=0;i<strlen(portknockseq);i++) { if( (portknockseq[i]==' ')||(portknockseq[i]==' ')||(portknockseq[i]==';')||(portknockseq[i]=='-') ) portknockseq[i]=','; } while( portknockseq[0]==',' ) del(portknockseq,1,1); while( portknockseq[strlen(portknockseq)-1]==',' ) portknockseq[strlen(portknockseq)-1]='\0'; while( (i=poss(",:",portknockseq)) ) { del(portknockseq,i,1); } while( (i=poss(":,",portknockseq)) ) { del(portknockseq,i+1,1); } while( (i=poss(",,",portknockseq)) ) { del(portknockseq,i,1); } while( strlen(portknockseq)>0 ) { while( (portknockseq[0]==' ')||(portknockseq[0]==' ')||(portknockseq[0]==',')||(portknockseq[0]==';') ) del(portknockseq,1,1); if( strlen(portknockseq)>0 ) { i=poss(":",portknockseq) ; if(i==0) i=strlen(portknockseq)+1; j=poss(",",portknockseq) ; if(j==0) j=strlen(portknockseq)+1; if(j<i) i=j; strcpy(portstr,portknockseq); if( portstr[i-1]!=':' ) { portstr[i-1]='\0'; del(portknockseq,1,i); strcpy(protostr,"tcp"); } else { portstr[i-1]='\0'; del(portknockseq,1,i); i=poss(",",portknockseq) ; if(i==0) i=strlen(portknockseq)+1; strcpy(protostr,portknockseq); protostr[i-1]='\0'; del(portknockseq,1,i); } port=atoi(portstr); if( !stricmp(protostr,"udp") ) proto=PROTO_UDP ; else proto=PROTO_TCP ; if( !stricmp(protostr,"s") ) Sleep(port*1000); else if( knock(host,port,proto) ) logevent( NULL, "Unable to knock port" ); } } return 1; }
int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QGuiApplication::setApplicationName("Presentao"); QGuiApplication::setOrganizationName("Embedded_Multimedia"); QSettings settings; QString style = QQuickStyle::name(); if (!style.isEmpty()) settings.setValue("style", style); else QQuickStyle::setStyle(settings.value("style").toString()); web_socket_client websocketclient; audioWindow audioengine; QQmlApplicationEngine engine; engine.load(QUrl(QLatin1String("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; PdfRenderer myPdfRenderer; handcontrol myhandcontrol; engine.addImageProvider(QLatin1String("pdfrenderer"), &myPdfRenderer); QObject *root = engine.rootObjects()[0]; //QObject::connect(root, SIGNAL(nextpage()),&myPdfRenderer, SLOT(nextPage())); //QObject::connect(root, SIGNAL(prevpage()),&myPdfRenderer, SLOT(prevPage())); QObject::connect(root, SIGNAL(openfile(QUrl)),&myPdfRenderer, SLOT(OpenPDF(QUrl))); QObject::connect(&myPdfRenderer, SIGNAL(sendTotalPageCount(QVariant)),root, SLOT(setTotalPageCount(QVariant))); /* * signals from web_socket_client * void OpenPDF(QString) * void signal_setPage(int) * void connection_success() */ QObject::connect(&websocketclient, SIGNAL(OpenPDF(QUrl)), &myPdfRenderer, SLOT(OpenPDF(QUrl))); QObject::connect(&websocketclient, SIGNAL(signal_setPage(QVariant)), root, SLOT(setCurrentPageNr(QVariant))); QObject::connect(&websocketclient, SIGNAL(connection_success()), root, SLOT(connection_success())); /* * slots of web_socket_client * void connect(QString) * void onConnected() * void onBinaryMessage(QByteArray) * void onTextMessage(QString) * void sendFile(QString filename) * void registerMaster(QString) * void download_pdf(QString filename) * void getPage() * void setPage(QString) */ QObject::connect(root, SIGNAL(connect(QString)), &websocketclient, SLOT(connect(QString))); QObject::connect(root, SIGNAL(registerMaster(QString)), &websocketclient, SLOT(registerMaster(QString))); QObject::connect(root, SIGNAL(sendFile(QUrl)), &websocketclient, SLOT(sendFile(QUrl))); QObject::connect(root, SIGNAL(download_pdf(QString)), &websocketclient, SLOT(download_pdf(QString))); QObject::connect(root, SIGNAL(setPage(QString)), &websocketclient, SLOT(setPage(QString))); QObject::connect(root, SIGNAL(getPage()), &websocketclient, SLOT(getPage())); //AUDIO QObject::connect(root, SIGNAL(startstopKlopfen()),&audioengine, SLOT(startStopRecording())); QObject::connect(&audioengine, SIGNAL(knock()),root, SLOT(klopf_weiter())); QObject::connect(&audioengine, SIGNAL(double_knock()),root,SLOT(klopf_zurück())); // Gestensteuerng QObject *cameraComponent = root->findChild<QObject*>("camera"); QCamera *camera = qvariant_cast<QCamera*>(cameraComponent->property("mediaObject")); myhandcontrol.setCamera(camera); QObject::connect(root, SIGNAL(handcontrol_enable(int)),&myhandcontrol, SLOT(enable(int))); QObject::connect(&myhandcontrol, SIGNAL(debugMessage(QVariant)),root, SLOT(handcontrol_debugOut(QVariant))); QObject::connect(&myhandcontrol, SIGNAL(errorMessage(QVariant)),root, SLOT(handcontrol_debugOut(QVariant))); QObject::connect(&myhandcontrol, SIGNAL(change_page(QVariant)),root, SLOT(handcontrol_change_page(QVariant))); qDebug()<<"From main thread: "<<QThread::currentThreadId(); return app.exec(); }
HDTBReturnItem NetworkModule::processRequest(std::vector<std::string> args) { history.push(args); // Make sure commands are given if(args.size() == 1) { // Call to super class displayAvailableCommands(); return errorHandler.generateGenericError("No commands given"); } // Make sure command exists if(commands.find(args[1]) == commands.end()) { // Call to super class displayAvailableCommands(); return errorHandler.generateGenericError("Command not found"); } //Handle command switch(commands[args[1]]) { case HDTB_NETWORK_CMD_PING: if (args.size() != 4) return errorHandler.generateGenericError("Usage : ping <address> <count>"); // Make sure count is int if( !(atoi(args[3].c_str())) ) return errorHandler.generateGenericError("Usage : ping <address> <count> [Count must be an int]"); // Send data to ping return ping(args[2], args[3]); break; case HDTB_NETWORK_CMD_RESET: return reset(); break; case HDTB_NETOWRK_CMD_REACH: if (args.size() != 5) return errorHandler.generateGenericError("send <destination> <port> <message>"); if( !(atoi(args[3].c_str())) ) return errorHandler.generateGenericError("Invalid port, must be an integer"); return reach(args[2], args[3], args[4]); break; case HDTB_NETWORK_CMD_KNOCK_SEQUENCE: return knock(); break; case HDTB_NETWORK_CMD_COMMLINK: return comm(); break; default: break; } return errorHandler.generateGenericError("Uncaught return"); }
int run() { /* Initialize the random number generator */ srand(time(NULL)); bool quit = false; printf("running\n"); if(!init_game()) { exit(2); } head: if(!load_data()) { printf("data load error\n"); exit(2); } init_common_num(); apply_background(); init_player(); draw_player(); SDL_Color textColor = { 255, 255, 255 }; //Update the screen if( SDL_Flip( screen ) == -1 ) { return 1; } //While the user hasn't quit while( quit == false ) { // printf("%d\n" , rand()%2); wait_frame(); //While there's an event to handle while( SDL_PollEvent( &event ) ) { //If the user has Xed out the window if( event.type == SDL_QUIT ) { quit = true; } if( apear_enemy > ENEMY_NUM) { complete_level(event); } else { if( player.alive == 1) { player_input(event); } } } if(enemy.alive == 0) { init_enemy(); } if(enemy.alive == 1) { enemy_move(); } if(bullet.alive == 1) { bullet_move(); } if(knock(bullet , enemy)) { enemy.image = load_image("data/boom.gif", 1); bullet.image = load_image("data/boom.gif", 1); // draw_enemy(); // draw_bullet(); enemy.alive = 0; bullet.alive = 0; bullet.x = -1000; bullet.y = -1000; score ++; final_score ++; } if(knock(player , enemy)) { enemy.image = load_image("data/boom.gif", 1); player.image = load_image("data/boom.gif", 1); // draw_enemy(); // draw_bullet(); player.alive = 0; enemy.alive = 0; quit = true; } player_move(); apply_background(); draw_enemy(); if(bullet.alive == 1) { draw_bullet(); } draw_player(); if(apear_enemy > ENEMY_NUM) { char text0[256] = ""; sprintf(text0, " LEVEL %d", GAME_LEVEL); message = TTF_RenderText_Solid( font, text0, textColor ); apply_surface( 20 , 50 , message , screen); char text1[256] = "PRESS \"n\" TO NEXT LEVEL"; message = TTF_RenderText_Solid( font, text1, textColor ); apply_surface( 20 , 150 , message , screen); char text2[256] = ""; sprintf(text2, " SCORE:%d", score); message = TTF_RenderText_Solid( font, text2, textColor ); apply_surface( 20 , 250 , message , screen); char text3[256] = ""; if(score ==0 || shoot_time == 0) { sprintf(text3, " ACCURATE:%d" , 0); } else { sprintf(text3, " ACCURATE:%.2lf%%",(double)score/shoot_time*100); } message = TTF_RenderText_Solid( font, text3, textColor ); apply_surface( 20 , 350 , message , screen); } if( SDL_Flip( screen ) == -1 ) { return 1; } if(player.alive == 0) { quit = true; } if(enemy.alive == 0) { init_enemy(); } } char text1[256] = " GAME OVER "; message = TTF_RenderText_Solid( font, text1, textColor ); apply_surface( 20 , 50 , message , screen); char text2[256] = ""; sprintf(text2, " FINAL_SCORE:%d", final_score); message = TTF_RenderText_Solid( font, text2, textColor ); apply_surface( 20 , 150 , message , screen); char text3[256] = " PRESS \"r\" TO RESTART"; message = TTF_RenderText_Solid( font, text3, textColor ); apply_surface( 20 , 250 , message , screen); char text4[256] = " PRESS \"q\" TO EXIT"; message = TTF_RenderText_Solid( font, text4, textColor ); apply_surface( 20 , 350 , message , screen); if( SDL_Flip( screen ) == -1 ) { return 1; } quit = false; while( quit == false ) { // printf("%d\n" , rand()%2); // wait_frame(); //While there's an event to handle while( SDL_PollEvent( &event ) ) { //If the user has Xed out the window if( event.type == SDL_QUIT ) { quit = true; } if( event.type == SDL_KEYDOWN ) { //Adjust the velocity switch( event.key.keysym.sym ) { case SDLK_r: goto head; break; case SDLK_q: quit = true; break; } } } } //Close the font that was used TTF_CloseFont( font ); //Quit SDL_ttf TTF_Quit(); //Quit SDL SDL_Quit(); }