summaryrefslogtreecommitdiff
path: root/sys/lib/lp/spooler
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 16:53:33 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 16:53:33 +0300
commite463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (patch)
treed5e9f57c28f026cb21de3bd77cc10cd7f64aaa85 /sys/lib/lp/spooler
parentb41b9034225ab3e49980d9de55c141011b6383b0 (diff)
Import sources from 2011-03-30 iso image - sys/lib
Diffstat (limited to 'sys/lib/lp/spooler')
-rwxr-xr-xsys/lib/lp/spooler/generic47
-rwxr-xr-xsys/lib/lp/spooler/lpdspool14
-rwxr-xr-xsys/lib/lp/spooler/lpdspool+fonts16
-rwxr-xr-xsys/lib/lp/spooler/mhcc52
-rwxr-xr-xsys/lib/lp/spooler/nospool21
-rwxr-xr-xsys/lib/lp/spooler/nt14
-rwxr-xr-xsys/lib/lp/spooler/nt-tekphaser35014
-rwxr-xr-xsys/lib/lp/spooler/pcclone14
-rwxr-xr-xsys/lib/lp/spooler/pcclone.new22
-rwxr-xr-xsys/lib/lp/spooler/ps63030
10 files changed, 244 insertions, 0 deletions
diff --git a/sys/lib/lp/spooler/generic b/sys/lib/lp/spooler/generic
new file mode 100755
index 000000000..d6487f7de
--- /dev/null
+++ b/sys/lib/lp/spooler/generic
@@ -0,0 +1,47 @@
+#!/bin/rc
+# fn sigexit { rm -f $LPSPOOL/$LPDEST/.$pid.* $LPSPOOL/$LPDEST/$pid.* $LPSPOOL/$LPDEST }
+if (! ~ $DEBUG '') flag x +
+
+if (~ $THIS_HOST $DEST_HOST) {
+ if (! test -d $LPSPOOL/$LPDEST) {
+ mkdir $LPSPOOL/$LPDEST
+ chmod 777 $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
+ if (~ $j '') @{bind -b $LPLIB/process /bin; $LPPROC} >$LPSPOOL/$LPDEST/.$pid.$i
+ if not @{bind -b $LPLIB/process /bin; $LPPROC} <$j >$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 {
+ switch ($j) {
+ case ''; @{ {echo -d^$LPDEST -pnoproc -M^$LPMACHID -u^$LPUSERID; bind -b $LPLIB/process /bin; $LPPROC} | lpsend.rc $DEST_HOST}
+ case *; @{ {echo -d^$LPDEST -pnoproc -M^$LPMACHID -u^$LPUSERID; bind -b $LPLIB/process /bin; $LPPROC} < $j | lpsend.rc $DEST_HOST}
+ }
+ rval=$status
+ }
+ }
+ if not {
+ echo $j cannot be opened >[1=2]
+ }
+}
diff --git a/sys/lib/lp/spooler/lpdspool b/sys/lib/lp/spooler/lpdspool
new file mode 100755
index 000000000..cf8ad8c89
--- /dev/null
+++ b/sys/lib/lp/spooler/lpdspool
@@ -0,0 +1,14 @@
+#!/bin/rc
+
+if (! ~ $DEBUG '') flag x +
+
+if (~ $#* 0) *='/fd/0'
+
+for (j in $*) {
+ if (~ $j '/fd/0' || test -f $j) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $j | /$cputype/bin/aux/lpdsend -d$OUTDEV -tf -H$LPMACHID -P$LPUSERID $DEST_HOST >[2]$LPLOGDIR/$LPDEST^.st
+ }
+ if not {
+ echo $j cannot be opened >[1=2]
+ }
+}
diff --git a/sys/lib/lp/spooler/lpdspool+fonts b/sys/lib/lp/spooler/lpdspool+fonts
new file mode 100755
index 000000000..a10a5824c
--- /dev/null
+++ b/sys/lib/lp/spooler/lpdspool+fonts
@@ -0,0 +1,16 @@
+#!/bin/rc
+
+if (! ~ $DEBUG '') flag x +
+
+if (~ $#* 0) *='/fd/0'
+
+for (j in $*) {
+ if (~ $j '/fd/0' || test -f $j) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $j |
+ aux/download -f -H/sys/lib/postscript/font -mfontmap -plw+ |
+ /$cputype/bin/aux/lpdsend -d$OUTDEV -tf -H$LPMACHID -P$LPUSERID $DEST_HOST >[2]$LPLOGDIR/$LPDEST^.st
+ }
+ if not {
+ echo $j cannot be opened >[1=2]
+ }
+}
diff --git a/sys/lib/lp/spooler/mhcc b/sys/lib/lp/spooler/mhcc
new file mode 100755
index 000000000..6f68709af
--- /dev/null
+++ b/sys/lib/lp/spooler/mhcc
@@ -0,0 +1,52 @@
+#!/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
+ }
+ }
+}
diff --git a/sys/lib/lp/spooler/nospool b/sys/lib/lp/spooler/nospool
new file mode 100755
index 000000000..820e474e9
--- /dev/null
+++ b/sys/lib/lp/spooler/nospool
@@ -0,0 +1,21 @@
+#!/bin/rc
+if (! ~ $DEBUG '') flag x +
+
+if (~ $LPCLASS *sendEOT*) SENDEOT=1
+if not SENDEOT=0
+
+if (~ $OUTDEV -) OUTDEV=/fd/1
+if (~ $#* 0) {
+ if (! ~ $DEBUG '') echo input file is stdin >[1=2]
+ @{bind -b $LPLIB/process /bin; $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]
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $i > $OUTDEV
+ if (~ $SENDEOT 1) echo -n `{ascii -t 4} > $OUTDEV
+ }
+}
+exit ''
diff --git a/sys/lib/lp/spooler/nt b/sys/lib/lp/spooler/nt
new file mode 100755
index 000000000..32ce54485
--- /dev/null
+++ b/sys/lib/lp/spooler/nt
@@ -0,0 +1,14 @@
+#!/bin/rc
+
+if (! ~ $DEBUG '') flag x +
+
+if (~ $#* 0) *='/fd/0'
+
+for (j in $*) {
+ if (~ $j '/fd/0' || test -f $j) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $j | /$cputype/bin/aux/lpdsend -d$OUTDEV -H$LPMACHID -P$LPUSERID $DEST_HOST >[2]$LPLOGDIR/$LPDEST^.st
+ }
+ if not {
+ echo $j cannot be opened >[1=2]
+ }
+}
diff --git a/sys/lib/lp/spooler/nt-tekphaser350 b/sys/lib/lp/spooler/nt-tekphaser350
new file mode 100755
index 000000000..bce4b082d
--- /dev/null
+++ b/sys/lib/lp/spooler/nt-tekphaser350
@@ -0,0 +1,14 @@
+#!/bin/rc
+
+if (! ~ $DEBUG '') flag x +
+
+if (~ $#* 0) *='/fd/0'
+
+for (j in $*) {
+ if (~ $j '/fd/0' || test -f $j) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $j | aux/download -f -H/sys/lib/postscript/font -mfontmap -ptekphaser350 | /$cputype/bin/aux/lpdsend -d$OUTDEV -H$LPMACHID -P$LPUSERID $DEST_HOST >[2]$LPLOGDIR/$LPDEST^.st
+ }
+ if not {
+ echo $j cannot be opened >[1=2]
+ }
+}
diff --git a/sys/lib/lp/spooler/pcclone b/sys/lib/lp/spooler/pcclone
new file mode 100755
index 000000000..888f18ba5
--- /dev/null
+++ b/sys/lib/lp/spooler/pcclone
@@ -0,0 +1,14 @@
+#!/bin/rc
+if (! ~ $DEBUG '') flag x +
+if (~ $OUTDEV -) OUTDEV=/fd/1
+if (~ $#* 0) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} | aux/download -f -H/sys/lib/postscript/font -mfontmap -plw+ > $OUTDEV
+ if (! ~ $LPDEST stdout) echo -n `{ascii -t 4} > $OUTDEV
+}
+if not {
+ for (i in $*) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $i | aux/download -f -H/sys/lib/postscript/font -mfontmap -plw+ > $OUTDEV
+ if (! ~ $LPDEST stdout) echo -n `{ascii -t 4} > $OUTDEV
+ }
+}
+exit ''
diff --git a/sys/lib/lp/spooler/pcclone.new b/sys/lib/lp/spooler/pcclone.new
new file mode 100755
index 000000000..57591ee48
--- /dev/null
+++ b/sys/lib/lp/spooler/pcclone.new
@@ -0,0 +1,22 @@
+#!/bin/rc
+if (! ~ $DEBUG '') flag x +
+if (~ $OUTDEV -) OUTDEV=/fd/1
+
+# make a place for pc's to spool files that is private
+ramfs
+mkdir /tmp/log /tmp/prob /tmp/queue
+bind -b /tmp/log $LPLIB/log
+bind -b /tmp/prob $LPLIB/prob
+bind -b /tmp/queue $LPLIB/queue
+
+if (~ $#* 0) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} | aux/download -f -H/sys/lib/postscript/font -mfontmap -plw+ > $OUTDEV
+ if (! ~ $LPDEST stdout) echo -n `{ascii -t 4} > $OUTDEV
+}
+if not {
+ for (i in $*) {
+ @{bind -b $LPLIB/process /bin; $LPPROC} < $i | aux/download -f -H/sys/lib/postscript/font -mfontmap -plw+ > $OUTDEV
+ if (! ~ $LPDEST stdout) echo -n `{ascii -t 4} > $OUTDEV
+ }
+}
+exit ''
diff --git a/sys/lib/lp/spooler/ps630 b/sys/lib/lp/spooler/ps630
new file mode 100755
index 000000000..7e22d213e
--- /dev/null
+++ b/sys/lib/lp/spooler/ps630
@@ -0,0 +1,30 @@
+#!/bin/rc
+fn sigexit {echo -n '';exit 1}
+# Send output to the printer port on an AT&T 630/730 terminal
+# 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) {
+ switch ($j) {
+ case ''; @{
+ echo -n ''; sleep 1
+ bind -b $LPLIB/process /bin
+ $LPPROC
+ echo -n ''
+ }
+ case *; @{
+ echo -n ''; sleep 1
+ bind -b $LPLIB/process /bin
+ $LPPROC
+ echo -n ''
+ } <$j
+ }
+ }
+}