NAME¶
cups-driverd - cups driver daemon
SYNOPSIS¶
cups-driverd cat
ppd-name
cups-driverd list
request_id limit options
DESCRIPTION¶
cups-driverd shows or lists PPD files. It is run in response to
CUPS-Add-Modify-Printer or CUPS-Get-Devices requests. The first form
("cups-driverd cat ppd-name") writes the named PPD file to stdout.
The output format is an uncompressed PPD file.
The second form lists the available manufacturers or PPD files to stdout as
indicated by the
options argument. The output format is an IPP response
message. The
request_id argument is the request ID from the original
IPP request, typically 1. The
limit argument is the limit value from
the original IPP request - 0 means no limit. Finally, the
options
argument is a space-delimited list of attributes ("name=value name=value
...") that were passed in with the request. Currently
cups-driverd
looks for the
ppd-make and
requested-attributes attributes and
tailors the output accordingly.
DRIVERS¶
Drivers can be static PPD files under the
/usr/share/cups/model directory
or programs under the
/usr/lib/cups/driver directory. Static PPD files
must conform to the Adobe PPD File Format Specification version 4.3 and may be
compressed using the
gzip(1) program. Driver programs must implement
the command-line interface shown in the next section.
DRIVER PROGRAMS¶
Driver programs provide a interface to dynamically-generated PPD files. The
following arguments are currently defined:
- drivername list
-
Lists the supported PPD files to stdout.
- drivername cat ppdname
-
Writes the named PPD file to stdout.
Driver programs MUST NOT query hardware or make other long-term operations that
would delay the return of a driver list. See the NOTES section below for
specific recommendations.
LISTING FILES (drivername list)¶
When run with the single argument "list", the program must list the
available PPD files it can generate to stdout using the following format:
"drivername:ppdname" language "make" "make and model"
"drivername:ppdname" language "make" "make and model" "1284 device id"
"drivername:ppdname" language "make" "make and model" "1284 device id" "(PPD product)"
"drivername:ppdname" language "make" "make and model" "1284 device id" "(PPD product)" "PostScript version"
"drivername:ppdname" language "make" "make and model" "1284 device id" "(PPD product)" "PostScript version" "type"
Drivername is the name of the driver program.
Ppdname is the name
used to select the given driver.
Language is the locale associated with
the default language of the PPD file, typically "en".
Make is
the Manufacturer name from the PPD file.
Make and model is the NickName
name from the PPD file.
1284 device id is the 1284DeviceId from the PPD
file, if any.
(PPD product) is the Product string as it would appear in
the PPD file or from a PostScript query.
PostScript version is the
PSVersion string as it would appear in the PPD file or from a PostScript
query.
Type is "postscript" for PostScript printers,
"pdf" for PDF printers, "raster" for raster printers, or
"fax" for facsimile devices.
WRITING FILES (drivername cat ppdname)¶
When the driver program is run with the "cat ppdname" arguments, it
must write the named PPD file to stdout, uncompressed. If the named PPD file
does not exist, the driver program must not write any output to stdout and
report the error to stderr instead.
DRIVER ERROR MESSAGES¶
Error messages can be relayed back to
cupsd by writing them to stderr.
The following prefixes are recognized:
- DEBUG: [drivername]
-
Debugging messages
- ERROR: [drivername]
-
Error messages
- INFO: [drivername]
-
Informational messages
NOTES¶
Due to performance considerations, driver programs have been officially
deprecated and should not be used for new development. Currently only the CUPS
web interface and
lpinfo(8) command will request lists from all driver
programs.
SEE ALSO¶
cupsd(8),
cupsd.conf(5),
cupstestppd(1),
lpinfo(8),
http://localhost:631/help
COPYRIGHT¶
Copyright 2007-2011 by Apple Inc.