|
|
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.