|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)xqt.c 5.4 (Berkeley) 5/4/88"; ! 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: * start up uuxqt ! 65: * ! 66: * return codes: none ! 67: */ ! 68: xuuxqt() ! 69: { ! 70: if (fork() == 0) { ! 71: /* start uuxqt */ ! 72: close(0); ! 73: close(1); ! 74: close(2); ! 75: open(DEVNULL, 2); ! 76: open(DEVNULL, 2); ! 77: open(DEVNULL, 2); ! 78: signal(SIGINT, SIG_IGN); ! 79: signal(SIGHUP, SIG_IGN); ! 80: signal(SIGQUIT, SIG_IGN); ! 81: signal(SIGKILL, SIG_IGN); ! 82: execl(UUXQT, "uuxqt", (char *)0); ! 83: exit(100); ! 84: } ! 85: } ! 86: ! 87: xuucp(str) ! 88: char *str; ! 89: { ! 90: char text[300]; ! 91: if (fork() == 0) { ! 92: /* start uucp */ ! 93: close(0); ! 94: close(1); ! 95: close(2); ! 96: open(DEVNULL, 0); ! 97: open(DEVNULL, 1); ! 98: open(DEVNULL, 1); ! 99: signal(SIGINT, SIG_IGN); ! 100: signal(SIGHUP, SIG_IGN); ! 101: signal(SIGQUIT, SIG_IGN); ! 102: signal(SIGKILL, SIG_IGN); ! 103: sprintf(text, "%s -r %s", UUCP, str); ! 104: execl(SHELL, "sh", "-c", text, CNULL); ! 105: exit(100); ! 106: } ! 107: sleep(15); /* Give uucp chance to finish */ ! 108: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.