[comp.archives] [bit.listserv.ibmtcp-l] NETPRINT -- MQDS, LPR support for VM

BRUCE@UMDD.BITNET (Bruce Crabill) (01/09/90)

Archive-name: netprint/release
Original-posting-by: BRUCE@UMDD.BITNET (Bruce Crabill)
Original-subject: NETPRINT
Reposted-by: emv@math.lsa.umich.edu (Edward Vielmetti)

Ho! Ho! Ho! (Ok, so I'm 3 days late).  I've got a Christmas present for the
IBM TCP types.  For the last semester here at UMD, we have been using a
locally written program called NETPRINT for allowing our workstation lab
users to be able to print from our IBMs to their local printers in the labs.
This program supported the MDQS protocol which is what our Unix systems
around here use (MDQS is more general than LPR, but still tends to be very
Unix specific (we have also come up with a new protocol called NDQS which
attempts not to be Unix specific)).  NETPRINT is designed to support several
protocols and I have just finished adding the LPR protocol to it.  Where
possible, options are mapped to the appropriate feature of a given protocol
(but unfortunately, there are lots of features that are specific to a single
protocol and because of this there are a lot of options that are specific to
the protocol being used).  This program is just a print file submitter, it
does not include any server functions (it won't replace Columbia's LPD,
but can submit files to it).  The following file are in the UMDTCP FILELIST
on the LISTSERV on UMDD:

    NETPRINT FAL        - The version of the module to be used under FAL.
                          Rename to NETPRINT MODULE after receiving it.

    NETPRINT MODULE     - The UMDWISC version of the module.  Don't
                          get this file if you are using FAL.

    NETPRINT HELPCMS    - The help file for NETPRINT.

    UNTPRT   PPASCAL    - The packed source file.  After receiving it,
                          do a: 'COPY UNTPRT PPASCAL A UNTPRT PASCAL A
                          (OLDDATE UNPACK'.

    SYSPRT   NAMES      - The system printer definition file.  This is
                          a sample version, the installation will need
                          to customize it with their own printer
                          descriptions.

The LPR stuff is new and we don't use LPR/LPD at UMD.  I have tested it out
as best as I can, but I am willing to try to fix any problems that exist.
The program as a whole as been used all semester without any problems.
The following is the contents of the NETPRINT HELPCMS file so you can get
an idea of what it can do:

.cs 0 on

The NETPRINT command lets you print a file to a network attached
printer.

FORMAT:  NETPRINT <printer> <filename> <filetype> (<options>

EXAMPLE: You have a file called SAMPLE LISTING that you would like
         to print on the laserwriter in the workstation lab in the
         Computer Science Center.  To do so, enter:

                  NETPRINT CSCWAM-LPL SAMPLE LISTING

.cs 0 off
.cs 1 on

NETPRINT

Use the NETPRINT command to print a CMS file on a network attached
printer.
.cs 1 off
.cs 2 on

The format of the NETPRINT command is:

+----------+-----------------------------------------------------+
|          | +-             -+                                   |
| NETPRINT | | <prtid>       | <fn> <ft> [ <fm>|* ]              |
|          | | <addr>:<name> |                                   |
|          | +-             -+                                   |
|          |                                                     |
|          | [ ( [ ASCII ]                                       |
|          |     [ Attribute <name> <value> ]                    |
|          |     [ ATTRIBUTEAppend <name> <value> ]              |
|          |     [ ATTRIBUTECase ]                               |
|          |     [ BAnner <value> ]                              |
|          |     [ BANNERCase ]                                  |
|          |     [ Binary | NOBinary ]                           |
|          |     [ BUffsize <n> ]                                |
|          |     [ CC | NOCC ]                                   |
|          |     [ CLass <value> ]                               |
|          |     [ CLASSCase ]                                   |
|          |     [ Copies <n> ]                                  |
|          |     [ DEVCase ]                                     |
|          |     [ FONT1 <name> ]                                |
|          |     [ FONT2 <name> ]                                |
|          |     [ FONT3 <name> ]                                |
|          |     [ FONT4 <name> ]                                |
|          |     [ FONTCase ]                                    |
|          |     [ Format <value> ]                              |
|          |     [ FORMATCase ]                                  |
|          |     [ FORMS <name> ]                                |
|          |     [ FORMSCase ]                                   |
|          |     [ Host <addr> ]                                 |
|          |     [ Indent <n> ]                                  |
|          |     [ Length <n> ]                                  |
|          |     [ LInecount <n> ]                               |
|          |     [ Mail ]                                        |
|          |     [ MAILAddr <mailaddr> ]                         |
|          |     [ MOde <value> ]                                |
|          |     [ MODECase ]                                    |
|          |     [ NOFF ]                                        |
|          |     [ NOHeader ]                                    |
|          |     [ NOINdent ]                                    |
|          |     [ NOTRim ]                                      |
|          |     [ NUMber ]                                      |
|          |     [ PASsword <pwd> ]                              |
|          |     [ Port <n>|<name> ]                             |
|          |     [ PRINTDate <date> ]                            |
|          |     [ PRINTIndent <n> ]                             |
|          |     [ PRINTTime <time> ]                            |
|          |     [ PRIority <n> ]                                |
|          |     [ TIMeout <n> ]                                 |
|          |     [ TItle <title> ]                               |
|          |     [ TITLECase ]                                   |
|          |     [ TRC | NOTRC ]                                 |
|          |     [ TYpe <type> ]                                 |
|          |     [ Verbose ]                                     |
|          |     [ Width <n> ]                                   |
|          |     [ Xarg <value> ]                                |
|          |     [ XARGAppend <value> ]                          |
|          |     [ XARGCase ]]                                   |
|          |                                                     |
+----------+-----------------------------------------------------+

.cs 2 off
.cs 3 on
Where:

<prtid>
     The nickname of a printer definition entry in one of the printer
     NAMES files.  The SYSPRT NAMES file contains the standard printer
     definitions.  The user may also define a USRPRT NAMES file that
     contains their personal definitions.  These NAMES files contain
     various parameters for each printer defined.  Most of these
     parameters correspond to options.  If the option is also given,
     then the option will override the parameter in the NAMES file.
     The format of these files is defined in the usage notes below.

<addr>:<name>
     The Internet address (in dotted decimal notation) of the server
     and the queue name on that server for the desired printer.  The
     TYPE option must also be specified to give the protocol to be
     used to send the print file.

<fn> <ft> <fm>
     The fileid of the file to be printed.  If the filemode is not
     specified, '*' is used.

.cs 3 off
.cs 4 on

Options:

ASCII
     The given file contains ASCII text.  No translation is needed.
     This option may not be used with the BINARY, CC, or TRC options.
     This option differs from the BINARY option in that although the
     data may be ASCII, its record structure is defined by the CMS file
     containing the data.  The data would not normally contain control
     characters.

ATTRIBUTE <name> <value>
     Set the specified attribute to the given value.  Attributes are
     used to supply various kinds of parameters to the queueing
     subsystem and to the device drivers to control how a file is
     printed.  Multiple ATTRIBUTE options may be given.  If the value
     contains spaces or parentheses, then it should be enclosed in
     quotes.  If any attributes are present in the printer's entry in
     the NAMES file (if using the nickname form), then the ones
     specified on the ATTRIBUTE option will override and replace those.
     Use the ATTRIBUTEAPPEND option to combine the two.

ATTRIBUTEAPPEND <name> <value>
     Like the ATTRIBUTE option, except that if attributes are present in
     the printer's entry in the NAMES file, then there will be appended
     to those rather than replacing them.

ATTRIBUTECASE
     An option that indicates that attribute names and values provided
     on the ATTRIBUTE or ATTRIBUTEAPPEND options or from the printer's
     entry in the NAMES file should not be forced to lowercase.  They
     should be used as entered.

BANNER <value>
     The user identifier that is printed on the header page.  Some
     implementations ignore this value and use the MAILADDR value
     instead.  If the value contains spaces or parentheses, then it
     should be given in quotes.  This option is only valid for NDQS
     type printers.

BANNERCASE
     An option that indicates that the banner text provided on the
     BANNER option should not be forced to uppercase.  The banner text
     should be used as entered.

BINARY
     The input file contains binary data.  The file is not translated
     from EBCDIC to ASCII, nor is any formatting done to the data.
     This option is assumed if the filetype is DVI or LISTBIN.

NOBINARY
     An option to prevent the data from being treated as binary data.

BUFFSIZE <n>
     The size of the buffer (in bytes) that is used to hold the data
     when sending to a NDQS printer.  This is the amount of data that
     may be send before waiting for a response, so a large value will
     allow for more effective network utilization and transmission
     speed.  The default is to allocate a buffer whose length is half
     the remaining available free memory.  The actual value may be
     limited by the amount of data the remote server will support.

CC
     An option that causes the first character of each record to be
     interpreted as an Carriage Control character.  The following ANSI
     CC characters are supported: '1', '+', ' ', '0', and '-', as well
     as the machine CC equivalents of these.  Any other character is
     treated as if it were a blank.  This option is assumed if the
     filetype is LISTING, LIST3800, or LISTCPDS.

NOCC
     An option to prevent the first column of each record from being
     interpreted as an ANSI Carriage Control character.

CLASS <value>
     The job classification value to be printed on the header page.
     The default is to use the submitter's host name.  If the value
     contains spaces or parentheses, then it should be enclosed in
     quotes.  This option is only valid for LPR type printers.

CLASSCASE
     An option that indicates that the classification text provided
     on the CLASS option should not be forced to uppercase.  The
     classification text should be used as entered.  This option is
     only valid for LPR type printers.

COPIES <n>
     Print <n> copies of the given file.  Values between 1 and 999 are
     accepted, the remote server may limit the user to less.

DEVCASE
     An option that indicates that the printer's name is not to be
     forced to lowercase.  Unix systems are case sensitive and usually
     have their printer names in lowercase.  By default, this program
     will translate all printer names to lowercase.  This option
     disables this and allows the printer's name to be used as is.

FONT1 <name>
     The name of the R font for the TROFF, DITROFF, or DVI filters.
     This font must exist on the remote system.  This option is only
     valid for LPR type printers.

FONT2 <name>
     The name of the I font for the TROFF, DITROFF, or DVI filters.
     This font must exist on the remote system.  This option is only
     valid for LPR type printers.

FONT3 <name>
     The name of the B font for the TROFF, DITROFF, or DVI filters.
     This font must exist on the remote system.  This option is only
     valid for LPR type printers.

FONT4 <name>
     The name of the S font for the TROFF, DITROFF, or DVI filters.
     This font must exist on the remote system.  This option is only
     valid for LPR type printers.

FONTCASE
     An option that indicates that the values provided on the FONT1
     thru FONT4 options or from the printer's entry in the NAMES file
     should not be forced to lowercase.  The names should be used as
     entered.  This option is only valid for LPR type printers.

FORMAT <value>
     The type of file being submitted.  For example: POSTSCRIPT or
     TEXT.  Used to indicate to the device driver any special
     preprocessing that needs to be done.  For LPR, the value must be
     one of the following values which specify specific filters to
     preprocess the data:

     TEXT, print the file after applying the normal text filter
        on the data.  Control characters (other than the normal
        print positioning ones like LF, CR, FF, BS, etc.) are
        removed.

     TEXTCTL, print the file after applying the normal text
        filter on the data.  Like the TEXT format, except that
        control characters are left intact.

     TEXTPR, print the file by feeding it thru the 'pr' command.

     FORTRAN, print the file after applying the FORTRAN carriage
        control filter on the data.

     TROFF, print the file after applying the TROFF filter on the
        data.

     DITROFF, print the file after applying the DITROFF filter
        on the data.

     DVI, print the file after applying the DVI filter on the
        data.

     PLOT, print the file after applying the PLOT filter on
        the data.

     RASTER, print the file after applying the simple raster
        filter on the data.

     CIFPLOT, print the file after applying the CIFPLOT filter
        on the data.

     PASSTHRU, print the file after applying the passthru filter
        on the data.  This filter allows the data to be sent to
        the printer unchanged.

     This option is only valid for LPR or NDQS type printers.

FORMATCASE
     An option that indicates that the value provided on the FORMAT
     option or from the printer's entry in the NAMES file should not
     be forced to lowercase.  The value should be used as entered.

FORMS <name>
     Print the output on the given type of forms.  This option is only
     valid for MDQS and NDQS printers and the valid form names are
     defined by the MDQS or NDQS server you are using.  The default is
     'white'.  If the form name is also given on the printer's entry in
     the NAMES file, then this option will override that value.

FORMSCASE
     An option that indicates that the form name provided on the FORMS
     option or from the printer's entry in the NAMES file should not
     be forced to lowercase.  The form name should be used as entered.

HOST <addr>
     Override the Internet address that was specified on the :node tag
     in the NAMES file and use the provided address instead.

INDENT <n>
     Indent each line by the given amount before printing it.  If this
     value is negative, then this many characters will be deleted from
     the beginning of each line of data.  This option has no connection
     to the NOINDENT option.

LENGTH <n>
     The number of lines to be printed on each page of output.  This
     option is only valid for LPR type printers.

LINECOUNT <n>
     Used with the NUMBER option to specify the number of user data
     lines that are to be printed on each page.  This does not include
     the 3 line page heading that each page start with.  The default
     value is 55.

MAIL
     Request that the server that prints the file send the user mail
     when it has completed printing the file.

MAILADDR <mailaddr>
     The mail address of the user to receive any advisories or print
     job completion messages that the server may send.  This option is
     only valid for MDQS and NDQS printers.  The default is the local
     user.  The mail address should be given in the form
     '<userid>@<node>.<domain>'.

MODE <value>
     The representation format of the submitted file when it is received
     by the remote server.  For example: NETASCII, BINARY, or EBCDIC.
     This option is only valid for NDQS type printers.

MODECASE
     An option that indicates that the value provided on the MODE option
     or from the printer's entry in the NAMES file should not be forced
     to lowercase.  The value should be used as entered.

NOFF
     Do not insert FF characters between copies of the file to be
     printed.  This option is only valid for MDQS and NDQS printers.

NOHEADER
     Don't print the header page that normally precedes the user's data
     when it is printed.  This is useful where the printer is normally
     just used by a single person and the header pages are just a waste
     of paper.  For multiuser printers, headers should be generated so
     that users can determine which output belongs to whom.  This option
     is only valid for LPR printers.

NOINDENT
     Prevent the printer device driver from automatically indenting
     the output on the page.  Most printers don't seem to do this, but
     the option exists in case you find one that does.  This option is
     only valid for MDQS and NDQS printers.

NOTRIM
     Don't strip any trailing blanks from the data records before
     printing them.

NUMBER
     The file is to be printed with line numbers and page headings in
     the same format as produced by the PRTNUM program.  This option
     may not be used with the BINARY, CC, or TRC options.

PASSWORD <pwd>
     This option permits the user to specify a password that will allow
     the user to modify attributes or to delete the file at a later
     time.  This option is only valid for NDQS printers.  It is
     recommended that this password not be the same as the user's logon
     password.  If the password contains spaces or parentheses, then it
     should be given in quotes.

PORT <n>|<name>
     The TCP port number to be used when connecting to the remote
     server.  Either a decimal number or the port name may be given.
     The default is to use the port normally associated with the printer
     protocol used.

PRINTDATE <date>
     The file should not be printed until the requested date.  The
     date is given in the mm/dd/yy format, where mm and dd are one or
     two digit integers and yy is a two or four digit year.  The year
     is optional and if omitted, the current year will be used.  This
     option is only valid for MDQS and NDQS printers.

PRINTINDENT <n>
     When the file is printed, indent each line by the given amount.
     This value may be negative, in which case the given number of
     characters will be deleted from the beginning of each line.  This
     option differs from the INDENT option in that the indenting is done
     by the printer device driver rather than by the NETPRINT program.
     This option is only valid for LPR printers.

PRINTTIME <time>
     The file should not be printed until the requested time.  The
     time is given in the hh:mm:ss format, where hh, mm, and ss are
     one or two digit integers.  The seconds are optional and if
     missing, the value zero will be used.  This option is only valid
     for MDQS and NDQS printers.  PRINTTIME and PRINTDATE may be used
     together to specify a certain time on a given date.

PRIORITY <n>
     A value in the range of 0 to 127 specifying the priority of this
     print request.  This option is only valid for MDQS and NDQS
     printers.  The default is 64.  Unfortunately, the MDQS and NDQS
     documentation don't seem to state if 0 or 127 is the highest, so
     you probably ought to use the default.

TIMEOUT <n>
     The number of seconds to wait when waiting for a response from
     the remote host.  The default is 60 seconds.

TITLE <title>
     The title text to appear on the header page.  If not specified,
     then the default is '<fn> <ft>'.  If the title text contains
     spaces or parentheses, then it should be given in quotes.

TITLECASE
     An option that indicates that the title text provided on the
     TITLE option should not be forced to uppercase.  The title should
     be used as entered.

TRC
     An option that indicates that the first character of each record
     is a TRC (Table Reference Character) byte.  If the CC option is
     in effect, then the CC character is first, followed by the TRC
     character.  The TRC character is not processed by this program.
     This option is assumed if the filetype is LIST3800.

NOTRC
     An option to prevent the TRC character from being taken from each
     input record.

TYPE <type>
     An option that allows the user to specify the network printing
     method to be used to send the file.  If the printer is specified
     using the <prtid> form, then it will be used to select the entry
     with :type.<type>.  If this option is not used, then the first
     entry with :nick.<prtid> will be used and the network printing
     method will be taken from the :type tag of that entry.  This
     option must be specified when using the <node>:<dev> form.

VERBOSE
     Display progress and status messages.

WIDTH <n>
     The number of characters to be printed on each line of output.
     This option is only valid for LPR type printers.

XARG <value>
     An option that is used to pass extended arguments to the device
     driver when the file is printed.  This option is only valid for
     MDQS and NDQS printers.  The value is device specific and is not
     checked for validity.  If the value contains spaces or parentheses,
     then it should be given in quotes.  Multiple XARG options may be
     given.  If any extended arguments are present in the printer's
     entry in the NAMES file (if using the nickname form), then the ones
     specified on the XARG option will override and replace those.  Use
     the XARGAPPEND option to combine the two.

XARGAPPEND <value>
     Like the XARG option, except that if extended arguments are
     present in the printer's entry in the NAMES file, then these will
     be appended to those rather than replacing them.

XARGCASE
     An option that indicates that the extended arguments provided on
     the XARG or XARGAPPEND options or from the printer's entry in the
     NAMES file should not be forced to lowercase.  They should be used
     as entered.

.cs 4 off
.cs 5 on

Usage notes:

1.   The following naming convention is used for most of the default
     printers in SYSPRT NAMES:

        <location>-<type>[<orient>].

     Where:

        <location> is the name of the location of the printer.  For
           example CSCWAM, CVILLE, EPSL, UGLI, or WOR.

        <type> is the type of text you are trying to print.  Currently
           there is LP for ASCII line printer and PS for Postscript.
           Normally you will want LP.

        <orient> is the character L for landscape or P for portrait.
           This specifies how the text will appear on the page.  This
           letter is optional, if not specified, then the printer's
           default will be used (usually portrait).  This is not
           used on Postscript types because the Postscript in the
           file should supply this information.

     Examples:

        CSCWAM-LPL - Landscape line printer output at the workstation
           lab in the Computer and Space Sciences building.

        CVILLE-LP - Line printer output using the printer's default
           orientation at the Centreville Hall workstation lab.

        EPSL-LPP - Portrait line printer output at the Engineering
           and Physical Sciences Library workstation lab.

        WOR-PS - Postscript output at the workstation lab in
           Worcester Hall.

2.   The SYSPRT NAMES file defines the printer ids for the commonly
     available printers at a site.  The users may also define
     their own definitions.  These are kept in the USRPRT NAMES
     file, which the user may provide on any of their accessed disks.
     When searching for a printer definition, the USRPRT NAMES
     file is checked first.  If not found in this file or if the
     file does not exist, then the SYSPRT NAMES file will be
     checked.  This program uses the tags described below (others may
     exist, they will be ignored).  The following tags are required
     to exist:

     :type.<type>

        The printer protocol to be used to send to this printer.  The
        choices are LPR, MDQS, and NDQS.

     :node.<addr>

        The Internet address of the host that the printer's server is
        on.  Currently this must be given in dotted decimal form (this
        restriction will be removed in the future).

     :dev.<name>

        The name of the printer queue on the above host that the file is
        to be submitted to.

     The following tags are optional:

     :attributes.<name> <value> [; <name> <value> ] ...

        One or more sets of attribute names and values.  This tag is
        used by NDQS printers to set various attributes on the print
        request.  If multiple attributes are needed, then they should
        be given on a single :attribute tag seperated by semicolons.
        If the value contains semicolons, then it should be enclosed
        in quotes.

     :attributescase.<Yes|No>

        If yes, then the value on the :attribute tag will not be
        converted to lowercase.  The value will be used as entered.
        This tag is only valid for NDQS type printers.

     :class.<value>

        The job classification value to be printed on the header page.
        This tag is only valid for LPR type printers.

     :classcase.<Yes|No>

        If yes, then the value on the :class tag will not be converted
        to uppercase.  The value will be used as entered.  This tag is
        only valid for LPR type printers.

     :devcase.<Yes|No>

        If yes, then the value on the :dev tag will not be converted
        to lowercase.  The value will be used as entered.

     :font1.<name>

        The name of the R font for the TROFF, DITROFF, or DVI filters.
        This font must exist on the remote system.  This tag is only
        valid for LPR type printers.

     :font2.<name>

        The name of the I font for the TROFF, DITROFF, or DVI filters.
        This font must exist on the remote system.  This tag is only
        valid for LPR type printers.

     :font3.<name>

        The name of the B font for the TROFF, DITROFF, or DVI filters.
        This font must exist on the remote system.  This tag is only
        valid for LPR type printers.

     :font4.<name>

        The name of the S font for the TROFF, DITROFF, or DVI filters.
        This font must exist on the remote system.  This tag is only
        valid for LPR type printers.

     :fontcase.<Yes|No>

        If yes, then the values on the :font1 thru :font4 tags are not
        converted to lowercase.  The value will be used as entered.
        This tag is only valid for LPR type printers.

     :format.<value>

        The type of file being submitted.  For example: POSTSCRIPT or
        TEXT.  Used to indicate to the device driver any special
        preprocessing that needs to be done.  For LPR, the value must
        be one of the following values which specify specific filters
        to preprocess the data:

        TEXT, print the file after applying the normal text filter on
           the data.  Control characters (other than the normal print
           positioning ones like LF, CR, FF, BS, etc.) are removed.

        TEXTCTL, print the file after applying the normal text filter
           on the data.  Like the TEXT format, except that control
           characters are left intact.

        TEXTPR, print the file by feeding it thru the 'pr' command.

        FORTRAN, print the file after applying the FORTRAN carriage
           control filter on the data.

        TROFF, print the file after applying the TROFF filter on the
           data.

        DITROFF, print the file after applying the DITROFF filter on
           the data.

        DVI, print the file after applying the DVI filter on the data.

        PLOT, print the file after applying the PLOT filter on the
           data.

        RASTER, print the file after applying the simple raster filter
           on the data.

        CIFPLOT, print the file after applying the CIFPLOT filter on
           the data.

        PASSTHRU, print the file after applying the passthru filter on
           the data.  This filter allows the data to be sent to the
           printer unchanged.

        This tag is only valid for LPR or NDQS type printers.

     :formatcase.<Yes|No>

        If yes, then the value on the :format tag will not be converted
        to lowercase.  The value will be used as entered.  This tag is
        only valid for LPR or NDQS type printers.

     :forms.<name>

        The name of the forms that the output should be printed on.
        This is site specific.  This tag is only valid for MDQS and
        NDQS type printers.

     :formscase.<Yes|No>

        If yes, then the value on the :forms tag will not be converted
        to lowercase.  The value will be used as entered.  This tag is
        only valid for MDQS and NDQS type printers.

     :indent.<n>

        The data sent to this printer should be indented by the
        indicated amount.  If this value is positive, that many spaces
        will be prefixed to each line.  If the value is negative, then
        that many characters will be truncated from the beginning of
        each line.

     :length.<n>

        The number of lines to be printed on each page of output.  This
        tag is only valid for LPR type printers.

     :mode.<value>

        The representation format of the submitted file when it is
        received by the remote server.  For example: NETASCII, BINARY,
        or EBCDIC.  This tag is only valid for NDQS type printers.

     :modecase.<Yes|No>

        If yes, then the value on the :mode tag will not be converted
        to lowercase.  The value will be used as entered.  This tag is
        only valid for NDQS type printers.

     :noff.<Yes|No>

        If Yes, then no FF character will be output between multiple
        copies of the file to be printed.  This tag is only valid for
        MDQS and NDQS type printers.

     :noheader.<Yes|No>

        If Yes, then the header page that normally precedes the user's
        data when printed is not output.  This is useful where the
        printer is normally just used by a single person and the header
        pages are just a waste of paper.  For multiuser printers,
        headers should be generated so that users can determine which
        output belongs to whom.  This tag is only valid for LPR type
        printers.

     :noindent.<Yes|No>

        If Yes, the device driver is instructed not to do any automatic
        indentation that it might do.  This tag has no relation to the
        :indent tag.  This tag is only valid for MDQS and NDQS type
        printers.

     :printindent.<n>

        When the file is printed, indent each line by the given amount.
        This value may be negative, in which case the given number of
        characters will be deleted from the beginning of each line.
        This option differs from the :indent tag in that the indenting
        is done by the printer device driver rather than by the NETPRINT
        program.  This tag is only valid for LPR type printers.

     :port.<n>|<name>

        The TCP port number to be used when connecting to the remote
        server.  Either a decimal number or the port name may be given.
        The default is to use the port normally associated with the
        printer protocol used.

     :width.<n>

        The number of characters to be printed on each line of output.
        This tag is only valid for LPR type printers.

     :xargs.<arg>[;<arg>] ...

        One or more extended arguments.  Extended arguments are passed
        to the printer's device driver.  The format of the arguments
        are defined by the device driver.  If multiple extended
        arguments are needed, then they should be given on a single
        :xargs tag separated by semicolons.  If the argument contains
        semicolons, then it should be enclosed in quotes.  This tag is
        only valid for MDQS and NDQS type printers.

     :xargscase.<Yes|No>

        If yes, then the value on the :xargs tag will not be converted
        to lowercase.  The value will be used as entered.  This tag is
        only valid for MDQS and NDQS type printers.

.cs 5 off
.cs 6 on

Responses:

None.

During normal operation, this command will produce no messages (unless
the VERBOSE option was specified).  If an error is detected, an error
message will be issued to explain the nature of the error.
.cs 6 off