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