|
|
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.