CUPS 1.5 Documentation
List of CUPS 1.5 Documents
cups-driverd - cups driver daemon
request_id limit options
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
Drivers can be static PPD files under the
directory or programs under the
directory. Static PPD files must
conform to the Adobe PPD File Format Specification version 4.3
and may be compressed using the gzip(1)
programs must implement the command-line interface shown in the
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
When run with the single argument "list", the program must list
the available PPD files it can generate to stdout using the
"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.
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.
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
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
cupsd(8), cupsd.conf(5), cupstestppd(1), lpinfo(8),
Copyright 2007-2011 by Apple Inc.