|
|
1.1 root 1: #include <stdio.h>
2:
3: /*
4: * lpr -- on line print to line printer
5: */
6: #ifdef VPR
7: /* if VPR defined, uses versatek printer via /usr/spool/vpd. */
8: #endif
9:
10: #define DPR 0
11: #define FGET 0
12: #define FSEND 0
13: #define GCAT 0
14: #define LPR 1
15:
16: #ifdef VPR
17: #define NAME "vpr"
18: #endif
19:
20: #define BF 'F'
21: #define MAXCOPY 5000000L
22: #define FIRSTCHAR 'A'-1
23:
24: #ifdef VPR
25: char cfname[] = "/usr/spool/vpd/cf@XXXXX";
26: char dfname[] = "/usr/spool/vpd/df@XXXXX";
27: char lfname[] = "/usr/spool/vpd/lf@XXXXX";
28: char tfname[] = "/usr/spool/vpd/tf@XXXXX";
29: char zfname[] = "/usr/spool/vpd/zf@XXXXX";
30: #endif
31:
32: #include "spool.c"
33:
34: main(agc, agv)
35: int agc;
36: char *agv[];
37: {
38: argc = agc; argv = agv;
39: pidfn();
40:
41: while (argc>1 && (arg = argv[1])[0]=='-') {
42: if(!comopt(arg[1]))
43: switch (arg[1]) {
44:
45: default:
46: fprintf(stderr, "%s: Unrecognized option: %s\n", NAME, arg);
47: break;
48: }
49: argc--;
50: argv++;
51: }
52:
53: if(debug)
54: tff = stdout;
55: else
56: if((tff = nfile(tfname)) == NULL){
57: fprintf(stderr, "%s: Can't create %s.\n", NAME, tfname);
58: out();
59: }
60: if(ident())
61: out();
62:
63: filargs(); /*process file arguments.*/
64:
65: if(debug)
66: out();
67: fclose(tff);
68: if(nact) {
69: dfname[INCHAR]++;
70: if(link(tfname, dfname) < 0){
71: fprintf(stderr, "%s: Cannot rename %s\n", NAME, tfname);
72: out();
73: }
74: unlink(tfname);
75: #ifdef VPR
76: execl("/usr/lib/vpd", "vpd", 0);
77: execl("/etc/vpd", "vpd", 0);
78: #else
79: execl(DAEMNAME, "lpd", 0);
80: #endif
81: fprintf(stderr, "%s: Can't find daemon.\nFiles left in spooling dir.\n", NAME);
82: exit(1);
83: }
84: out();
85: }
86:
87:
88: archive()
89: {
90: }
91:
92:
93: nuact()
94: {
95: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.