Esempio n. 1
0
int
main (int argc, char **argv)
{
  if (argc > 1 && !strcmp (argv[1], "--verbose"))
    verbose = 1;
  else if (argc > 1 && !strcmp (argv[1], "--debug"))
    verbose = debug = 1;

  if (!gcry_check_version (GCRYPT_VERSION))
    die ("version mismatch\n");

  xgcry_control (GCRYCTL_DISABLE_SECMEM, 0);
  xgcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
  if (debug)
    xgcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u, 0);
  list_curves ();
  check_matching ();
  check_get_params ();

  return error_count ? 1 : 0;
}
Esempio n. 2
0
int main(int argc, char **argv) {
  int c = -1;
  int option_index;
  int img_height = DEFAULT_HEIGHT; 
  int img_width  = DEFAULT_WIDTH;
  int listen_port = LISTEN_PORT;
  
  for (;;) {
    c = getopt_long(argc, argv, short_options, long_options, &option_index);
    if (c == -1) {
      break;
    }
    
    switch(c) {
      case 'h': {
	if (optarg != NULL) {
	  img_height = atoi(optarg);
	}
	break;
      };
      case 'w': {
	if (optarg != NULL) {
	  img_width = atoi(optarg);
	}
	break;
      };
      case 'p': {
	if (optarg != NULL) {
	  listen_port = atoi(optarg);
	}
	break;
      };
    };
  }
  
  if (open_socket(LISTEN_ADDR, listen_port) != 0) {
    printf("ERROR: cannot open socket\n");
    return 1;
  }
  
  if (open_camera() != 0) {
    printf("Camera file error, exiting...\n");
    return 1;
  }
  
  if (init_camera(img_height, img_width) != 0) {
    printf("Camera error, exiting...\n");
    return 1;
  } else {
    printf("INFO: image size is %dx%d;\n\n", img_width, img_height);
  }

  while (1) {
    while (1) {
      if (wait_for_connect() == 0) { break; }
    }
    
    while (1) {
      if (read_current_socket() == 0) {
	if (check_get_params("exit") == 1) {
	  goto APP_EXIT;
	} else if (check_get_params("bmp") == 1) {
	  if (check_get_params(GETPARAM_SEND_HTTP_HEADERS)) {
	    send(get_current_socket(), http_headers, strlen(http_headers), 0);
	    send(get_current_socket(), header_ct_bmp, strlen(header_ct_bmp), 0);
	  }
	  read_camera(IMAGE_TYPE_BMP, get_current_socket(), check_get_params(GETPARAM_COLOR_IMAGE));
	  close_current_socket();
	  break;
	} else if (check_get_params("jpg") == 1) { 
	  //print_time(0);
	  if (check_get_params(GETPARAM_SEND_HTTP_HEADERS)) {
	    send(get_current_socket(), http_headers, strlen(http_headers), 0);
	    send(get_current_socket(), header_ct_jpeg, strlen(header_ct_jpeg), 0);
	  }
	  read_camera(IMAGE_TYPE_JPG, get_current_socket(), check_get_params(GETPARAM_COLOR_IMAGE));
	  close_current_socket();
	  //print_time(1);
	  break;
	} else if (check_get_params("yuyv") == 1) { 		// GET:yuyv
	  read_camera(IMAGE_TYPE_YUYV, get_current_socket(), 0);
	  close_current_socket();
	  break;
	}
      }
    }
  }
  
  APP_EXIT:
  printf("Exiting...\n");
  close_camera();
  close_current_socket();
  close_main_socket();
  
  return 0;
}