Annotation of researchv10no/cmd/lp/prtoserva.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.