|
|
1.1 root 1: /*
2: * #!/bin/sh
3: * #
4: * # prt substitute - seems to work, but you have a bit more to do. My
5: * # previous mail about the header (I deleted it) should describe other
6: * # interesting header fields.
7: * # usage: prt [-B] [-b bin] [-c copies] [-d dest] [-f form] [-h] [-j jobname]
8: * # [-K "KEYWORD value"] [-l language] [-m] [-o "filter options"]
9: * # [-p printmode] [-q] [-s sides] [-u userid] [-z] [-] [filename]
10:
11: *
12: * TMPFILE=/tmp/prt.$$
13: * SYSTEM=mhuxo
14: * REQUESTQ=/usr/add-on/unison/requestq
15: *
16: * CMDUSED=`basename $0`
17: * CMDVERNUM=3.1
18: * TCMDISSUED=910619105115 # `date -s`
19: * ACCTNUM=mh0000 # need something here.
20: * BIN=m100
21: * COPIES=1
22: * DEPARTMENT=11211
23: * DESTINATION=mh/kodak
24: * FORM=ANY
25: * MODE=ANY
26: * LANGUAGE=postscript
27: * ORIGSYS=`hostname`
28: * SIDES=1
29: * USERSYS=`hostname`
30: * USERID=`set \`who am i 2>/dev/null\`;echo $1`
31: * USERNAME=$USERID
32: * CMDLINE=$0
33: *
34: * trap "rm -f $TMPFILE $TMPFILE.in" 0 1 2 3 15
35: *
36: * MakeID() {
37: * #
38: * # Think normal prt id's are 4 characters followed by at most 8
39: * # chars of the system name - all apparently uncensored.
40: * #
41: * awk 'BEGIN{printf("%.4x%.8s", '$$', "'$USERSYS'")}' </dev/null
42: * # echo 7r4tsirius
43: * }
44: *
45: * Send() {
46: * cat $1 > $TMPFILE.in
47: * TOTALBYTES=`cat $TMPFILE.in | wc -c`
48: * REQID=`MakeID`
49: * case "$1" in
50: * -) FILENAME=stdin;;
51: * *) FILENAME=$1;;
52: * esac
53: *
54: * cat >$TMPFILE <<//EndHeader
55: * @BYTECOUNT 0000000000
56: * @DATA HEADER BEGIN
57: * REQID $REQID
58: * CMDUSED $CMDUSED
59: * CMDVERNUM $CMDVERNUM
60: * TCMDISSUED $TCMDISSUED
61: * ACCTNUM $ACCTNUM
62: * BIN $BIN
63: * COPIES $COPIES
64: * DEPARTMENT $DEPARTMENT
65: * DEST ${DEST:-mh}
66: * DEVICE $DEVICE
67: * DEVICEGROUP $DEVICEGROUP
68: * FILENAME $FILENAME
69: * FILTER
70: * FILTEROPTS
71: * FORM $FORM
72: * RGRADE s
73: * JOBNAME
74: * $KOPTS
75: * LANGUAGE $LANGUAGE
76: * MAIL y
77: * MODE $MODE
78: * ORIGSYS $ORIGSYS
79: * SIDES $SIDES
80: * TOTALBYTES $TOTALBYTES
81: * USERDATA y
82: * USERSSYS $USERSYS
83: * USERID $USERID
84: * USERNAME $USERNAME
85: * CMDLINE $CMDUSED -m -d$DESTINATION -l$LANGUAGE
86: * @DATA HEADER END
87: * //EndHeader
88: *
89: * cat $TMPFILE.in >>$TMPFILE
90: * ed $TMPFILE >/dev/null <<//EndEdit
91: * /^@BYTECOUNT 00*$/s/00*/`ls -log $TMPFILE|awk '{printf("%10d\n", $5)}'`/
92: * w
93: * q
94: * //EndEdit
95: * chmod ugo+r $TMPFILE # probably unnecessary on your systems
96: * uucp -C $TMPFILE $SYSTEM!$REQUESTQ/$REQID
97: * echo request id $REQID on $SYSTEM
98: * }
99: *
100: * for i in "$@"
101: * do
102: * case "$i" in
103: * -a*) ACCTNUM=`echo $i | sed s/-a//`;;
104: * -b*) BIN=`echo $i | sed s/-b//`;;
105: * -c*) COPIES=`echo $i | sed s/-c//`;;
106: * -d*) DESTINATION=`echo $i | sed s/-d//`;;
107: * -f*) FORM=`echo $i | sed s/-f//`;;
108: * -K*) case "$KOPTS" in
109: * "") KOPTS=`eval echo $i | sed s/-K//`;;
110: * *) KOPTS="$KOPTS
111: * `echo $i | sed s/-K//`";;
112: * esac;;
113: * -l*) LANGUAGE=`echo $i | sed s/-l//`;;
114: * -s*) SIDES=`echo $i | sed s/-s//`;;
115: * -u*) USERNAME=`echo $i | sed s/-u//`;;
116: * -p*) MODE=`echo $i | sed s/-p//`;;
117: * --) shift; break;;
118: * -*) echo "$0: bad option $i"; exit 1;;
119: * *) break;;
120: * esac
121: * shift
122: * done
123: *
124: * DEST=`echo $DESTINATION | sed -n 's/\/.*//p'`
125: * DEST=${DEST:-mh}
126: * DEVICE=`basename $DESTINATION`
127: * DEVICEGROUP=$DEVICE
128: *
129: * for i in ${*:--}
130: * do
131: * Send $i
132: * done
133: */
134:
135: main(int argc, char *argv[]) {
136:
137: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.