plan9fox/sys/lib/lp/spooler/mhcc

52 lines
1.7 KiB
Bash
Executable file

#!/bin/rc
# send PostScript jobs to the spooler in the MHCC
# Request is made for bin and account numbers for each file (for typing pool).
if (! ~ $DEBUG '') flag x +
FONTLIST=lw+
if (test -r /sys/lib/postscript/font/$LPDEST) FONTLIST=$LPDEST
switch ($LPCLASS) {
case *duplex*; DUPLEX=-s2
case ''; DUPLEX=''
}
HOLE=''
STAPLE='-KSTAPLES\ n'
TRAY=''
if (~ $IBIN vg view viewgr*;) $VGS=-fvg
if (~ $IBIN *hole*) HOLE=-fhole
if (~ $IBIN *staple*) STAPLE=''
if (~ $IBIN *simplex*) DUPLEX=''
if (~ $IBIN *11x17* *ledger*) TRAY='-KTRAY\ 11x17tray'
if (~ $LAND '' -pport) LAND=-pport
if not LAND=-pland
i=0
if (~ $#* 0) *=''
for (j) {
i=`{echo $i + 1 | hoc}
# check access to the file so that you know that a failure in the
# processing is a drastic error which will cause an exit from lp.
if (~ $j '' || test -f $j) {
while (~ $#ACCOUNT 0 || ~ $ACCOUNT '' *0000) {
echo -n 'account=' >/dev/cons
ACCOUNT = (`{read</dev/cons})
}
while (~ $#BIN 0 || ~ $BIN '' *000) {
echo -n 'bin=' >/dev/cons
BIN = (`{read</dev/cons})
}
switch ($j) {
case ''; @{ bind -b $LPLIB/process /bin; $LPPROC } |
/sys/lib/postscript/bin/$cputype/download -f -H/sys/lib/postscript/font -mfontmap -p$FONTLIST |
{echo -K'ACCTNUM\ '$ACCOUNT -K'BIN\ '$BIN -d$LPDEST -c$COPIES -lpostscript $VGS $HOLE $STAPLE $DUPLEX $LAND $TRAY -u$LPUSERID -j$LPMACHID$pid.$i
cat} | lpsend.rc $DEST_HOST
case *; @{ bind -b $LPLIB/process /bin; $LPPROC } < $j |
/sys/lib/postscript/bin/$cputype/download -f -H/sys/lib/postscript/font -mfontmap -p$FONTLIST |
{echo -K'ACCTNUM\ '$ACCOUNT -K'BIN\ '$BIN -d$LPDEST -c$COPIES -lpostscript $VGS $HOLE $STAPLE $DUPLEX $LAND $TRAY -u$LPUSERID -j$LPMACHID$pid.$i
cat $j} | lpsend.rc $DEST_HOST
}
}
}