xref: /386bsd/usr/src/usr.sbin/lpr/lpr/lpr.termios (revision a2142627)
1From pst@anise.acc.com Sat Aug 12 12:08:59 1989
2Date: Sat, 12 Aug 89 12:09:28 -0700
3From: pst@anise.acc.com (Paul Traina)
4To: bostic@okeeffe.Berkeley.EDU
5Subject: a lpr/lpd hack (the shar file)
6
7#! /bin/sh
8# This is a shell archive.  Remove anything before this line, then unpack
9# it by saving it into a file and typing "sh file".  To overwrite existing
10# files, type "sh file -c".  You can also feed this as standard input via
11# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
12# will see the following message at the end:
13#		"End of shell archive."
14# Contents:  lpr.diff aux.printcap
15# Wrapped by pst@anise on Sat Aug 12 11:55:57 1989
16PATH=/bin:/usr/bin:/usr/ucb ; export PATH
17if test -f 'lpr.diff' -a "${1}" != "-c" ; then
18  echo shar: Will not clobber existing file \"'lpr.diff'\"
19else
20echo shar: Extracting \"'lpr.diff'\" \(28134 characters\)
21sed "s/^X//" >'lpr.diff' <<'END_OF_FILE'
22X*** lpr/Makefile	Mon Apr 24 20:25:37 1989
23X--- newlpr/Makefile	Fri Aug 11 16:31:16 1989
24X***************
25X*** 21,29
26X  # DAEMON	someone special
27X  # SPGRP		the group id of the spooling programs
28X  #
29X! CFLAGS=	-O
30X! LIBDIR=	/usr/lib
31X! BINDIR=	/usr/ucb
32X  SPLDIR=	/usr/spool/lpd
33X  ROOT=	root
34X  DAEMON=	daemon
35X
36X--- 21,29 -----
37X  # DAEMON	someone special
38X  # SPGRP		the group id of the spooling programs
39X  #
40X! CFLAGS=	-O -DmacII
41X! LIBDIR=	/usr/local/lib
42X! BINDIR=	/usr/local/bin
43X  SPLDIR=	/usr/spool/lpd
44X  INS=	bsdinstall
45X  ROOT=	root
46X***************
47X*** 25,30
48X  LIBDIR=	/usr/lib
49X  BINDIR=	/usr/ucb
50X  SPLDIR=	/usr/spool/lpd
51X  ROOT=	root
52X  DAEMON=	daemon
53X  SPGRP=	daemon
54X
55X--- 25,31 -----
56X  LIBDIR=	/usr/local/lib
57X  BINDIR=	/usr/local/bin
58X  SPLDIR=	/usr/spool/lpd
59X+ INS=	bsdinstall
60X  ROOT=	root
61X  DAEMON=	daemon
62X  SPGRP=	daemon
63X***************
64X*** 91,104
65X  	cd vfilters; make ${MFLAGS} depend
66X
67X  install: FRC
68X! 	install -s -o ${ROOT} -g ${SPGRP} -m 6711 lpd ${DESTDIR}/${LIBDIR}/lpd
69X! 	install -s -o ${ROOT} -g ${SPGRP} -m 6711 lpr ${DESTDIR}/${BINDIR}/lpr
70X! 	install -s -o ${ROOT} -g ${SPGRP} -m 6711 lpq ${DESTDIR}/${BINDIR}/lpq
71X! 	install -s -o ${ROOT} -g ${SPGRP} -m 6711 lprm ${DESTDIR}/${BINDIR}/lprm
72X! 	install -s -o bin -g ${SPGRP} -m 2711 lpc ${DESTDIR}/etc/lpc
73X! 	install -s -o bin -g bin -m 755 lptest ${DESTDIR}/${BINDIR}/lptest
74X! 	install -s -o bin -g bin -m 755 pac ${DESTDIR}/etc/pac
75X! 	/etc/chown ${DAEMON} ${DESTDIR}/${SPLDIR}
76X  	chgrp ${SPGRP} ${DESTDIR}/${SPLDIR}
77X  	chmod 775 ${DESTDIR}/${SPLDIR}
78X  	cd filters; make ${MFLAGS} DESTDIR=${DESTDIR} install
79X
80X--- 92,105 -----
81X  	cd vfilters; make ${MFLAGS} depend
82X
83X  install: FRC
84X! 	$(INS) -s -o ${ROOT} -g ${SPGRP} -m 6711 lpd ${DESTDIR}/${LIBDIR}/lpd
85X! 	$(INS) -s -o ${ROOT} -g ${SPGRP} -m 6711 lpr ${DESTDIR}/${BINDIR}/lpr
86X! 	$(INS) -s -o ${ROOT} -g ${SPGRP} -m 6711 lpq ${DESTDIR}/${BINDIR}/lpq
87X! 	$(INS) -s -o ${ROOT} -g ${SPGRP} -m 6711 lprm ${DESTDIR}/${BINDIR}/lprm
88X! 	$(INS) -s -o bin -g ${SPGRP} -m 2711 lpc ${DESTDIR}/etc/lpc
89X! 	$(INS) -s -o bin -g bin -m 755 lptest ${DESTDIR}/${BINDIR}/lptest
90X! 	$(INS) -s -o bin -g bin -m 755 pac ${DESTDIR}/etc/pac
91X! 	chown ${DAEMON} ${DESTDIR}/${SPLDIR}
92X  	chgrp ${SPGRP} ${DESTDIR}/${SPLDIR}
93X  	chmod 775 ${DESTDIR}/${SPLDIR}
94X  	cd filters; make ${MFLAGS} DESTDIR=${DESTDIR} install
95X***************
96X*** 127,265
97X
98X  # DO NOT DELETE THIS LINE -- mkdep uses it.
99X  # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
100X-
101X- lpd.o: lpd.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
102X- lpd.o: /usr/include/sys/types.h /usr/include/signal.h
103X- lpd.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
104X- lpd.o: /usr/include/machine/endian.h /usr/include/sys/file.h
105X- lpd.o: /usr/include/sys/dir.h /usr/include/sys/stat.h /usr/include/sys/socket.h
106X- lpd.o: /usr/include/sys/un.h /usr/include/netinet/in.h /usr/include/netdb.h
107X- lpd.o: /usr/include/pwd.h /usr/include/syslog.h /usr/include/signal.h
108X- lpd.o: /usr/include/sys/wait.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
109X- lpd.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
110X- lpd.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
111X- lpd.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
112X- lpr.o: lpr.c /usr/include/stdio.h /usr/include/sys/types.h
113X- lpr.o: /usr/include/sys/file.h /usr/include/sys/stat.h /usr/include/pwd.h
114X- lpr.o: /usr/include/grp.h /usr/include/signal.h /usr/include/machine/trap.h
115X- lpr.o: /usr/include/ctype.h /usr/include/syslog.h lp.local.h
116X- lpr.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
117X- lpq.o: lpq.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
118X- lpq.o: /usr/include/sys/types.h /usr/include/signal.h
119X- lpq.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
120X- lpq.o: /usr/include/machine/endian.h /usr/include/sys/file.h
121X- lpq.o: /usr/include/sys/dir.h /usr/include/sys/stat.h /usr/include/sys/socket.h
122X- lpq.o: /usr/include/sys/un.h /usr/include/netinet/in.h /usr/include/netdb.h
123X- lpq.o: /usr/include/pwd.h /usr/include/syslog.h /usr/include/signal.h
124X- lpq.o: /usr/include/sys/wait.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
125X- lpq.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
126X- lpq.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
127X- lpq.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
128X- lprm.o: lprm.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
129X- lprm.o: /usr/include/sys/types.h /usr/include/signal.h
130X- lprm.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
131X- lprm.o: /usr/include/machine/endian.h /usr/include/sys/file.h
132X- lprm.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
133X- lprm.o: /usr/include/sys/socket.h /usr/include/sys/un.h
134X- lprm.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
135X- lprm.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
136X- lprm.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
137X- lprm.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
138X- lprm.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
139X- lprm.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
140X- pac.o: pac.c /usr/include/stdio.h lp.local.h /usr/include/a.out.h
141X- pac.o: /usr/include/sys/exec.h /usr/include/ar.h
142X- lpd.o: lpd.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
143X- lpd.o: /usr/include/sys/types.h /usr/include/signal.h
144X- lpd.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
145X- lpd.o: /usr/include/machine/endian.h /usr/include/sys/file.h
146X- lpd.o: /usr/include/sys/dir.h /usr/include/sys/stat.h /usr/include/sys/socket.h
147X- lpd.o: /usr/include/sys/un.h /usr/include/netinet/in.h /usr/include/netdb.h
148X- lpd.o: /usr/include/pwd.h /usr/include/syslog.h /usr/include/signal.h
149X- lpd.o: /usr/include/sys/wait.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
150X- lpd.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
151X- lpd.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
152X- lpd.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
153X- cmds.o: cmds.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
154X- cmds.o: /usr/include/sys/types.h /usr/include/signal.h
155X- cmds.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
156X- cmds.o: /usr/include/machine/endian.h /usr/include/sys/file.h
157X- cmds.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
158X- cmds.o: /usr/include/sys/socket.h /usr/include/sys/un.h
159X- cmds.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
160X- cmds.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
161X- cmds.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
162X- cmds.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
163X- cmds.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
164X- cmds.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
165X- cmds.o: /usr/include/sys/time.h /usr/include/time.h
166X- cmdtab.o: cmdtab.c lpc.h
167X- printjob.o: printjob.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
168X- printjob.o: /usr/include/sys/types.h /usr/include/signal.h
169X- printjob.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
170X- printjob.o: /usr/include/machine/endian.h /usr/include/sys/file.h
171X- printjob.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
172X- printjob.o: /usr/include/sys/socket.h /usr/include/sys/un.h
173X- printjob.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
174X- printjob.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
175X- printjob.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
176X- printjob.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
177X- printjob.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
178X- printjob.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
179X- recvjob.o: recvjob.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
180X- recvjob.o: /usr/include/sys/types.h /usr/include/signal.h
181X- recvjob.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
182X- recvjob.o: /usr/include/machine/endian.h /usr/include/sys/file.h
183X- recvjob.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
184X- recvjob.o: /usr/include/sys/socket.h /usr/include/sys/un.h
185X- recvjob.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
186X- recvjob.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
187X- recvjob.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
188X- recvjob.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
189X- recvjob.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
190X- recvjob.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
191X- recvjob.o: /usr/include/sys/fs.h
192X- displayq.o: displayq.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
193X- displayq.o: /usr/include/sys/types.h /usr/include/signal.h
194X- displayq.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
195X- displayq.o: /usr/include/machine/endian.h /usr/include/sys/file.h
196X- displayq.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
197X- displayq.o: /usr/include/sys/socket.h /usr/include/sys/un.h
198X- displayq.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
199X- displayq.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
200X- displayq.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
201X- displayq.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
202X- displayq.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
203X- displayq.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
204X- rmjob.o: rmjob.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
205X- rmjob.o: /usr/include/sys/types.h /usr/include/signal.h
206X- rmjob.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
207X- rmjob.o: /usr/include/machine/endian.h /usr/include/sys/file.h
208X- rmjob.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
209X- rmjob.o: /usr/include/sys/socket.h /usr/include/sys/un.h
210X- rmjob.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
211X- rmjob.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
212X- rmjob.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
213X- rmjob.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
214X- rmjob.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
215X- rmjob.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
216X- startdaemon.o: startdaemon.c /usr/include/stdio.h /usr/include/sys/types.h
217X- startdaemon.o: /usr/include/sys/socket.h /usr/include/sys/un.h lp.local.h
218X- startdaemon.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
219X- common.o: common.c lp.h /usr/include/stdio.h /usr/include/sys/param.h
220X- common.o: /usr/include/sys/types.h /usr/include/signal.h
221X- common.o: /usr/include/machine/trap.h /usr/include/machine/machparam.h
222X- common.o: /usr/include/machine/endian.h /usr/include/sys/file.h
223X- common.o: /usr/include/sys/dir.h /usr/include/sys/stat.h
224X- common.o: /usr/include/sys/socket.h /usr/include/sys/un.h
225X- common.o: /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/pwd.h
226X- common.o: /usr/include/syslog.h /usr/include/signal.h /usr/include/sys/wait.h
227X- common.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h
228X- common.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
229X- common.o: /usr/include/ctype.h /usr/include/errno.h lp.local.h
230X- common.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ar.h
231X- printcap.o: printcap.c /usr/include/ctype.h /usr/include/stdio.h
232X- lpdchar.o: lpdchar.c lp.local.h /usr/include/a.out.h /usr/include/sys/exec.h
233X- lpdchar.o: /usr/include/ar.h
234X-
235X- # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
236X
237X--- 128,130 -----
238X
239X  # DO NOT DELETE THIS LINE -- mkdep uses it.
240X  # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
241X*** lpr/common.c	Thu Jun 30 18:00:19 1988
242X--- newlpr/common.c	Fri Aug 11 14:15:40 1989
243X***************
244X*** 59,64
245X  short	PX;		/* page width in pixels */
246X  short	PY;		/* page length in pixels */
247X  short	BR;		/* baud rate if lp is a tty */
248X  int	FC;		/* flags to clear if lp is a tty */
249X  int	FS;		/* flags to set if lp is a tty */
250X  int	XC;		/* flags to clear for local mode */
251X
252X--- 59,72 -----
253X  short	PX;		/* page width in pixels */
254X  short	PY;		/* page length in pixels */
255X  short	BR;		/* baud rate if lp is a tty */
256X+ #ifdef macII
257X+ int	IC;		/* input flags to clear if lp is a tty */
258X+ int	IS;		/* input flags to set if lp is a tty */
259X+ int	OC;		/* output flags to clear if lp is a tty */
260X+ int	OS;		/* output flags to set if lp is a tty */
261X+ int	CC;		/* control flags to clear if lp is a tty */
262X+ int	CS;		/* control flags to set if lp is a tty */
263X+ #else
264X  int	FC;		/* flags to clear if lp is a tty */
265X  int	FS;		/* flags to set if lp is a tty */
266X  int	XC;		/* flags to clear for local mode */
267X***************
268X*** 63,68
269X  int	FS;		/* flags to set if lp is a tty */
270X  int	XC;		/* flags to clear for local mode */
271X  int	XS;		/* flags to set for local mode */
272X  short	RS;		/* restricted to those with local accounts */
273X
274X  char	line[BUFSIZ];
275X
276X--- 71,77 -----
277X  int	FS;		/* flags to set if lp is a tty */
278X  int	XC;		/* flags to clear for local mode */
279X  int	XS;		/* flags to set for local mode */
280X+ #endif
281X  short	RS;		/* restricted to those with local accounts */
282X
283X  char	line[BUFSIZ];
284X*** lpr/lp.h	Thu Jun 30 18:00:21 1988
285X--- newlpr/lp.h	Fri Aug 11 14:05:55 1989
286X***************
287X*** 34,39
288X  #include <syslog.h>
289X  #include <signal.h>
290X  #include <sys/wait.h>
291X  #include <sgtty.h>
292X  #include <ctype.h>
293X  #include <errno.h>
294X
295X--- 34,40 -----
296X  #include <syslog.h>
297X  #include <signal.h>
298X  #include <sys/wait.h>
299X+ #ifndef macII
300X  #include <sgtty.h>
301X  #endif
302X  #include <ctype.h>
303X***************
304X*** 35,40
305X  #include <signal.h>
306X  #include <sys/wait.h>
307X  #include <sgtty.h>
308X  #include <ctype.h>
309X  #include <errno.h>
310X  #include "lp.local.h"
311X
312X--- 36,42 -----
313X  #include <sys/wait.h>
314X  #ifndef macII
315X  #include <sgtty.h>
316X+ #endif
317X  #include <ctype.h>
318X  #include <errno.h>
319X  #ifdef macII
320X***************
321X*** 37,42
322X  #include <sgtty.h>
323X  #include <ctype.h>
324X  #include <errno.h>
325X  #include "lp.local.h"
326X
327X  extern int	DU;		/* daeomon user-id */
328X
329X--- 39,50 -----
330X  #endif
331X  #include <ctype.h>
332X  #include <errno.h>
333X+ #ifdef macII
334X+ #undef FIOCLEX
335X+ #undef FIONCLEX
336X+ #include <sys/ioctl.h>
337X+ #include <termio.h>
338X+ #endif
339X  #include "lp.local.h"
340X
341X  extern int	DU;		/* daeomon user-id */
342X***************
343X*** 73,78
344X  extern short	PY;		/* page length in pixels */
345X  extern short	PL;		/* page length */
346X  extern short	BR;		/* baud rate if lp is a tty */
347X  extern int	FC;		/* flags to clear if lp is a tty */
348X  extern int	FS;		/* flags to set if lp is a tty */
349X  extern int	XC;		/* flags to clear for local mode */
350X
351X--- 81,94 -----
352X  extern short	PY;		/* page length in pixels */
353X  extern short	PL;		/* page length */
354X  extern short	BR;		/* baud rate if lp is a tty */
355X+ #ifdef macII
356X+ extern int	IC;		/* input flags to clear if lp is a tty */
357X+ extern int	IS;		/* input flags to set if lp is a tty */
358X+ extern int	OC;		/* output flags to clear if lp is a tty */
359X+ extern int	OS;		/* output flags to set if lp is a tty */
360X+ extern int	CC;		/* control flags to clear if lp is a tty */
361X+ extern int	CS;		/* control flags to set if lp is a tty */
362X+ #else
363X  extern int	FC;		/* flags to clear if lp is a tty */
364X  extern int	FS;		/* flags to set if lp is a tty */
365X  extern int	XC;		/* flags to clear for local mode */
366X***************
367X*** 77,82
368X  extern int	FS;		/* flags to set if lp is a tty */
369X  extern int	XC;		/* flags to clear for local mode */
370X  extern int	XS;		/* flags to set for local mode */
371X  extern short	RS;		/* restricted to those with local accounts */
372X
373X  extern char	line[BUFSIZ];
374X
375X--- 93,99 -----
376X  extern int	FS;		/* flags to set if lp is a tty */
377X  extern int	XC;		/* flags to clear for local mode */
378X  extern int	XS;		/* flags to set for local mode */
379X+ #endif
380X  extern short	RS;		/* restricted to those with local accounts */
381X
382X  extern char	line[BUFSIZ];
383X*** lpr/lp.local.h	Thu Jun 30 18:00:21 1988
384X--- newlpr/lp.local.h	Fri Aug 11 15:38:14 1989
385X***************
386X*** 29,35
387X  #include <a.out.h>
388X  #include <ar.h>
389X
390X! #ifndef A_MAGIC1	/* must be a VM/UNIX system */
391X  #	define A_MAGIC1	OMAGIC
392X  #	define A_MAGIC2	NMAGIC
393X  #	define A_MAGIC3	ZMAGIC
394X
395X--- 29,45 -----
396X  #include <a.out.h>
397X  #include <ar.h>
398X
399X! #ifdef	macII
400X! #    ifndef A_MAGIC1
401X! #	define A_MAGIC1	0520		/* COFF object */
402X! #	define A_MAGIC2	0407		/* 4.0 executable */
403X! #	define A_MAGIC3	0410		/* 4.0 pure executable */
404X! #	define A_MAGIC4	0570		/* 5.0 executable */
405X! #	undef ARMAG
406X! #	define ARMAG	0177545		/* archive magic */
407X! #    endif
408X! #else
409X! #    ifndef A_MAGIC1	/* must be a VM/UNIX system */
410X  #	define A_MAGIC1	OMAGIC
411X  #	define A_MAGIC2	NMAGIC
412X  #	define A_MAGIC3	ZMAGIC
413X***************
414X*** 35,40
415X  #	define A_MAGIC3	ZMAGIC
416X  #	undef ARMAG
417X  #	define ARMAG	0177545
418X  #endif
419X
420X  /*
421X
422X--- 45,51 -----
423X  #	define A_MAGIC3	ZMAGIC
424X  #	undef ARMAG
425X  #	define ARMAG	0177545
426X+ #    endif
427X  #endif
428X
429X  /*
430X***************
431X*** 44,50
432X  #define DEFLOCK		"lock"
433X  #define DEFSTAT		"status"
434X  #define	DEFSPOOL	"/usr/spool/lpd"
435X- #define	DEFDAEMON	"/usr/lib/lpd"
436X  #define	DEFLOGF		"/dev/console"
437X  #define	DEFDEVLP	"/dev/lp"
438X  #define DEFRLPR		"/usr/lib/rlpr"
439X
440X--- 55,60 -----
441X  #define DEFLOCK		"lock"
442X  #define DEFSTAT		"status"
443X  #define	DEFSPOOL	"/usr/spool/lpd"
444X  #define	DEFLOGF		"/dev/console"
445X  #define	DEFDEVLP	"/dev/lp"
446X  #ifdef	macII
447X***************
448X*** 47,52
449X  #define	DEFDAEMON	"/usr/lib/lpd"
450X  #define	DEFLOGF		"/dev/console"
451X  #define	DEFDEVLP	"/dev/lp"
452X  #define DEFRLPR		"/usr/lib/rlpr"
453X  #define DEFBINDIR	"/usr/ucb"
454X  #define	DEFMX		1000
455X
456X--- 57,68 -----
457X  #define	DEFSPOOL	"/usr/spool/lpd"
458X  #define	DEFLOGF		"/dev/console"
459X  #define	DEFDEVLP	"/dev/lp"
460X+ #ifdef	macII
461X+ #define	DEFDAEMON	"/usr/local/lib/lpd"
462X+ #define DEFRLPR		"/usr/local/lib/rlpr"
463X+ #define DEFBINDIR	"/usr/local/bin"
464X+ #else
465X+ #define	DEFDAEMON	"/usr/lib/lpd"
466X  #define DEFRLPR		"/usr/lib/rlpr"
467X  #define DEFBINDIR	"/usr/ucb"
468X  #endif
469X***************
470X*** 49,54
471X  #define	DEFDEVLP	"/dev/lp"
472X  #define DEFRLPR		"/usr/lib/rlpr"
473X  #define DEFBINDIR	"/usr/ucb"
474X  #define	DEFMX		1000
475X  #define DEFMAXCOPIES	0
476X  #define DEFFF		"\f"
477X
478X--- 65,71 -----
479X  #define	DEFDAEMON	"/usr/lib/lpd"
480X  #define DEFRLPR		"/usr/lib/rlpr"
481X  #define DEFBINDIR	"/usr/ucb"
482X+ #endif
483X  #define	DEFMX		1000
484X  #define DEFMAXCOPIES	0
485X  #define DEFFF		"\f"
486X*** lpr/lpr.c	Thu Jun 30 18:00:24 1988
487X--- newlpr/lpr.c	Fri Aug 11 15:25:11 1989
488X***************
489X*** 512,517
490X   * Return -1 if it is not, 0 if its printable, and 1 if
491X   * we should remove it after printing.
492X   */
493X  test(file)
494X  	char *file;
495X  {
496X
497X--- 512,523 -----
498X   * Return -1 if it is not, 0 if its printable, and 1 if
499X   * we should remove it after printing.
500X   */
501X+ #ifdef	macII
502X+ #define	exec	filehdr
503X+ #define	execb	filehdrb
504X+ #define	a_magic	f_magic
505X+ #endif
506X+
507X  test(file)
508X  	char *file;
509X  {
510X***************
511X*** 575,580
512X  	(void) close(fd);
513X  	return(-1);
514X  }
515X
516X  /*
517X   * itoa - integer to string conversion
518X
519X--- 581,592 -----
520X  	(void) close(fd);
521X  	return(-1);
522X  }
523X+
524X+ #ifdef	macII
525X+ #undef	exec
526X+ #undef	execb
527X+ #undef	a_magic
528X+ #endif
529X
530X  /*
531X   * itoa - integer to string conversion
532X*** lpr/printjob.c	Thu Jun 30 18:00:26 1988
533X--- newlpr/printjob.c	Fri Aug 11 16:22:50 1989
534X***************
535X*** 65,71
536X  char	pxwidth[10] = "-x";	/* page width in pixels */
537X  char	pxlength[10] = "-y";	/* page length in pixels */
538X  char	indent[10] = "-i0";	/* indentation size in characters */
539X! char	tmpfile[] = "errsXXXXXX"; /* file name for filter output */
540X
541X  printjob()
542X  {
543X
544X--- 65,71 -----
545X  char	pxwidth[10] = "-x";	/* page width in pixels */
546X  char	pxlength[10] = "-y";	/* page length in pixels */
547X  char	indent[10] = "-i0";	/* indentation size in characters */
548X! char	tmpfil[] = "errsXXXXXX"; /* file name for filter output */
549X
550X  printjob()
551X  {
552X***************
553X*** 92,98
554X  	signal(SIGQUIT, abortpr);
555X  	signal(SIGTERM, abortpr);
556X
557X! 	(void) mktemp(tmpfile);
558X
559X  	/*
560X  	 * uses short form file names
561X
562X--- 92,98 -----
563X  	signal(SIGQUIT, abortpr);
564X  	signal(SIGTERM, abortpr);
565X
566X! 	(void) mktemp(tmpfil);
567X
568X  	/*
569X  	 * uses short form file names
570X***************
571X*** 210,216
572X  			if (TR != NULL)		/* output trailer */
573X  				(void) write(ofd, TR, strlen(TR));
574X  		}
575X! 		(void) unlink(tmpfile);
576X  		exit(0);
577X  	}
578X  	goto again;
579X
580X--- 210,216 -----
581X  			if (TR != NULL)		/* output trailer */
582X  				(void) write(ofd, TR, strlen(TR));
583X  		}
584X! 		(void) unlink(tmpfil);
585X  		exit(0);
586X  	}
587X  	goto again;
588X***************
589X*** 580,586
590X  	if ((child = dofork(DORETURN)) == 0) {	/* child */
591X  		dup2(fi, 0);
592X  		dup2(fo, 1);
593X! 		n = open(tmpfile, O_WRONLY|O_CREAT|O_TRUNC, 0664);
594X  		if (n >= 0)
595X  			dup2(n, 2);
596X  		for (n = 3; n < NOFILE; n++)
597X
598X--- 580,586 -----
599X  	if ((child = dofork(DORETURN)) == 0) {	/* child */
600X  		dup2(fi, 0);
601X  		dup2(fo, 1);
602X! 		n = open(tmpfil, O_WRONLY|O_CREAT|O_TRUNC, 0664);
603X  		if (n >= 0)
604X  			dup2(n, 2);
605X  		for (n = 3; n < NOFILE; n++)
606X***************
607X*** 947,954
608X  			printf("\ncould not be printed without an account on %s\n", host);
609X  			break;
610X  		case FILTERERR:
611X! 			if (stat(tmpfile, &stb) < 0 || stb.st_size == 0 ||
612X! 			    (fp = fopen(tmpfile, "r")) == NULL) {
613X  				printf("\nwas printed but had some errors\n");
614X  				break;
615X  			}
616X
617X--- 947,954 -----
618X  			printf("\ncould not be printed without an account on %s\n", host);
619X  			break;
620X  		case FILTERERR:
621X! 			if (stat(tmpfil, &stb) < 0 || stb.st_size == 0 ||
622X! 			    (fp = fopen(tmpfil, "r")) == NULL) {
623X  				printf("\nwas printed but had some errors\n");
624X  				break;
625X  			}
626X***************
627X*** 1007,1013
628X   */
629X  abortpr()
630X  {
631X! 	(void) unlink(tmpfile);
632X  	kill(0, SIGINT);
633X  	if (ofilter > 0)
634X  		kill(ofilter, SIGCONT);
635X
636X--- 1007,1013 -----
637X   */
638X  abortpr()
639X  {
640X! 	(void) unlink(tmpfil);
641X  	kill(0, SIGINT);
642X  	if (ofilter > 0)
643X  		kill(ofilter, SIGCONT);
644X***************
645X*** 1107,1112
646X  	HL = pgetflag("hl");
647X  	RW = pgetflag("rw");
648X  	BR = pgetnum("br");
649X  	if ((FC = pgetnum("fc")) < 0)
650X  		FC = 0;
651X  	if ((FS = pgetnum("fs")) < 0)
652X
653X--- 1107,1126 -----
654X  	HL = pgetflag("hl");
655X  	RW = pgetflag("rw");
656X  	BR = pgetnum("br");
657X+ #ifdef	macII
658X+ 	if ((IC = pgetnum("ic")) < 0)
659X+ 		IC = 0;
660X+ 	if ((IS = pgetnum("is")) < 0)
661X+ 		IS = 0;
662X+ 	if ((OC = pgetnum("oc")) < 0)
663X+ 		OC = 0;
664X+ 	if ((OS = pgetnum("os")) < 0)
665X+ 		OS = 0;
666X+ 	if ((CC = pgetnum("cc")) < 0)
667X+ 		CC = 0;
668X+ 	if ((CS = pgetnum("cs")) < 0)
669X+ 		CS = 0;
670X+ #else
671X  	if ((FC = pgetnum("fc")) < 0)
672X  		FC = 0;
673X  	if ((FS = pgetnum("fs")) < 0)
674X***************
675X*** 1115,1120
676X  		XC = 0;
677X  	if ((XS = pgetnum("xs")) < 0)
678X  		XS = 0;
679X  	tof = !pgetflag("fo");
680X  }
681X
682X
683X--- 1129,1135 -----
684X  		XC = 0;
685X  	if ((XS = pgetnum("xs")) < 0)
686X  		XS = 0;
687X+ #endif
688X  	tof = !pgetflag("fo");
689X  }
690X
691X***************
692X*** 1227,1233
693X   */
694X  setty()
695X  {
696X- 	struct sgttyb ttybuf;
697X  	register struct bauds *bp;
698X
699X  	if (ioctl(pfd, TIOCEXCL, (char *)0) < 0) {
700X
701X--- 1242,1247 -----
702X   */
703X  setty()
704X  {
705X  	register struct bauds *bp;
706X
707X  #ifdef	macII
708X***************
709X*** 1230,1235
710X  	struct sgttyb ttybuf;
711X  	register struct bauds *bp;
712X
713X  	if (ioctl(pfd, TIOCEXCL, (char *)0) < 0) {
714X  		syslog(LOG_ERR, "%s: ioctl(TIOCEXCL): %m", printer);
715X  		exit(1);
716X
717X--- 1244,1285 -----
718X  {
719X  	register struct bauds *bp;
720X
721X+ #ifdef	macII
722X+ 	struct termio ttybuf;
723X+
724X+ 	/* can't do exclusive lock on device once its opened, can we? */
725X+
726X+ 	if (ioctl(pfd, TCGETA, (char *)&ttybuf) < 0) {
727X+ 		syslog(LOG_ERR, "%s: ioctl(TCGETA): %m", printer);
728X+ 		exit(1);
729X+ 	}
730X+
731X+ 	if (BR > 0) {
732X+ 		for (bp = bauds; bp->baud; bp++)
733X+ 			if (BR == bp->baud)
734X+ 				break;
735X+ 		if (!bp->baud) {
736X+ 			syslog(LOG_ERR, "%s: illegal baud rate %d", printer, BR);
737X+ 			exit(1);
738X+ 		}
739X+ 		ttybuf.c_cflag &= ~CC;
740X+ 		ttybuf.c_cflag |= CS;
741X+ 		ttybuf.c_cflag = (ttybuf.c_cflag & ~CBAUD) | bp->baud;
742X+ 	}
743X+
744X+ 	ttybuf.c_iflag &= ~IC;
745X+ 	ttybuf.c_iflag |= IS;
746X+
747X+ 	ttybuf.c_oflag &= ~OC;
748X+ 	ttybuf.c_oflag |= OS;
749X+
750X+ 	if (ioctl(pfd, TCSETA, (char *)&ttybuf) < 0) {
751X+ 		syslog(LOG_ERR, "%s: ioctl(TCSETA): %m", printer);
752X+ 		exit(1);
753X+ 	}
754X+ #else
755X+ 	struct sgttyb ttybuf;
756X+
757X  	if (ioctl(pfd, TIOCEXCL, (char *)0) < 0) {
758X  		syslog(LOG_ERR, "%s: ioctl(TIOCEXCL): %m", printer);
759X  		exit(1);
760X***************
761X*** 1234,1239
762X  		syslog(LOG_ERR, "%s: ioctl(TIOCEXCL): %m", printer);
763X  		exit(1);
764X  	}
765X  	if (ioctl(pfd, TIOCGETP, (char *)&ttybuf) < 0) {
766X  		syslog(LOG_ERR, "%s: ioctl(TIOCGETP): %m", printer);
767X  		exit(1);
768X
769X--- 1284,1290 -----
770X  		syslog(LOG_ERR, "%s: ioctl(TIOCEXCL): %m", printer);
771X  		exit(1);
772X  	}
773X+
774X  	if (ioctl(pfd, TIOCGETP, (char *)&ttybuf) < 0) {
775X  		syslog(LOG_ERR, "%s: ioctl(TIOCGETP): %m", printer);
776X  		exit(1);
777X***************
778X*** 1238,1243
779X  		syslog(LOG_ERR, "%s: ioctl(TIOCGETP): %m", printer);
780X  		exit(1);
781X  	}
782X  	if (BR > 0) {
783X  		for (bp = bauds; bp->baud; bp++)
784X  			if (BR == bp->baud)
785X
786X--- 1289,1295 -----
787X  		syslog(LOG_ERR, "%s: ioctl(TIOCGETP): %m", printer);
788X  		exit(1);
789X  	}
790X+
791X  	if (BR > 0) {
792X  		for (bp = bauds; bp->baud; bp++)
793X  			if (BR == bp->baud)
794X***************
795X*** 1274,1279
796X  			exit(1);
797X  		}
798X  	}
799X  }
800X
801X  /*VARARGS1*/
802X
803X--- 1326,1332 -----
804X  			exit(1);
805X  		}
806X  	}
807X+ #endif
808X  }
809X
810X  /*VARARGS1*/
811X*** lpr/recvjob.c	Thu Jun 30 18:00:27 1988
812X--- newlpr/recvjob.c	Fri Aug 11 15:19:11 1989
813X***************
814X*** 25,30
815X   */
816X
817X  #include "lp.h"
818X  #include <sys/fs.h>
819X
820X  char	*sp = "";
821X
822X--- 25,31 -----
823X   */
824X
825X  #include "lp.h"
826X+ #ifndef	macII
827X  #include <sys/fs.h>
828X  #endif
829X
830X***************
831X*** 26,31
832X
833X  #include "lp.h"
834X  #include <sys/fs.h>
835X
836X  char	*sp = "";
837X  #define ack()	(void) write(1, sp, 1);
838X
839X--- 27,33 -----
840X  #include "lp.h"
841X  #ifndef	macII
842X  #include <sys/fs.h>
843X+ #endif
844X
845X  #ifdef	macII
846X  #define	major(x) (x >> 8 & 255)
847X***************
848X*** 27,32
849X  #include "lp.h"
850X  #include <sys/fs.h>
851X
852X  char	*sp = "";
853X  #define ack()	(void) write(1, sp, 1);
854X
855X
856X--- 29,39 -----
857X  #include <sys/fs.h>
858X  #endif
859X
860X+ #ifdef	macII
861X+ #define	major(x) (x >> 8 & 255)
862X+ #define	minor(x) (x & 255)
863X+ #endif
864X+
865X  char	*sp = "";
866X  #define ack()	(void) write(1, sp, 1);
867X
868X***************
869X*** 262,267
870X  	struct stat stb;
871X  	register char *ddev;
872X  	int spacefree;
873X  	struct fs fs;
874X
875X  	if (dfd < 0 || lseek(dfd, (long)(SBOFF), 0) < 0)
876X
877X--- 269,275 -----
878X  	struct stat stb;
879X  	register char *ddev;
880X  	int spacefree;
881X+ #ifndef	macII
882X  	struct fs fs;
883X
884X  	if (dfd < 0 || lseek(dfd, (long)(SBOFF), 0) < 0)
885X***************
886X*** 272,277
887X  	size = (size + 1023) / 1024;
888X  	if (minfree + size > spacefree)
889X  		return(0);
890X  	return(1);
891X  }
892X
893X
894X--- 280,286 -----
895X  	size = (size + 1023) / 1024;
896X  	if (minfree + size > spacefree)
897X  		return(0);
898X+ #endif
899X  	return(1);
900X  }
901X
902X***************
903X*** 317,319
904X  	putchar('\1');		/* return error code */
905X  	exit(1);
906X  }
907X
908X--- 326,401 -----
909X  	putchar('\1');		/* return error code */
910X  	exit(1);
911X  }
912X+
913X+ #ifdef	macII
914X+
915X+ #define MAXHOSTNAMELEN 128
916X+
917X+ _validuser(hostf, rhost, luser, ruser, baselen)
918X+ char *rhost, *luser, *ruser;
919X+ FILE *hostf;
920X+ int baselen;
921X+ {
922X+ 	char *user;
923X+ 	char ahost[MAXHOSTNAMELEN];
924X+ 	register char *p;
925X+
926X+ 	while (fgets(ahost, sizeof (ahost), hostf)) {
927X+ 		p = ahost;
928X+ 		while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') {
929X+ 			*p = isupper(*p) ? tolower(*p) : *p;
930X+ 			p++;
931X+ 		}
932X+ 		if (*p == ' ' || *p == '\t') {
933X+ 			*p++ = '\0';
934X+ 			while (*p == ' ' || *p == '\t')
935X+ 				p++;
936X+ 			user = p;
937X+ 			while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0')
938X+ 				p++;
939X+ 		} else
940X+ 			user = p;
941X+ 		*p = '\0';
942X+ 		if (_checkhost(rhost, ahost, baselen) &&
943X+ 		    !strcmp(ruser, *user ? user : luser)) {
944X+ 			return (0);
945X+ 		}
946X+ 	}
947X+ 	return (-1);
948X+ }
949X+
950X+ _checkhost(rhost, lhost, len)
951X+ char *rhost, *lhost;
952X+ int len;
953X+ {
954X+ 	static char ldomain[MAXHOSTNAMELEN + 1];
955X+ 	static char *domainp = NULL;
956X+ 	register char *cp;
957X+
958X+ 	if (len == -1)
959X+ 		return(!strcmp(rhost, lhost));
960X+ 	if (strncmp(rhost, lhost, len))
961X+ 		return(0);
962X+ 	if (!strcmp(rhost, lhost))
963X+ 		return(1);
964X+ 	if (*(lhost + len) != '\0')
965X+ 		return(0);
966X+ 	if (!domainp) {
967X+ 		if (gethostname(ldomain, sizeof(ldomain)) == -1) {
968X+ 			domainp = (char *)1;
969X+ 			return(0);
970X+ 		}
971X+ 		ldomain[MAXHOSTNAMELEN] = NULL;
972X+ 		if ((domainp = index(ldomain, '.') + 1) == (char *)1)
973X+ 			return(0);
974X+ 		cp = domainp;
975X+ 		while (*cp) {
976X+ 			*cp = isupper(*cp) ? tolower(*cp) : *cp;
977X+ 			cp++;
978X+ 		}
979X+ 	}
980X+ 	if (domainp == (char *)1)
981X+ 		return(0);
982X+ 	return(!strcmp(domainp, rhost + len +1));
983X+ }
984X+ #endif macII
985END_OF_FILE
986if test 28134 -ne `wc -c <'lpr.diff'`; then
987    echo shar: \"'lpr.diff'\" unpacked with wrong size!
988fi
989# end of 'lpr.diff'
990fi
991if test -f 'aux.printcap' -a "${1}" != "-c" ; then
992  echo shar: Will not clobber existing file \"'aux.printcap'\"
993else
994echo shar: Extracting \"'aux.printcap'\" \(1353 characters\)
995sed "s/^X//" >'aux.printcap' <<'END_OF_FILE'
996X#
997X# Copyright (c) 1983 Regents of the University of California.
998X# All rights reserved.
999X#
1000X# Redistribution and use in source and binary forms are permitted
1001X# provided that this notice is preserved and that due credit is given
1002X# to the University of California at Berkeley. The name of the University
1003X# may not be used to endorse or promote products derived from this
1004X# software without specific prior written permission. This software
1005X# is provided ``as is'' without express or implied warranty.
1006X#
1007X#	@(#)etc.printcap	5.2 (Berkeley) 5/5/88
1008X#
1009X# DecWriter over a tty line.
1010X#lp|ap|arpa|ucbarpa|LA-180 DecWriter III:\
1011X#	:br#1200:cs#04260:cc#03500:os#05:oc#0177772:is#012541:ic#0472:
1012X#	:tr=\f:of=/usr/local/lib/lpf:lf=/usr/adm/lpd-errs:
1013X# typical remote printer entry
1014X#ucbvax|vax|vx|ucbvax line printer:\
1015X#	:lp=:rm=ucbvax:sd=/usr/spool/vaxlpd:lf=/usr/adm/lpd-errs:
1016X#
1017Xlp|Printronix P-300 in coffee room:\
1018X	:lp=:rp=lp:rm=salt:sd=/usr/spool/remote/lp:lf=/usr/adm/lpd-errs:
1019Xmac2|ps|PostScript|PostScript|LaserWriter in Engineering:\
1020X	:lp=:rp=mac2:rm=salt:sd=/usr/spool/remote/mac2:lf=/usr/adm/lpd-errs:
1021Xmac5|ps|PostScript|PostScript|LaserWriter in Personnel:\
1022X	:lp=:rp=mac5:rm=salt:sd=/usr/spool/remote/mac5:lf=/usr/adm/lpd-errs:
1023Xmac7|ps|PostScript|PostScript|LaserWriter in Customer Service:\
1024X	:lp=:rp=mac7:rm=salt:sd=/usr/spool/remote/mac7:lf=/usr/adm/lpd-errs:
1025END_OF_FILE
1026if test 1353 -ne `wc -c <'aux.printcap'`; then
1027    echo shar: \"'aux.printcap'\" unpacked with wrong size!
1028fi
1029# end of 'aux.printcap'
1030fi
1031echo shar: End of shell archive.
1032exit 0
1033
1034