Initial lp.
This commit is contained in:
parent
9f1d53a09b
commit
6174642093
30 changed files with 1528 additions and 0 deletions
48
lp/spooler/generic
Executable file
48
lp/spooler/generic
Executable file
|
|
@ -0,0 +1,48 @@
|
|||
#!/usr/local/plan9/bin/rc
|
||||
# fn sigexit { rm -f $LPSPOOL/$LPDEST/.$pid.* $LPSPOOL/$LPDEST/$pid.* $LPSPOOL/$LPDEST }
|
||||
if (! ~ $DEBUG '') flag x +
|
||||
|
||||
echo $THIS_HOST $DEST_HOST
|
||||
if (~ $THIS_HOST $DEST_HOST) {
|
||||
if (! test -d $LPSPOOL/$LPDEST) {
|
||||
mkdir $LPSPOOL/$LPDEST
|
||||
chmod 777 $LPSPOOL/$LPDEST >[2]/dev/null
|
||||
chmod +t $LPSPOOL/$LPDEST >[2]/dev/null
|
||||
}
|
||||
}
|
||||
# Process and enqueue files to be printed
|
||||
# take arguments as input files
|
||||
i=0
|
||||
if (~ $#* 0) *=''
|
||||
for (j in $*) {
|
||||
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) {
|
||||
if (~ $THIS_HOST $DEST_HOST) {
|
||||
echo $LPMACHID $LPUSERID $pid.$i 0 > $LPSPOOL/$LPDEST/.$pid.$i^id
|
||||
lpinput $j lpsub process $LPPROC >$LPSPOOL/$LPDEST/.$pid.$i
|
||||
if (~ $status '') {
|
||||
mv $LPSPOOL/$LPDEST/.$pid.$i $LPSPOOL/$LPDEST/$pid.$i
|
||||
mv $LPSPOOL/$LPDEST/.$pid.$i^id $LPSPOOL/$LPDEST/$pid.$i^id
|
||||
}
|
||||
if not {
|
||||
rval='preprocessing failed'
|
||||
rm -f $LPSPOOL/$LPDEST/.$pid.$i $LPSPOOL/queue/$LPDEST/.$pid.$i^id
|
||||
exit $rval
|
||||
}
|
||||
}
|
||||
if not {
|
||||
{
|
||||
echo -d^$LPDEST -pnoproc -M^$LPMACHID -u^$LPUSERID
|
||||
lpinput $j lpsub process $LPPROC
|
||||
} | lpsend.rc $DEST_HOST
|
||||
rval=$status
|
||||
}
|
||||
}
|
||||
if not {
|
||||
echo $j cannot be opened >[1=2]
|
||||
}
|
||||
}
|
||||
15
lp/spooler/lpdspool
Executable file
15
lp/spooler/lpdspool
Executable file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/local/plan9/bin/rc
|
||||
|
||||
if (! ~ $DEBUG '') flag x +
|
||||
|
||||
if (~ $#* 0) *=''
|
||||
|
||||
for (j in $*) {
|
||||
if (~ $j '' || test -f $j) {
|
||||
lpinput $j lpsub process $LPPROC |
|
||||
lpdsend -d$OUTDEV -tf -H$LPMACHID -P$LPUSERID $DEST_HOST >[2]$LPLOGDIR/$LPDEST^.st
|
||||
}
|
||||
if not {
|
||||
echo $j cannot be opened >[1=2]
|
||||
}
|
||||
}
|
||||
21
lp/spooler/nospool
Executable file
21
lp/spooler/nospool
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/local/plan9/bin/rc
|
||||
if (! ~ $DEBUG '') flag x +
|
||||
|
||||
if (~ $LPCLASS *sendEOT*) SENDEOT=1
|
||||
if not SENDEOT=0
|
||||
|
||||
if (~ $OUTDEV -) OUTDEV=/dev/stdout
|
||||
if (~ $#* 0) {
|
||||
if (! ~ $DEBUG '') echo input file is stdin >[1=2]
|
||||
lpsub process $LPPROC >$OUTDEV
|
||||
if (~ $SENDEOT 1) echo -n `{ascii -t 4} > $OUTDEV
|
||||
}
|
||||
if not {
|
||||
if (! ~ $DEBUG '') echo input files $* >[1=2]
|
||||
for (i in $*) {
|
||||
if (! ~ $DEBUG '') echo processing $i >[1=2]
|
||||
lpsub process $LPPROC < $i > $OUTDEV
|
||||
if (~ $SENDEOT 1) echo -n `{ascii -t 4} > $OUTDEV
|
||||
}
|
||||
}
|
||||
exit ''
|
||||
Loading…
Add table
Add a link
Reference in a new issue