Annotation of researchv10no/cmd/spool/fsend.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.