Exemple #1
0
static int
load_modules ()
{
  const char *STEP_OK = "*";
  const char *FAILED = "failed to load with";
  int ret, ipcfg_ret = 0;

  size_t i;
  const char *IPCONFIG_DAT_PATHS[] =
    {
      "mc0:/BIDATA-SYSTEM/IPCONFIG.DAT", /* japan */
      "mc0:/BADATA-SYSTEM/IPCONFIG.DAT", /* us */
      "mc0:/BEDATA-SYSTEM/IPCONFIG.DAT", /* europe */
      "mc0:/SYS-CONF/IPCONFIG.DAT", /* old location */
      NULL
    };

#if defined (LOAD_MRBROWN_PATCHES)
  sbv_patch_enable_lmb ();
  sbv_patch_disable_prefix_check ();
  scr_printf (STEP_OK);
#endif

#if defined (LOAD_SIOMAN_AND_MC)
  ret = SifLoadModule ("rom0:SIO2MAN", 0, NULL);
  if (ret > 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("\nrom0:SIO2MAN %s %d\n", FAILED, ret);
      return (-1);
    }

  ret = SifLoadModule ("rom0:MCMAN", 0, NULL);
  if (ret > 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("\nrom0:MCMAN %s %d\n", FAILED, ret);
      return (-1);
    }

  ret = SifLoadModule ("rom0:MCSERV", 0, NULL);
  if (ret > 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("\nrom0:MCSERV %s %d\n", FAILED, ret);
      return (-1);
    }
#endif

  SifExecModuleBuffer (&iomanx_irx, size_iomanx_irx, 0, NULL, &ret);
  if (ret == 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("IOMANX.IRX %s %d\n", FAILED, ret);
      return (-1);
    }

  SifExecModuleBuffer (&ps2dev9_irx, size_ps2dev9_irx, 0, NULL, &ret);
  if (ret == 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("PS2DEV9.IRX %s %d\n", FAILED, ret);
      return (-1);
    }

  SifExecModuleBuffer (&ps2atad_irx, size_ps2atad_irx, 0, NULL, &ret);
  if (ret == 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("PS2ATAD.IRX %s %d\n", FAILED, ret);
      return (-1);
    }

  SifExecModuleBuffer (&ps2ip_irx, size_ps2ip_irx, 0, NULL, &ret);
  if (ret == 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("PS2IP.IRX %s %d\n", FAILED, ret);
      return (-1);
    }

  ipcfg_ret = -1;
  for (i = 0; ipcfg_ret != 0 && IPCONFIG_DAT_PATHS[i] != NULL; ++i)
    {
      ipcfg_ret = setup_ip (IPCONFIG_DAT_PATHS[i], if_conf, &if_conf_len);
    }

  SifExecModuleBuffer (&ps2smap_irx, size_ps2smap_irx,
		       if_conf_len, if_conf, &ret);
  if (ret == 0)
    scr_printf (STEP_OK);
  else
    {
      scr_printf ("PS2SMAP.IRX %s %d\n", FAILED, ret);
      return (-1);
    }

  scr_printf ("\n");

  switch (ipcfg_ret)
    {
    case 0:
      scr_printf ("\nusing %s\n", IPCONFIG_DAT_PATHS[i - 1]);
      break;

    case -1:
      scr_printf ("\nuse one of the following locations to set IP address:\n");
      for (i = 0; IPCONFIG_DAT_PATHS[i] != NULL; ++i)
	scr_printf ("   %s\n", IPCONFIG_DAT_PATHS[i]);
      break;

    case -2:
      scr_printf ("\nusing %s\n", IPCONFIG_DAT_PATHS[i - 1]);
      scr_printf ("\ninvalid configuration file format; use:\n"
		  "ip_address network_mask gateway_ip\n"
		  "separated by a single space; for example:"
		  "192.168.0.10 255.255.255.0 192.168.0.1\n\n");
      break;
    }
  scr_printf ("Playstation 2 IP address: %s\n", if_conf);

  return (0);
}
Exemple #2
0
int main(int argc, char *argv[]){
	char bf_ip[SIZE] = "", bf_rfcomm[SIZE] = "", bf_seial[SIZE] = "";
	char buffer[20] = "";

	int port_no = atoi(argv[1]);
	uint32_t svc_uuid_int[] = {0x1101, 0x1000, 0x80000080 ,0x5f9b34fb};

	FD_ZERO(&readfds);

	printf("Program start up!\n");

	// setup_serial(BAUD, DEVICE_ARDUINO);
	// setup_rfcomm(svc_uuid_int);
	setup_ip(port_no);

	fflush(stdin);
	FD_SET(STDIN, &readfds);
	fd_set readfds_temp;
	while(1){
		readfds_temp = readfds;
		
		select(FD_SETSIZE, &readfds_temp, NULL, NULL, NULL);

		// just for jumping out of loop through command
		if (FD_ISSET(STDIN, &readfds_temp)){
			scanf("%s", buffer);
			if(strcmp(buffer, "end")==0){
				break;
			}
		}

		// if (FD_ISSET(fd_rfcomm_server, &readfds_temp)){
		// 	accept_rfcomm();
		// }

		if (FD_ISSET(fd_ip_server, &readfds_temp)){
			accept_ip();
		}

		//if all three connections are established, start reading
		//ip or rfcomm writing should be before serial.
		// if(fd_rfcomm > 0 && fd_serial > 0 && fd_ip > 0){
			// if (FD_ISSET(fd_rfcomm, &readfds_temp)){
			// 	read_rfcomm(bf_rfcomm);
			// 	if(strcmp(bf_rfcomm, EXPLORE)==0)
			// 		write_serial(bf_rfcomm);
			// 	else if(strcmp(bf_rfcomm, RUN)==0)
			// 		write_ip(bf_rfcomm);
			// 	bzero(bf_rfcomm,sizeof(bf_rfcomm));
			// }
			// if (FD_ISSET(fd_serial, &readfds_temp)){
			// 	read_serial(bf_seial);
			// 	write_ip(bf_seial);
			// 	bzero(bf_seial,sizeof(bf_seial));
			// }
			if (FD_ISSET(fd_ip, &readfds_temp)){
				read_ip(bf_ip);
				write_ip(bf_ip);
				// write_serial(bf_ip);
				bzero(bf_ip,sizeof(bf_ip));
			}
		}
	// }

	close_ip();
	// close_rfcomm();
	// close_serial();

	printf("Programm terminating...\n");
}