output float constants in hex, lose precision otherwise (from corbett).
[unix-history] / usr / src / usr.sbin / lpr / common_source / lp.h
CommitLineData
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
24extern int DU; /* daeomon user-id */
25extern int MX; /* maximum number of blocks to copy */
c6d1c018 26extern int MC; /* maximum number of copies allowed */
809f6548
RC
27extern char *LP; /* line printer device name */
28extern char *RM; /* remote machine name */
29extern char *RP; /* remote printer name */
30extern char *LO; /* lock file name */
31extern char *ST; /* status file name */
32extern char *SD; /* spool directory */
33extern char *AF; /* accounting file */
34extern char *LF; /* log file for error messages */
35extern char *OF; /* name of output filter (created once) */
36extern char *IF; /* name of input filter (created per job) */
4d4caa50 37extern char *RF; /* name of fortran text filter (per job) */
809f6548 38extern char *TF; /* name of troff(1) filter (per job) */
a4f59913 39extern char *NF; /* name of ditroff(1) filter (per job) */
809f6548
RC
40extern char *DF; /* name of tex filter (per job) */
41extern char *GF; /* name of graph(1G) filter (per job) */
42extern char *VF; /* name of raster filter (per job) */
43extern char *CF; /* name of cifplot filter (per job) */
44extern char *FF; /* form feed string */
45extern char *TR; /* trailer string to be output when Q empties */
c6d1c018 46extern short SC; /* suppress multiple copies */
809f6548
RC
47extern short SF; /* suppress FF on each print job */
48extern short SH; /* suppress header page */
49extern short SB; /* short banner instead of normal header */
50extern short RW; /* open LP for reading and writing */
51extern short PW; /* page width */
4d4caa50
RC
52extern short PX; /* page width in pixels */
53extern short PY; /* page length in pixels */
809f6548
RC
54extern short PL; /* page length */
55extern short BR; /* baud rate if lp is a tty */
c6d1c018
RC
56extern int FC; /* flags to clear if lp is a tty */
57extern int FS; /* flags to set if lp is a tty */
58extern int XC; /* flags to clear for local mode */
59extern int XS; /* flags to set for local mode */
4d4caa50 60extern short RS; /* restricted to those with local accounts */
809f6548
RC
61
62extern char line[BUFSIZ];
63extern char pbuf[]; /* buffer for printcap entry */
64extern char *bp; /* pointer into ebuf for pgetent() */
65extern char *name; /* program name */
66extern char *printer; /* printer name */
67extern char host[32]; /* host machine name */
68extern char *from; /* client's machine name */
69extern int errno;
70
71/*
72 * Structure used for building a sorted list of control files.
73 */
74struct queue {
75 time_t q_time; /* modification time */
76 char q_name[MAXNAMLEN+1]; /* control file name */
77};
78
79char *pgetstr();
80char *malloc();
81char *getenv();
82char *index();
83char *rindex();