#include #include #include main() { int cpu_nr, tcp_ip_nr; char *hv_config[3]; char pline[80], temp[80]; int pin, pout; int i, linel, lcount; char line[80], cline[80]; char *out_file =".login"; char *in_file ="login"; if (get_config( &tcp_ip_nr, &cpu_nr, hv_config) != 0){ printf (" error in get_config \n"); exit (0); } /* printf (" tcp_ip_nr %d, cpu_nr %d, hv_config %s\n", tcp_ip_nr, cpu_nr, hv_config[cpu_nr]); */ strcpy(pline, "-p=\"[B"); itoa (cpu_nr, temp); strncat(pline, temp, strlen(temp)); if (cpu_nr == 0) strncat(pline, "(L)", strlen("(L)")); else if (cpu_nr == 1) strncat(pline, "(S)", strlen("(S)")); else if (cpu_nr == 2) strncat(pline, "(N)", strlen("(N)")); strncat(pline, "]''cdir'>\"\n", strlen("]''cdir'>\"\n")); system("rename .login login"); if ((pin = open(in_file, 0x03)) == -1) exit(_errmsg(errno," hdecode: error opening %s\n",in_file)); if((pout = create(out_file, 0x03, 0x03)) == -1) exit(_errmsg(errno," set_prompt: error creating %s\n",out_file)); while((linel = readln(pin, line, 80)) > 0){ lcount++; if ( strncmp( line, "-p=", 3) == 0){ write(pout, pline, strlen(pline)); if (cpu_nr == 1){ write(pout, "south==\"echo You are already there\"\n", strlen("south==\"echo You are already there\"\n")); write(pout, "north==\"telnet 131.169.32.122\"\n", strlen("north==\"telnet 131.169.32.122\"\n")); write(pout, "lab==\"telnet 131.169.43.114\"\n", strlen("lab==\"telnet 131.169.43.114\"\n")); } if (cpu_nr == 2){ write(pout, "north==\"echo You are already there\"\n", strlen("north==\"echo You are already there\"\n")); write(pout, "south==\"telnet 131.169.32.121\"\n", strlen("south==\"telnet 131.169.32.121\"\n")); write(pout, "lab==\"telnet 131.169.43.114\"\n", strlen("lab==\"telnet 131.169.43.114\"\n")); } } else write(pout, line, linel); } close(pin); close(pout); system("del login"); system("attr -repepr .login"); }