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