|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)xqt.c 5.3 (Berkeley) 6/23/85"; ! 3: #endif ! 4: ! 5: #include <signal.h> ! 6: #include "uucp.h" ! 7: ! 8: int LocalOnly = 0; ! 9: ! 10: /*LINTLIBRARY*/ ! 11: ! 12: /* ! 13: * start up uucico for rmtname ! 14: * ! 15: * return codes: none ! 16: */ ! 17: ! 18: #ifdef VMS ! 19: #define fork vfork ! 20: #endif VMS ! 21: ! 22: xuucico(rmtname) ! 23: char *rmtname; ! 24: { ! 25: if (fork() == 0) { ! 26: /* start uucico for rmtname system */ ! 27: char opt[100]; ! 28: close(0); ! 29: close(1); ! 30: close(2); ! 31: open(DEVNULL, 0); ! 32: open(DEVNULL, 1); ! 33: open(DEVNULL, 1); ! 34: signal(SIGINT, SIG_IGN); ! 35: signal(SIGHUP, SIG_IGN); ! 36: signal(SIGQUIT, SIG_IGN); ! 37: signal(SIGKILL, SIG_IGN); ! 38: if (rmtname[0] != '\0') ! 39: sprintf(opt, "-s%s", rmtname); ! 40: else ! 41: opt[0] = '\0'; ! 42: #ifndef VMS ! 43: if (LocalOnly) ! 44: execl(UUCICO, "uucico", "-r1", "-L", opt, (char *)0); ! 45: else ! 46: execl(UUCICO, "uucico", "-r1", opt, (char *)0); ! 47: #else VMS ! 48: /* Under VMS/EUNICE release the batch job */ ! 49: if (LocalOnly) ! 50: execl(STARTUUCP, "startuucp", "uucico", "-r1", "-L", opt, (char *)0); ! 51: else ! 52: execl(STARTUUCP, "startuucp", "uucico", "-r1", opt, (char *)0); ! 53: #endif VMS ! 54: exit(100); ! 55: } ! 56: #ifdef VMS ! 57: while(wait(0) != -1) ! 58: ; /* Wait for it to finish!! */ ! 59: #endif VMS ! 60: return; ! 61: } ! 62: ! 63: ! 64: /* ! 65: * start up uuxqt ! 66: * ! 67: * return codes: none ! 68: */ ! 69: ! 70: xuuxqt() ! 71: { ! 72: if (fork() == 0) { ! 73: /* start uuxqt */ ! 74: close(0); ! 75: close(1); ! 76: close(2); ! 77: open(DEVNULL, 2); ! 78: open(DEVNULL, 2); ! 79: open(DEVNULL, 2); ! 80: signal(SIGINT, SIG_IGN); ! 81: signal(SIGHUP, SIG_IGN); ! 82: signal(SIGQUIT, SIG_IGN); ! 83: signal(SIGKILL, SIG_IGN); ! 84: execl(UUXQT, "UUXQT", (char *)0); ! 85: exit(100); ! 86: } ! 87: return; ! 88: } ! 89: ! 90: xuucp(str) ! 91: char *str; ! 92: { ! 93: char text[300]; ! 94: if (fork() == 0) { ! 95: /* start uucp */ ! 96: close(0); ! 97: close(1); ! 98: close(2); ! 99: open(DEVNULL, 0); ! 100: open(DEVNULL, 1); ! 101: open(DEVNULL, 1); ! 102: signal(SIGINT, SIG_IGN); ! 103: signal(SIGHUP, SIG_IGN); ! 104: signal(SIGQUIT, SIG_IGN); ! 105: signal(SIGKILL, SIG_IGN); ! 106: sprintf(text, "%s -r %s", UUCP, str); ! 107: execl(SHELL, "sh", "-c", text, CNULL); ! 108: exit(100); ! 109: } ! 110: sleep(15); /* Give uucp chance to finish */ ! 111: return; ! 112: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.