|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1988 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted ! 6: * provided that this notice is preserved and that due credit is given ! 7: * to the University of California at Berkeley. The name of the University ! 8: * may not be used to endorse or promote products derived from this ! 9: * software without specific prior written permission. This software ! 10: * is provided ``as is'' without express or implied warranty. ! 11: */ ! 12: ! 13: #ifndef lint ! 14: char copyright[] = ! 15: "@(#) Copyright (c) 1988 Regents of the University of California.\n\ ! 16: All rights reserved.\n"; ! 17: #endif /* not lint */ ! 18: ! 19: #ifndef lint ! 20: static char sccsid[] = "@(#)main.c 1.6 (Berkeley) 5/15/88"; ! 21: #endif /* not lint */ ! 22: ! 23: #include <sys/types.h> ! 24: ! 25: #include "ring.h" ! 26: ! 27: #include "externs.h" ! 28: #include "defines.h" ! 29: ! 30: /* ! 31: * Initialize variables. ! 32: */ ! 33: ! 34: void ! 35: tninit() ! 36: { ! 37: init_terminal(); ! 38: ! 39: init_network(); ! 40: ! 41: init_telnet(); ! 42: ! 43: init_sys(); ! 44: ! 45: init_3270(); ! 46: } ! 47: ! 48: ! 49: /* ! 50: * main. Parse arguments, invoke the protocol or command parser. ! 51: */ ! 52: ! 53: ! 54: void ! 55: main(argc, argv) ! 56: int argc; ! 57: char *argv[]; ! 58: { ! 59: tninit(); /* Clear out things */ ! 60: ! 61: TerminalSaveState(); ! 62: ! 63: prompt = argv[0]; ! 64: while ((argc > 1) && (argv[1][0] == '-')) { ! 65: if (!strcmp(argv[1], "-d")) { ! 66: debug = 1; ! 67: } else if (!strcmp(argv[1], "-n")) { ! 68: if ((argc > 1) && (argv[2][0] != '-')) { /* get file name */ ! 69: NetTrace = fopen(argv[2], "w"); ! 70: argv++; ! 71: argc--; ! 72: if (NetTrace == NULL) { ! 73: NetTrace = stdout; ! 74: } ! 75: } ! 76: } else { ! 77: #if defined(TN3270) && defined(unix) ! 78: if (!strcmp(argv[1], "-t")) { ! 79: if ((argc > 1) && (argv[2][0] != '-')) { /* get file name */ ! 80: transcom = tline; ! 81: (void) strcpy(transcom, argv[1]); ! 82: argv++; ! 83: argc--; ! 84: } ! 85: } else if (!strcmp(argv[1], "-noasynch")) { ! 86: noasynch = 1; ! 87: } else ! 88: #endif /* defined(TN3270) && defined(unix) */ ! 89: if (argv[1][1] != '\0') { ! 90: fprintf(stderr, "Unknown option *%s*.\n", argv[1]); ! 91: } ! 92: } ! 93: argc--; ! 94: argv++; ! 95: } ! 96: if (argc != 1) { ! 97: if (setjmp(toplevel) != 0) ! 98: Exit(0); ! 99: tn(argc, argv); ! 100: } ! 101: setjmp(toplevel); ! 102: for (;;) { ! 103: #if !defined(TN3270) ! 104: command(1); ! 105: #else /* !defined(TN3270) */ ! 106: if (!shell_active) { ! 107: command(1); ! 108: } else { ! 109: #if defined(TN3270) ! 110: shell_continue(); ! 111: #endif /* defined(TN3270) */ ! 112: } ! 113: #endif /* !defined(TN3270) */ ! 114: } ! 115: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.