132381Sminshall #include <sys/types.h> 232381Sminshall 332381Sminshall #include "ring.h" 432381Sminshall 532145Sminshall #include "externs.h" 632145Sminshall #include "defines.h" 732145Sminshall 832145Sminshall /* 932145Sminshall * Initialize variables. 1032145Sminshall */ 1132145Sminshall 1232145Sminshall void 1332145Sminshall tninit() 1432145Sminshall { 1532145Sminshall init_terminal(); 1632145Sminshall 1732145Sminshall init_network(); 1832145Sminshall 1932145Sminshall init_telnet(); 20*32531Sminshall 21*32531Sminshall init_sys(); 2232145Sminshall } 2332145Sminshall 2432145Sminshall 2532145Sminshall /* 2632145Sminshall * main. Parse arguments, invoke the protocol or command parser. 2732145Sminshall */ 2832145Sminshall 2932145Sminshall 3032145Sminshall void 3132145Sminshall main(argc, argv) 3232145Sminshall int argc; 3332145Sminshall char *argv[]; 3432145Sminshall { 3532145Sminshall tninit(); /* Clear out things */ 3632145Sminshall 3732145Sminshall TerminalSaveState(); 3832145Sminshall 3932145Sminshall prompt = argv[0]; 4032145Sminshall while ((argc > 1) && (argv[1][0] == '-')) { 4132145Sminshall if (!strcmp(argv[1], "-d")) { 4232145Sminshall debug = 1; 4332145Sminshall } else if (!strcmp(argv[1], "-n")) { 4432145Sminshall if ((argc > 1) && (argv[2][0] != '-')) { /* get file name */ 4532145Sminshall NetTrace = fopen(argv[2], "w"); 4632145Sminshall argv++; 4732145Sminshall argc--; 4832145Sminshall if (NetTrace == NULL) { 4932145Sminshall NetTrace = stdout; 5032145Sminshall } 5132145Sminshall } 5232145Sminshall } else { 5332145Sminshall #if defined(TN3270) && defined(unix) 5432145Sminshall if (!strcmp(argv[1], "-t")) { 5532145Sminshall if ((argc > 1) && (argv[2][0] != '-')) { /* get file name */ 5632145Sminshall transcom = tline; 5732145Sminshall (void) strcpy(transcom, argv[1]); 5832145Sminshall argv++; 5932145Sminshall argc--; 6032145Sminshall } 6132145Sminshall } else if (!strcmp(argv[1], "-noasynch")) { 6232145Sminshall noasynch = 1; 6332145Sminshall } else 6432145Sminshall #endif /* defined(TN3270) && defined(unix) */ 6532145Sminshall if (argv[1][1] != '\0') { 6632145Sminshall fprintf(stderr, "Unknown option *%s*.\n", argv[1]); 6732145Sminshall } 6832145Sminshall } 6932145Sminshall argc--; 7032145Sminshall argv++; 7132145Sminshall } 7232145Sminshall if (argc != 1) { 7332145Sminshall if (setjmp(toplevel) != 0) 7432145Sminshall Exit(0); 7532145Sminshall tn(argc, argv); 7632145Sminshall } 7732145Sminshall setjmp(toplevel); 7832145Sminshall for (;;) { 7932145Sminshall #if !defined(TN3270) 8032145Sminshall command(1); 8132145Sminshall #else /* !defined(TN3270) */ 8232145Sminshall if (!shell_active) { 8332145Sminshall command(1); 8432145Sminshall } else { 8532145Sminshall #if defined(TN3270) 8632145Sminshall shell_continue(); 8732145Sminshall #endif /* defined(TN3270) */ 8832145Sminshall } 8932145Sminshall #endif /* !defined(TN3270) */ 9032145Sminshall } 9132145Sminshall } 92