source: trunk/athena/bin/lpr/lp.h @ 5163

Revision 5163, 4.2 KB checked in by epeisach, 34 years ago (diff)
POSIX fixes
Line 
1/*
2 *      $Source: /afs/dev.mit.edu/source/repository/athena/bin/lpr/lp.h,v $
3 *      $Author: epeisach $
4 *      $Locker:  $
5 *      $Header: /afs/dev.mit.edu/source/repository/athena/bin/lpr/lp.h,v 1.7 1991-06-28 13:34:37 epeisach Exp $
6 */
7
8/*
9 * Copyright (c) 1983 Regents of the University of California.
10 * All rights reserved.  The Berkeley software License Agreement
11 * specifies the terms and conditions for redistribution.
12 *
13 *      @(#)lp.h        5.1 (Berkeley) 6/6/85
14 */
15
16/*
17 * Global definitions for the line printer system.
18 */
19
20#include <stdio.h>
21#include <sys/param.h>
22#ifdef _AUX_SOURCE
23#include <sys/types.h>
24#endif
25#include <sys/file.h>
26#ifdef POSIX
27#include <dirent.h>
28#else
29#include <sys/dir.h>
30#endif
31#include <sys/stat.h>
32#include <sys/socket.h>
33#include <sys/un.h>
34#include <netinet/in.h>
35#include <netdb.h>
36#include <pwd.h>
37#include <syslog.h>
38#include <signal.h>
39#include <sys/wait.h>
40#include <sgtty.h>
41#include <ctype.h>
42#include <errno.h>
43#include <strings.h>
44#include "lp.local.h"
45
46#ifdef KERBEROS
47#include <krb.h>
48#define KLPR_SERVICE "rcmd"
49#endif KERBEROS
50
51extern int      DU;             /* daeomon user-id */
52extern int      MX;             /* maximum number of blocks to copy */
53extern int      MC;             /* maximum number of copies allowed */
54extern char     *LP;            /* line printer device name */
55extern char     *RM;            /* remote machine name */
56extern char     *RG;            /* restricted group */
57extern char     *RP;            /* remote printer name */
58extern char     *LO;            /* lock file name */
59extern char     *ST;            /* status file name */
60extern char     *SD;            /* spool directory */
61extern char     *AF;            /* accounting file */
62extern char     *LF;            /* log file for error messages */
63extern char     *OF;            /* name of output filter (created once) */
64extern char     *IF;            /* name of input filter (created per job) */
65extern char     *RF;            /* name of fortran text filter (per job) */
66extern char     *TF;            /* name of troff(1) filter (per job) */
67extern char     *NF;            /* name of ditroff(1) filter (per job) */
68extern char     *DF;            /* name of tex filter (per job) */
69extern char     *GF;            /* name of graph(1G) filter (per job) */
70extern char     *VF;            /* name of raster filter (per job) */
71extern char     *CF;            /* name of cifplot filter (per job) */
72extern char     *FF;            /* form feed string */
73extern char     *TR;            /* trailer string to be output when Q empties */
74extern short    SC;             /* suppress multiple copies */
75extern short    SF;             /* suppress FF on each print job */
76extern short    SH;             /* suppress header page */
77extern short    SB;             /* short banner instead of normal header */
78extern short    HL;             /* print header last */
79extern short    RW;             /* open LP for reading and writing */
80extern short    PW;             /* page width */
81extern short    PX;             /* page width in pixels */
82extern short    PY;             /* page length in pixels */
83extern short    PL;             /* page length */
84extern short    BR;             /* baud rate if lp is a tty */
85extern int      FC;             /* flags to clear if lp is a tty */
86extern int      FS;             /* flags to set if lp is a tty */
87extern int      XC;             /* flags to clear for local mode */
88extern int      XS;             /* flags to set for local mode */
89extern short    RS;             /* restricted to those with local accounts */
90#ifdef PQUOTA
91extern char     *RQ;            /* Name of remote quota server */
92extern int      CP;             /* Cost per page */
93extern char     *QS;            /* Quota service for printer */
94#endif /* PQUOTA */
95#ifdef LACL
96extern char     *AC;            /* Local ACL file to use */
97extern short    PA;             /* ACL file used as positive ACL */
98extern short    RA;             /* Restricted host access */
99#endif /* LACL */
100
101extern char     line[BUFSIZ];
102extern char     pbuf[];         /* buffer for printcap entry */
103extern char     *bp;            /* pointer into ebuf for pgetent() */
104extern char     *name;          /* program name */
105extern char     *printer;       /* printer name */
106extern char     host[32];       /* host machine name */
107extern char     *from;          /* client's machine name */
108extern int      errno;
109#ifdef HESIOD
110extern char     alibuf[BUFSIZ/2]; /* buffer for printer alias */
111#endif
112
113#ifdef KERBEROS
114extern int      use_kerberos;
115extern int      kerberos_cf;
116extern char     kprincipal[];
117extern char     kinstance[];
118extern char     krealm[];
119#endif KERBEROS
120
121/*
122 * Structure used for building a sorted list of control files.
123 */
124struct queue {
125        time_t  q_time;                 /* modification time */
126        char    q_name[MAXNAMLEN+1];    /* control file name */
127};
128
129char    *pgetstr();
130char    *malloc();
131char    *getenv();
132#ifndef _AUX_SOURCE
133char    *index();
134char    *rindex();
135#endif
136
137#define UNLINK unlink
Note: See TracBrowser for help on using the repository browser.