Commit | Line | Data |
---|---|---|
d0aeaf5a DF |
1 | /* |
2 | * Copyright (c) 1983 Regents of the University of California. | |
9d85c861 | 3 | * All rights reserved. |
d0aeaf5a | 4 | * |
417f7a11 | 5 | * %sccs.include.redist.c% |
9d85c861 | 6 | * |
417f7a11 | 7 | * @(#)lp.h 5.5 (Berkeley) %G% |
d0aeaf5a DF |
8 | */ |
9 | ||
809f6548 RC |
10 | /* |
11 | * Global definitions for the line printer system. | |
12 | */ | |
13 | ||
14 | #include <stdio.h> | |
51673d52 | 15 | #include <sys/param.h> |
809f6548 RC |
16 | #include <sys/file.h> |
17 | #include <sys/dir.h> | |
18 | #include <sys/stat.h> | |
19 | #include <sys/socket.h> | |
8fed920b | 20 | #include <sys/un.h> |
809f6548 RC |
21 | #include <netinet/in.h> |
22 | #include <netdb.h> | |
23 | #include <pwd.h> | |
51673d52 | 24 | #include <syslog.h> |
809f6548 | 25 | #include <signal.h> |
25db97f6 | 26 | #include <sys/wait.h> |
809f6548 RC |
27 | #include <sgtty.h> |
28 | #include <ctype.h> | |
29 | #include <errno.h> | |
30 | #include "lp.local.h" | |
31 | ||
32 | extern int DU; /* daeomon user-id */ | |
33 | extern int MX; /* maximum number of blocks to copy */ | |
c6d1c018 | 34 | extern int MC; /* maximum number of copies allowed */ |
809f6548 RC |
35 | extern char *LP; /* line printer device name */ |
36 | extern char *RM; /* remote machine name */ | |
6e4bbe1d | 37 | extern char *RG; /* restricted group */ |
809f6548 RC |
38 | extern char *RP; /* remote printer name */ |
39 | extern char *LO; /* lock file name */ | |
40 | extern char *ST; /* status file name */ | |
41 | extern char *SD; /* spool directory */ | |
42 | extern char *AF; /* accounting file */ | |
43 | extern char *LF; /* log file for error messages */ | |
44 | extern char *OF; /* name of output filter (created once) */ | |
45 | extern char *IF; /* name of input filter (created per job) */ | |
4d4caa50 | 46 | extern char *RF; /* name of fortran text filter (per job) */ |
809f6548 | 47 | extern char *TF; /* name of troff(1) filter (per job) */ |
a4f59913 | 48 | extern char *NF; /* name of ditroff(1) filter (per job) */ |
809f6548 RC |
49 | extern char *DF; /* name of tex filter (per job) */ |
50 | extern char *GF; /* name of graph(1G) filter (per job) */ | |
51 | extern char *VF; /* name of raster filter (per job) */ | |
52 | extern char *CF; /* name of cifplot filter (per job) */ | |
53 | extern char *FF; /* form feed string */ | |
54 | extern char *TR; /* trailer string to be output when Q empties */ | |
c6d1c018 | 55 | extern short SC; /* suppress multiple copies */ |
809f6548 RC |
56 | extern short SF; /* suppress FF on each print job */ |
57 | extern short SH; /* suppress header page */ | |
58 | extern short SB; /* short banner instead of normal header */ | |
1e7998ee | 59 | extern short HL; /* print header last */ |
809f6548 RC |
60 | extern short RW; /* open LP for reading and writing */ |
61 | extern short PW; /* page width */ | |
4d4caa50 RC |
62 | extern short PX; /* page width in pixels */ |
63 | extern short PY; /* page length in pixels */ | |
809f6548 RC |
64 | extern short PL; /* page length */ |
65 | extern short BR; /* baud rate if lp is a tty */ | |
c6d1c018 RC |
66 | extern int FC; /* flags to clear if lp is a tty */ |
67 | extern int FS; /* flags to set if lp is a tty */ | |
68 | extern int XC; /* flags to clear for local mode */ | |
69 | extern int XS; /* flags to set for local mode */ | |
4d4caa50 | 70 | extern short RS; /* restricted to those with local accounts */ |
809f6548 RC |
71 | |
72 | extern char line[BUFSIZ]; | |
73 | extern char pbuf[]; /* buffer for printcap entry */ | |
74 | extern char *bp; /* pointer into ebuf for pgetent() */ | |
75 | extern char *name; /* program name */ | |
76 | extern char *printer; /* printer name */ | |
77 | extern char host[32]; /* host machine name */ | |
78 | extern char *from; /* client's machine name */ | |
b5eb1530 | 79 | extern int sendtorem; /* are we sending to a remote? */ |
809f6548 RC |
80 | extern int errno; |
81 | ||
82 | /* | |
83 | * Structure used for building a sorted list of control files. | |
84 | */ | |
85 | struct queue { | |
86 | time_t q_time; /* modification time */ | |
87 | char q_name[MAXNAMLEN+1]; /* control file name */ | |
88 | }; | |
89 | ||
90 | char *pgetstr(); | |
91 | char *malloc(); | |
92 | char *getenv(); | |
93 | char *index(); | |
94 | char *rindex(); | |
b5eb1530 | 95 | char *checkremote(); |