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); }
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"); }