|
|
1.1 root 1: /*
2: * Copyright (c) 1983 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that the above copyright notice and this paragraph are
7: * duplicated in all such forms and that any documentation,
8: * advertising materials, and other materials related to such
9: * distribution and use acknowledge that the software was developed
10: * by the University of California, Berkeley. The name of the
11: * University may not be used to endorse or promote products derived
12: * from this software without specific prior written permission.
13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16: *
17: * @(#)lp.h 5.3 (Berkeley) 6/30/88
18: */
19:
20: /*
21: * Global definitions for the line printer system.
22: */
23:
24: #include <stdio.h>
25: #include <sys/param.h>
26: #include <sys/file.h>
27: #include <sys/dir.h>
28: #include <sys/stat.h>
29: #include <sys/socket.h>
30: #include <sys/un.h>
31: #include <netinet/in.h>
32: #include <netdb.h>
33: #include <pwd.h>
34: #include <syslog.h>
35: #include <signal.h>
36: #include <sys/wait.h>
37: #include <sgtty.h>
38: #include <ctype.h>
39: #include <errno.h>
40: #include "lp.local.h"
41:
42: extern int DU; /* daeomon user-id */
43: extern int MX; /* maximum number of blocks to copy */
44: extern int MC; /* maximum number of copies allowed */
45: extern char *LP; /* line printer device name */
46: extern char *RM; /* remote machine name */
47: extern char *RG; /* restricted group */
48: extern char *RP; /* remote printer name */
49: extern char *LO; /* lock file name */
50: extern char *ST; /* status file name */
51: extern char *SD; /* spool directory */
52: extern char *AF; /* accounting file */
53: extern char *LF; /* log file for error messages */
54: extern char *OF; /* name of output filter (created once) */
55: extern char *IF; /* name of input filter (created per job) */
56: extern char *RF; /* name of fortran text filter (per job) */
57: extern char *TF; /* name of troff(1) filter (per job) */
58: extern char *NF; /* name of ditroff(1) filter (per job) */
59: extern char *DF; /* name of tex filter (per job) */
60: extern char *GF; /* name of graph(1G) filter (per job) */
61: extern char *VF; /* name of raster filter (per job) */
62: extern char *CF; /* name of cifplot filter (per job) */
63: extern char *FF; /* form feed string */
64: extern char *TR; /* trailer string to be output when Q empties */
65: extern short SC; /* suppress multiple copies */
66: extern short SF; /* suppress FF on each print job */
67: extern short SH; /* suppress header page */
68: extern short SB; /* short banner instead of normal header */
69: extern short HL; /* print header last */
70: extern short RW; /* open LP for reading and writing */
71: extern short PW; /* page width */
72: extern short PX; /* page width in pixels */
73: extern short PY; /* page length in pixels */
74: extern short PL; /* page length */
75: extern short BR; /* baud rate if lp is a tty */
76: extern int FC; /* flags to clear if lp is a tty */
77: extern int FS; /* flags to set if lp is a tty */
78: extern int XC; /* flags to clear for local mode */
79: extern int XS; /* flags to set for local mode */
80: extern short RS; /* restricted to those with local accounts */
81:
82: extern char line[BUFSIZ];
83: extern char pbuf[]; /* buffer for printcap entry */
84: extern char *bp; /* pointer into ebuf for pgetent() */
85: extern char *name; /* program name */
86: extern char *printer; /* printer name */
87: extern char host[32]; /* host machine name */
88: extern char *from; /* client's machine name */
89: extern int errno;
90:
91: /*
92: * Structure used for building a sorted list of control files.
93: */
94: struct queue {
95: time_t q_time; /* modification time */
96: char q_name[MAXNAMLEN+1]; /* control file name */
97: };
98:
99: char *pgetstr();
100: char *malloc();
101: char *getenv();
102: char *index();
103: char *rindex();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.