lp.h revision 1.6 1 /*
2 * Copyright (c) 1983, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)lp.h 8.1 (Berkeley) 6/6/93
34 */
35
36
37 /*
38 * Global definitions for the line printer system.
39 */
40
41 extern char *AF; /* accounting file */
42 extern long BR; /* baud rate if lp is a tty */
43 extern char *CF; /* name of cifplot filter (per job) */
44 extern char *DF; /* name of tex filter (per job) */
45 extern long DU; /* daeomon user-id */
46 extern long FC; /* flags to clear if lp is a tty */
47 extern char *FF; /* form feed string */
48 extern long FS; /* flags to set if lp is a tty */
49 extern char *GF; /* name of graph(1G) filter (per job) */
50 extern long HL; /* print header last */
51 extern char *IF; /* name of input filter (created per job) */
52 extern char *LF; /* log file for error messages */
53 extern char *LO; /* lock file name */
54 extern char *LP; /* line printer device name */
55 extern long MC; /* maximum number of copies allowed */
56 extern char *MS; /* stty flags to set if lp is a tty */
57 extern long MX; /* maximum number of blocks to copy */
58 extern char *NF; /* name of ditroff(1) filter (per job) */
59 extern char *OF; /* name of output filter (created once) */
60 extern long PL; /* page length */
61 extern long PW; /* page width */
62 extern long PX; /* page width in pixels */
63 extern long PY; /* page length in pixels */
64 extern char *RF; /* name of fortran text filter (per job) */
65 extern char *RG; /* restricted group */
66 extern char *RM; /* remote machine name */
67 extern char *RP; /* remote printer name */
68 extern long RS; /* restricted to those with local accounts */
69 extern long RW; /* open LP for reading and writing */
70 extern long SB; /* short banner instead of normal header */
71 extern long SC; /* suppress multiple copies */
72 extern char *SD; /* spool directory */
73 extern long SF; /* suppress FF on each print job */
74 extern long SH; /* suppress header page */
75 extern char *ST; /* status file name */
76 extern char *TF; /* name of troff(1) filter (per job) */
77 extern char *TR; /* trailer string to be output when Q empties */
78 extern char *VF; /* name of raster filter (per job) */
79 extern long XC; /* flags to clear for local mode */
80 extern long XS; /* flags to set for local mode */
81
82 extern char line[BUFSIZ];
83 extern char *bp; /* pointer into printcap buffer */
84 extern char *name; /* program name */
85 extern char *printer; /* printer name */
86 /* host machine name */
87 extern char host[MAXHOSTNAMELEN];
88 extern char *from; /* client's machine name */
89 extern int sendtorem; /* are we sending to a remote? */
90 extern char *printcapdb[]; /* printcap database array */
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 #include <sys/cdefs.h>
100
101 __BEGIN_DECLS
102 struct dirent;
103
104 void blankfill __P((int));
105 char *checkremote __P((void));
106 int chk __P((char *));
107 void displayq __P((int));
108 void dump __P((char *, char *, int));
109 void fatal __P((const char *, ...));
110 int getline __P((FILE *));
111 int getport __P((char *));
112 int getq __P((struct queue *(*[])));
113 void header __P((void));
114 void inform __P((char *));
115 int inlist __P((char *, char *));
116 int iscf __P((struct dirent *));
117 int isowner __P((char *, char *));
118 void ldump __P((char *, char *, int));
119 int lockchk __P((char *));
120 void prank __P((int));
121 void process __P((char *));
122 void rmjob __P((void));
123 void rmremote __P((void));
124 void show __P((char *, char *, int));
125 int startdaemon __P((char *));
126 void warn __P((void));
127 __END_DECLS
128