コード例 #1
0
ファイル: lcd_demo.c プロジェクト: celebro/os2010rk
int main(){

	printf("Lcd driver and lib demo\n");

	display = get_display();
	if (display == NULL) {
		printf("Failed to get display\n");
		return -1;
	}

	disable_waiting_for_enter();

	build_vars();
	intro_animation();

	char key = 0;
	int position = 0;

	while(running){
		position = menu_selection(position);
	}
	clear_screen();

	restore_terminal_settings();
	release_display(display);
}
コード例 #2
0
ファイル: sim.c プロジェクト: iasoule/SYSC3303-Pong
int main(int argc, char *argv[])
{
    struct sockaddr_in echoserver;
    char buffer[BUFSIZ];
    unsigned int echolen;
    int received = 0, c, sock,sock2;
    int ch;
    int enableArrow =0;
    
    disable_waiting_for_enter();
    bool sendable;
    if(argc < 3)
        usage(*argv);
   while((c=getopt(argc, argv, "l:r:i:h")) != -1){
	  switch(c){
          case 'L':
          case 'l':
            if((Log = fopen(optarg, "w")) == NULL)
                errx(EXIT_FAILURE, "fopen():", strerror(errno));
            loggable = true;
            fprintf(Log,"+------------------------------+\n");
            fprintf(Log,"\t  CLIENT LOG\n");
            fprintf(Log,"+------------------------------+\n");
          break;
            
          case 'I':
          case 'i':
            server_ip = optarg;
          break;

          case 'R':
          case 'r':
            if((Cmd = fopen(optarg, "r")) == NULL)
                errx(EXIT_FAILURE, "fopen():", strerror(errno));
            read_cmd = true; 
          break;
          
          case 'h':
          default:
            usage(*argv);
          break;
      }
   }

			
    /* Create the TCP socket */
    if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
	        errx(EXIT_FAILURE, "socket():", strerror(errno));
    printf("%s","ready to Server Launcher\n");
    /* Construct the server sockaddr_in structure */
    memset(&echoserver, 0, sizeof(echoserver));	/* Clear struct */
    echoserver.sin_family = AF_INET;	/* Internet/IP */
    echoserver.sin_addr.s_addr = inet_addr(server_ip);	/* IP address */
    echoserver.sin_port = htons(DEFAULT_PORT);	/* game launch port */
    /* Establish connection */
    if (connect(sock,
		(struct sockaddr *) &echoserver, sizeof(echoserver)) < 0)
        errx(EXIT_FAILURE, "connect():1", strerror(errno));

    printf("%s","Connected to Server Launcher\n");
    char portBuffer[BUFSIZ];
    int status;
   

    if((status = recv(sock, portBuffer, BUFSIZ, 0)) < 0)
        errx(EXIT_FAILURE, "connect():", strerror(errno));
    
    close(sock);
 
    printf("%s","Ready to Model\n");
     /* Create the TCP socket */
    if ((sock2 = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
	        errx(EXIT_FAILURE, "socket():", strerror(errno));
  
    /* Construct the server sockaddr_in structure */
    memset(&echoserver, 0, sizeof(echoserver));	/* Clear struct */
    echoserver.sin_family = AF_INET;	/* Internet/IP */
    echoserver.sin_addr.s_addr = inet_addr(server_ip);	/* IP address */
    echoserver.sin_port = htons((short)atoi(portBuffer));	 /* server port */
    puts(portBuffer);
     pid = fork();
    if (pid == 0){
         view_port= 2029+atoi(portBuffer) - 1029;
   	 sprintf(sysc_call, "./View %d",view_port);
   	 system(sysc_call);
    }   
  
    printf("%d \n",view_port);

    sleep(5);
    if (connect(sock2,
		(struct sockaddr *) &echoserver, sizeof(echoserver)) < 0)
        errx(EXIT_FAILURE, "connect():2", strerror(errno));
    printf("%s","Connected to Model");

    /* determine whether we read from file or stdin */
    FILE *stream;
    stream = read_cmd ? Cmd : stdin;
       
    if(stream == stdin){ //commandline mode
        while(strcmp(buffer, "EXIT")){
            memset(buffer, 0, sizeof(buffer));
            //fgets(buffer,BUFSIZ,stdin);
           ch = getchar();
            if(strlen(buffer) > 0)
                buffer[strlen(buffer)-1] = '\0'; //no newline
            /*strupr(buffer);
            echolen = strlen(buffer);
            //write data to game server
	    */
	
	
           if(ch == arrow_step_one){
                enableArrow++;
	    }
 	   else if(ch == arrow_step_two && enableArrow==1){
                 enableArrow++;
	
		}       
           else if(ch == arrow_left && enableArrow==2){
 		
                 strcpy(buffer,"LEFT");
		 printf(">>%s\n",buffer);
		
                 echolen = strlen(buffer);
		
		 enableArrow =0;
		 sendable= true;
		
            }
           else if(ch == arrow_right && enableArrow==2){
                 strcpy(buffer,"RIGHT");
		 printf(">>%s\n",buffer);
                 echolen = strlen(buffer);
		 enableArrow =0;
		
		 sendable= true;
		
            }     
	
           else
  		enableArrow =0;



             if(ch == start){          
 		strcpy(buffer,"START");
		printf(">>%s\n",buffer);
                echolen = strlen(buffer);
		
                sendable= true;
	     }
	     if(ch == add){            
 		strcpy(buffer,"ADD");
		printf(">>%s\n",buffer);
                echolen = strlen(buffer);
		
                sendable= true;
	     }	 
	    if(ch == exit_game){            
 		strcpy(buffer,"EXIT");
		printf(">>%s\n",buffer);
                echolen = strlen(buffer);
	
                sendable= true;
                
	     }
	  if(sendable){
	
		
            if(send(sock2, buffer, echolen, 0) != echolen)
	            errx(EXIT_FAILURE, "send():", strerror(errno));

	
            if(loggable){
               struct tm *timeinfo;
               time_t curr_time;
               time(&curr_time); timeinfo = localtime(&curr_time);
               fprintf(Log,"*------------------------------*\n");
               fprintf(Log, "%% %s", asctime(timeinfo));
               fprintf(Log, "      To: %s\n", server_ip);
               fprintf(Log, "      Command: %s\n", buffer);
               fprintf(Log,"*------------------------------*\n\n");
            }
	  }
	  sendable = false; 
        } 
    }
    //read from file
    else {
        parse_file(sock);
    }

    /* cleanup */
      close(sock);
      fprintf(stdout, "\nSockets closed and resources deallocated\n");
      fprintf(stdout, "Exiting ...\n");
      exit(0);

}