Specifications

4-22
Guide to Printers and Printing
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.
The following attribute names are used for communicating from the piobe command (the
print job manager) to the pioout command (the device driver interface program). The
attribute values are referenced by flag arguments passed to the device driver interface
program as specified in the pipelines.