|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: /* ! 4: * fsend -- spooler to send file to GCOS ! 5: */ ! 6: ! 7: ! 8: #define DPR 0 ! 9: #define FGET 0 ! 10: #define FSEND 1 ! 11: #define GCAT 0 ! 12: #define LPR 0 ! 13: ! 14: #define NAME "fsend" ! 15: #define BF 'B' ! 16: #define MAXCOPY 204800L ! 17: #define FIRSTCHAR 'N'-1 ! 18: ! 19: char cfname[] = "/usr/spool/dpd/cfMXXXXX"; ! 20: char dfname[] = "/usr/spool/dpd/dfMXXXXX"; ! 21: char lfname[] = "/usr/spool/dpd/lfMXXXXX"; ! 22: char tfname[] = "/usr/spool/dpd/tfMXXXXX"; ! 23: char zfname[] = "/usr/spool/dpd/zfMXXXXX"; ! 24: ! 25: int namef = 0; ! 26: char fname[13] = "pipe.end" /* gcos file name */; ! 27: char *fmode; ! 28: char *fzf; ! 29: ! 30: #include "spool.c" ! 31: ! 32: main(agc, agv) ! 33: int agc; ! 34: char *agv[]; ! 35: { ! 36: int i; ! 37: ! 38: argc = agc; argv = agv; ! 39: pidfn(); ! 40: remotsw = TOSS; /*default is toss out online output*/ ! 41: wantmail = 1; /*default is send mail.*/ ! 42: grade = '1'; ! 43: fmode = "a"; ! 44: ! 45: while (argc>1 && (arg = argv[1])[0]=='-') { ! 46: if(!comopt(arg[1])) ! 47: switch (arg[1]) { ! 48: ! 49: case 'a': ! 50: fmode = "a"; ! 51: break; ! 52: ! 53: case 'b': ! 54: fmode = "b"; ! 55: break; ! 56: ! 57: case 'f': ! 58: arg = getarg('f'); ! 59: i = 0; ! 60: while((fname[i] = arg[i])) ! 61: if(++i > 12) { ! 62: fname[i] = '\0'; ! 63: break; ! 64: } ! 65: mailfile = fname; ! 66: namef = 1; ! 67: break; ! 68: ! 69: case 'u': ! 70: arg = getarg('u'); ! 71: i = 0; ! 72: while((gcosid[i] = arg[i])) ! 73: if(++i > 12) { ! 74: gcosid[i] = '\0'; ! 75: break; ! 76: } ! 77: uidf = 1; ! 78: break; ! 79: ! 80: case 'x': ! 81: archsw++; ! 82: break; ! 83: ! 84: default: ! 85: fprintf(stderr, "%s: Unrecognized option: %s\n", NAME, arg); ! 86: break; ! 87: } ! 88: argc--; ! 89: argv++; ! 90: } ! 91: ! 92: spool1(); /*setup initial GCOS cards.*/ ! 93: card('L',"$ select cc/unixsupport/access"); ! 94: ! 95: filargs(); /*process file arguments.*/ ! 96: ! 97: spool2(); /*put out final cards, and spool job.*/ ! 98: out(); ! 99: } ! 100: ! 101: nuact(file) ! 102: char file[]; ! 103: { ! 104: int c, i, j; ! 105: ! 106: if(namef) ! 107: namef = 0; ! 108: else { ! 109: i = 0; ! 110: j = 0; ! 111: while((c = file[i++]) != '\0') { ! 112: if(c == '/') { j = 0; continue; } ! 113: if(j >= 12) break; ! 114: fname[j++] = c; ! 115: } ! 116: fname[j++] = '\0'; ! 117: } ! 118: if(gcdebug) ! 119: card('L', "$ select cc/test/fsend.1"); ! 120: else ! 121: card('L', "$ select cc/unixsupport/fsend.1"); ! 122: card('L', " ignore errs"); ! 123: card('L', sprintf(buf, "fcreat %s/%s,blocks/%d,unlimited/,read,modify/%s/", ! 124: gcosid, fname, gsize, gcosid) ); ! 125: card('L', sprintf(buf, "fcreat %s/%s,blocks/1,unlimited/,read,modify/%s/", ! 126: gcosid, fname, gcosid) ); ! 127: if(gcdebug) ! 128: card('L', "$ select cc/test/fsend.2"); ! 129: else ! 130: card('L', "$ select cc/unixsupport/fsend.2"); ! 131: card('L', sprintf(buf, "%s %s/%s %ld", fmode, gcosid, fname, usize) ); ! 132: card('L', "$ data i*,ncksum"); ! 133: } ! 134: ! 135: archive() ! 136: { ! 137: card('L', "$ select cc/unixsupport/arch" ); ! 138: card('L', sprintf(buf, "s %-12s %-12s", gcosid, fname) ); ! 139: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.