User`s guide

4-21
Printer, Plotter, and Spooler Subsystem Programming
Attribute Names
The following conventions have been established for virtual printer attribute names:
Each attribute name must be unique.
Attribute names can contain the characters a through z, A through Z, 0 through 9, and
_ (underscore). The name cannot begin with a numeral.
All attribute names must be two characters long (except group header attribute names,
which can be five characters long).
Attribute names for group headers begin with _ _ (two underscores) and must not be
longer than five characters. A group header attribute (formerly called a comment
attribute) marks the beginning of a group of related attributes. For example, the group
header attribute _ _FLG marks the beginning of a group of attributes that define the
default values for command line flags. The grouping of attributes is for readability
purposes and does not affect how the attributes are processed.
An attribute name beginning with _ (an underscore), except for group headers, can be
overridden by a command line flag of the same name as the second character of the
attribute name. For example, –w 132, specified with the qprt command, overrides with a
value of 132 the value specified for the _w attribute in the colon file.
Automatic Attributes
Automatic attributes are names and values that are provided automatically and that cannot
be in the database:
@0 Always a null string. This attribute name can be used wherever an
attribute name for a null string is needed.
@1 A string containing the full path name of the file being printed. This
attribute name is available only to attributes that define pipelines and
attributes included by pipelines. The file being printed will be a
temporary file if the –c flag is specified with the qprt command.
@2 An integer containing the number of bytes to be passed through when
%x is found in a command string by the piocmdout subroutine
(obtained from the passthru parameter passed to the piocmdout
subroutine).
@3 An integer value indicating how the printer is attached:
0 Neither parallel nor serial
1 parallel
2 serial
@4 The full path name of the pio directory whose subdirectories (burst,
etc, fmtrs, fonts, predef, trans1, and trans2) contain STATIC data
files and utility programs used to configure virtual printers and process
print jobs. The directory must be a subdirectory of the directory
containing the piobe command invoked by the qdaemon. The value for
@4 is normally the /usr/lib/lpd/pio directory.
@5 The full path name of the pio directory whose subdirectories (custom,
ddi, dev, and flags) contain DYNAMIC data files used to configure
virtual printers and process print jobs. The value for @5 is normally the
/var/spool/lpd/pio directory.