From: Michael R Sweet Date: Wed, 13 Sep 2023 18:20:29 +0000 (-0400) Subject: Update HTML versions of man pages to use external mantohtml utility. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc7359ae34af7881dd2a00a8000723ba18b88795;p=thirdparty%2Fcups.git Update HTML versions of man pages to use external mantohtml utility. Update help CGI to put files with "man-" at the front in the "Man Pages" section by default. Drop old mantohtml conversion program. --- diff --git a/cgi-bin/help-index.c b/cgi-bin/help-index.c index a1bda53b3d..13c87390b6 100644 --- a/cgi-bin/help-index.c +++ b/cgi-bin/help-index.c @@ -860,7 +860,10 @@ help_load_file( node = NULL; offset = 0; - cupsCopyString(section, "Other", sizeof(section)); + if (strstr(filename, "/man-") != NULL) + cupsCopyString(section, "Man Pages", sizeof(section)); + else + cupsCopyString(section, "Other", sizeof(section)); while (cupsFileGets(fp, line, sizeof(line))) { diff --git a/doc/help/man-backend.html b/doc/help/man-backend.html index 07febd9676..de4d3c7967 100644 --- a/doc/help/man-backend.html +++ b/doc/help/man-backend.html @@ -1,200 +1,249 @@ - + - - - - backend(7) - - -

backend(7)

-

Name

-backend - cups backend transmission interfaces -

Synopsis

-backend + + + backend(7) + + +

backend(7)

+

Name

+

backend - cups backend transmission interfaces +

+

Synopsis

+

backend
-backend -job -user -title -num-copies -options +backend +job +user +title +num-copies +options [ -filename +filename ] -

-#include <cups/cups.h>
+

+
+#include <cups/cups.h>
 
-const char *cupsBackendDeviceURI(char **argv);
+const char *cupsBackendDeviceURI(char **argv);
 
-void cupsBackendReport(const char *device_scheme,
-                       const char *device_uri,
-                       const char *device_make_and_model,
-                       const char *device_info,
-                       const char *device_id,
-                       const char *device_location);
+void cupsBackendReport(const char *device_scheme,
+                       const char *device_uri,
+                       const char *device_make_and_model,
+                       const char *device_info,
+                       const char *device_id,
+                       const char *device_location);
 
-ssize_t cupsBackChannelWrite(const char *buffer,
-                             size_t bytes, double timeout);
+ssize_t cupsBackChannelWrite(const char *buffer,
+                             size_t bytes, double timeout);
 
-int cupsSideChannelRead(cups_sc_command_t *command,
-                        cups_sc_status_t *status, char *data,
-                        int *datalen, double timeout);
+int cupsSideChannelRead(cups_sc_command_t *command,
+                        cups_sc_status_t *status, char *data,
+                        int *datalen, double timeout);
 
-int cupsSideChannelWrite(cups_sc_command_t command,
-                         cups_sc_status_t status, const char *data,
-                         int datalen, double timeout);
+int cupsSideChannelWrite(cups_sc_command_t command,
+                         cups_sc_status_t status, const char *data,
+                         int datalen, double timeout);
 
-

Description

-Backends are a special type of -filter(7) +

Description

+

Backends are a special type of +filter(7) + which is used to send print data to and discover different devices on the system. -

Like filters, backends must be capable of reading from a filename on the command-line or from the standard input, copying the standard input to a temporary file as required by the physical interface. -

The command name (argv[0]) is set to the device URI of the destination printer. +

+

Like filters, backends must be capable of reading from a filename on the command-line or from the standard input, copying the standard input to a temporary file as required by the physical interface. +

+

The command name (argv[0]) is set to the device URI of the destination printer. Authentication information in -argv[0] +argv[0] is removed, so backend developers are urged to use the -DEVICE_URI +DEVICE_URI environment variable whenever authentication information is required. The -cupsBackendDeviceURI() +cupsBackendDeviceURI() + function may be used to retrieve the correct device URI. -

Back-channel data from the device should be relayed to the job filters using the cupsBackChannelWrite function. -

Backends are responsible for reading side-channel requests using the -cupsSideChannelRead() +

+

Back-channel data from the device should be relayed to the job filters using the cupsBackChannelWrite function. +

+

Backends are responsible for reading side-channel requests using the +cupsSideChannelRead() + function and responding with the -cupsSideChannelWrite() +cupsSideChannelWrite() + function. The -CUPS_SC_FD +CUPS_SC_FD constant defines the file descriptor that should be monitored for incoming requests. -

Device Discovery

-When run with no arguments, the backend should list the devices and schemes it supports or is advertising to the standard output. +

+

Device Discovery

+

When run with no arguments, the backend should list the devices and schemes it supports or is advertising to the standard output. The output consists of zero or more lines consisting of any of the following forms: -

-    device-class scheme "Unknown" "device-info"
-    device-class device-uri "device-make-and-model" "device-info"
-    device-class device-uri "device-make-and-model" "device-info" "device-id"
-    device-class device-uri "device-make-and-model" "device-info" "device-id" "device-location"
+

+
+    device-class scheme "Unknown" "device-info"
+    device-class device-uri "device-make-and-model" "device-info"
+    device-class device-uri "device-make-and-model" "device-info" "device-id"
+    device-class device-uri "device-make-and-model" "device-info" "device-id" "device-location"
 
-

The -cupsBackendReport() +

The +cupsBackendReport() + function can be used to generate these lines and handle any necessary escaping of characters in the various strings. -

The -device-class +

+

The +device-class field is one of the following values: -

-
direct -
The device-uri refers to a specific direct-access device with no options, such as a parallel, USB, or SCSI device. -
file -
The device-uri refers to a file on disk. -
network -
The device-uri refers to a networked device and conforms to the general form for +

+

direct
+The device-uri refers to a specific direct-access device with no options, such as a parallel, USB, or SCSI device. +

+

file
+The device-uri refers to a file on disk. +

+

network
+The device-uri refers to a networked device and conforms to the general form for network URIs. -

serial -
The device-uri refers to a serial device with configurable baud rate and other options. +

+

serial
+The device-uri refers to a serial device with configurable baud rate and other options. If the device-uri contains a baud value, it represents the maximum baud rate supported by the device. -

-

The -scheme +

+

The +scheme field provides the URI scheme that is supported by the backend. Backends should use this form only when the backend supports any URI using that scheme. The -device-uri +device-uri field specifies the full URI to use when communicating with the device. -

The -device-make-and-model -field specifies the make and model of the device, e.g. "Example Foojet 2000". -If the make and model is not known, you must report "Unknown". -

The -device-info +

+

The +device-make-and-model +field specifies the make and model of the device, e.g. "Example Foojet 2000". +If the make and model is not known, you must report "Unknown". +

+

The +device-info field specifies additional information about the device. -Typically this includes the make and model along with the port number or network address, e.g. "Example Foojet 2000 USB #1". -

The optional -device-id +Typically this includes the make and model along with the port number or network address, e.g. "Example Foojet 2000 USB #1". +

+

The optional +device-id field specifies the IEEE-1284 device ID string for the device, which is used to select a matching driver. -

The optional -device-location +

+

The optional +device-location field specifies the physical location of the device, which is often used to pre-populate the printer-location attribute when adding a printer. -

Permissions

-Backends without world read and execute permissions are run as the root user. -Otherwise, the backend is run using an unprivileged user account, typically "lp". -

Exit Status

-The following exit codes are defined for backends: -
-
CUPS_BACKEND_OK -
The print file was successfully transmitted to the device or remote server. -
CUPS_BACKEND_FAILED -

+

+

Permissions

+

Backends without world read and execute permissions are run as the root user. +Otherwise, the backend is run using an unprivileged user account, typically "lp". +

+

Exit Status

+

The following exit codes are defined for backends: +

+

CUPS_BACKEND_OK
+The print file was successfully transmitted to the device or remote server. +

+

CUPS_BACKEND_FAILED
+
The print file was not successfully transmitted to the device or remote server. The scheduler will respond to this by canceling the job, retrying the job, or stopping the queue depending on the state of the -printer-error-policy +printer-error-policy attribute. -

CUPS_BACKEND_AUTH_REQUIRED -
The print file was not successfully transmitted because valid authentication information is required. -The scheduler will respond to this by holding the job and adding the 'cups-held-for-authentication' keyword to the "job-reasons" Job Description attribute. -
CUPS_BACKEND_HOLD -
The print file was not successfully transmitted because it cannot be printed at this time. +

+

CUPS_BACKEND_AUTH_REQUIRED
+The print file was not successfully transmitted because valid authentication information is required. +The scheduler will respond to this by holding the job and adding the 'cups-held-for-authentication' keyword to the "job-reasons" Job Description attribute. +

+

CUPS_BACKEND_HOLD
+The print file was not successfully transmitted because it cannot be printed at this time. The scheduler will respond to this by holding the job. -

CUPS_BACKEND_STOP -
The print file was not successfully transmitted because it cannot be printed at this time. +

+

CUPS_BACKEND_STOP
+The print file was not successfully transmitted because it cannot be printed at this time. The scheduler will respond to this by stopping the queue. -

CUPS_BACKEND_CANCEL -
The print file was not successfully transmitted because one or more attributes are not supported or the job was canceled at the printer. +

+

CUPS_BACKEND_CANCEL
+The print file was not successfully transmitted because one or more attributes are not supported or the job was canceled at the printer. The scheduler will respond to this by canceling the job. -

CUPS_BACKEND_RETRY -
The print file was not successfully transmitted because of a temporary issue. +

+

CUPS_BACKEND_RETRY
+The print file was not successfully transmitted because of a temporary issue. The scheduler will retry the job at a future time - other jobs may print before this one. -

CUPS_BACKEND_RETRY_CURRENT -
The print file was not successfully transmitted because of a temporary issue. +

+

CUPS_BACKEND_RETRY_CURRENT
+The print file was not successfully transmitted because of a temporary issue. The scheduler will retry the job immediately without allowing intervening jobs. -

-

All other exit code values are reserved. -

Environment

-In addition to the environment variables listed in -cups(1) +

+

All other exit code values are reserved. +

+

Environment

+

In addition to the environment variables listed in +cups(1) + and -filter(7), +filter(7), + CUPS backends can expect the following environment variable: -

-
DEVICE_URI -
The device URI associated with the printer. -
-

Files

-/etc/cups/cups-files.conf -

Notes

-CUPS backends are not generally designed to be run directly by the user. +

+

DEVICE_URI
+The device URI associated with the printer. +

+

Files

+

/etc/cups/cups-files.conf +

+

Notes

+

CUPS backends are not generally designed to be run directly by the user. Aside from the device URI issue ( -argv[0] +argv[0] and -DEVICE_URI +DEVICE_URI environment variable contain the device URI), CUPS backends also expect specific environment variables and file descriptors, and typically run in a user session that (on macOS) has additional restrictions that affect how it runs. -Backends can also be installed with restricted permissions (0500 or 0700) that tell the scheduler to run them as the "root" user instead of an unprivileged user (typically "lp") on the system. -

Unless you are a developer and know what you are doing, please do not run backends directly. +Backends can also be installed with restricted permissions (0500 or 0700) that tell the scheduler to run them as the "root" user instead of an unprivileged user (typically "lp") on the system. +

+

Unless you are a developer and know what you are doing, please do not run backends directly. Instead, use the -lp(1) +lp(1) + or -lpr(1) +lpr(1) + programs to send print jobs or -lpinfo(8) +lpinfo(8) + to query for available printers using the backend. The one exception is the SNMP backend - see -cups-snmp(8) +cups-snmp(8) + for more information. -

Notes

-CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Notes

+

CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-cups(1), -cups-files.conf(5), -cups-snmp(8), -cupsd(8), -filter(7), -lp(1), -lpinfo(8), -lpr(1), +ippeveprinter(1). + +

+

See Also

+

cups(1), + +cups-files.conf(5), + +cups-snmp(8), + +cupsd(8), + +filter(7), + +lp(1), + +lpinfo(8), + +lpr(1), +
CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cancel.html b/doc/help/man-cancel.html index 068e8611b7..6e7e26d3fb 100644 --- a/doc/help/man-cancel.html +++ b/doc/help/man-cancel.html @@ -1,87 +1,104 @@ - + - - - - cancel(1) - - -

cancel(1)

-

Name

-cancel - cancel jobs -

Synopsis

-cancel + + + cancel(1) + + +

cancel(1)

+

Name

+

cancel - cancel jobs +

+

Synopsis

+

cancel [ --h -hostname[:port] +-h +hostname[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ --a +-a ] [ --u -username +-u +username ] [ --x +-x ] [ -id +id ] [ -destination +destination ] [ -destination-id +destination-id ] -

Description

-The cancel command cancels print jobs. -If no destination or id is specified, the currently printing job on the default destination is canceled. -

Options

-The following options are recognized by cancel: -
-
-a -
Cancel all jobs on the named destination, or all jobs on all +

+

Description

+

The cancel command cancels print jobs. +If no destination or id is specified, the currently printing job on the default destination is canceled. +

+

Options

+

The following options are recognized by cancel: +

+

-a
+Cancel all jobs on the named destination, or all jobs on all destinations if none is provided. -

-E -
Forces encryption when connecting to the server. -
-h hostname[:port] -
Specifies an alternate server. +

+

-E
+Forces encryption when connecting to the server. +

+

-h hostname[:port]
+Specifies an alternate server. Note: This option must occur before all others. -

-U username -
Specifies the username to use when connecting to the server. -
-u username -
Cancels jobs owned by username. -
-x -
Deletes job data files in addition to canceling. -
-

Conforming To

-Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". Also, printer and class names are not case-sensitive. -

Examples

-Cancel the current print job: -
+

+

-U username
+Specifies the username to use when connecting to the server. +

+

-u username
+Cancels jobs owned by username. +

+

-x
+Deletes job data files in addition to canceling. +

+

Conforming To

+

Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". Also, printer and class names are not case-sensitive. +

+

Examples

+

Cancel the current print job: +

+
     cancel
 
 
-Cancel job "myprinter-42": -
+

Cancel job "myprinter-42": +

+
     cancel myprinter-42
 
 
-Cancel all jobs: -
+

Cancel all jobs: +

+
     cancel -a
 
-

Notes

-Administrators wishing to prevent unauthorized cancellation of jobs via the -u option should require authentication for Cancel-Jobs operations in -cupsd.conf(5). -

See Also

-cupsd.conf(5), -lp(1), -lpmove(8), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

Notes

+

Administrators wishing to prevent unauthorized cancellation of jobs via the -u option should require authentication for Cancel-Jobs operations in +cupsd.conf(5). + +

+

See Also

+

cupsd.conf(5), + +lp(1), - +lpmove(8), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-classes.conf.html b/doc/help/man-classes.conf.html index b1ed9e6f9a..09e16edf16 100644 --- a/doc/help/man-classes.conf.html +++ b/doc/help/man-classes.conf.html @@ -1,32 +1,41 @@ - + - - - - classes.conf(5) - - -

classes.conf(5)

-

Name

-classes.conf - class configuration file for cups -

Description

-The classes.conf file defines the local printer classes that are available. -It is normally located in the /etc/cups directory and is maintained by the -cupsd(8) + + + classes.conf(5) + + +

classes.conf(5)

+

Name

+

classes.conf - class configuration file for cups +

+

Description

+

The classes.conf file defines the local printer classes that are available. +It is normally located in the /etc/cups directory and is maintained by the +cupsd(8) + program. This file is not intended to be edited or managed manually. -

Notes

-The name, location, and format of this file are an implementation detail that will change in future releases of CUPS. -

See Also

-cupsd(8), -cupsd.conf(5), -mime.convs(5), -mime.types(5), -printers.conf(5), -subscriptions.conf(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

Notes

+

The name, location, and format of this file are an implementation detail that will change in future releases of CUPS. +

+

See Also

+

cupsd(8), + +cupsd.conf(5), + +mime.convs(5), - +mime.types(5), + +printers.conf(5), + +subscriptions.conf(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-client.conf.html b/doc/help/man-client.conf.html index 1e4815b4c7..8bb193fa6f 100644 --- a/doc/help/man-client.conf.html +++ b/doc/help/man-client.conf.html @@ -1,108 +1,140 @@ - + - - - - client.conf(5) - - -

client.conf(5)

-

Name

-client.conf - client configuration file for cups (deprecated on macos) -

Description

-The client.conf file configures the CUPS client and is normally located in the /etc/cups and/or ~/.cups directories. + + + client.conf(5) + + +

client.conf(5)

+

Name

+

client.conf - client configuration file for cups (deprecated on macos) +

+

Description

+

The client.conf file configures the CUPS client and is normally located in the /etc/cups and/or ~/.cups directories. Each line in the file can be a configuration directive, a blank line, or a comment. Comment lines start with the # character. -

Note: Starting with macOS 10.7, this file is only used by command-line and X11 applications plus the IPP backend. -The ServerName directive is not supported on macOS at all. -Starting with macOS 10.12, all applications can access these settings in the /Library/Preferences/org.cups.PrintingPrefs.plist file instead. +

+

Note: Starting with macOS 10.7, this file is only used by command-line and X11 applications plus the IPP backend. +The ServerName directive is not supported on macOS at all. +Starting with macOS 10.12, all applications can access these settings in the /Library/Preferences/org.cups.PrintingPrefs.plist file instead. See the NOTES section below for more information. -

Directives

-The following directives are understood by the client. Consult the online help for detailed descriptions: -
-
AllowAnyRoot Yes -
AllowAnyRoot No -
Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority. -The default is "Yes". -
AllowExpiredCerts Yes -
AllowExpiredCerts No -
Specifies whether to allow TLS with expired certificates. -The default is "No". -
DigestOptions DenyMD5 -
DigestOptions None -
Specifies HTTP Digest authentication options. -DenyMD5 disables support for the original MD5 hash algorithm. -
Encryption IfRequested -
Encryption Never -
Encryption Required -
Specifies the level of encryption that should be used. -
GSSServiceName name -
Specifies the Kerberos service name that is used for authentication, typically "host", "http", or "ipp". -CUPS adds the remote hostname ("name@server.example.com") for you. The default name is "http". -
ServerName hostname-or-ip-address[:port] -
ServerName /domain/socket -
Specifies the address and optionally the port to use when connecting to the server. -Note: This directive is not supported on macOS 10.7 or later. -
ServerName hostname-or-ip-address[:port]/version=1.1 -
Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier. -
SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0] [MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1] [MinTLS1.2] [MinTLS1.3] -
SSLOptions None -
Sets encryption options (only in /etc/cups/client.conf). +

+

Directives

+

The following directives are understood by the client. Consult the online help for detailed descriptions: +

+

AllowAnyRoot Yes
+

+

AllowAnyRoot No
+Specifies whether to allow TLS with certificates that have not been signed by a trusted Certificate Authority. +The default is "Yes". +

+

AllowExpiredCerts Yes
+

+

AllowExpiredCerts No
+Specifies whether to allow TLS with expired certificates. +The default is "No". +

+

DigestOptions DenyMD5
+

+

DigestOptions None
+Specifies HTTP Digest authentication options. +DenyMD5 disables support for the original MD5 hash algorithm. +

+

Encryption IfRequested
+

+

Encryption Never
+

+

Encryption Required
+Specifies the level of encryption that should be used. +

+

GSSServiceName name
+Specifies the Kerberos service name that is used for authentication, typically "host", "http", or "ipp". +CUPS adds the remote hostname ("name@server.example.com") for you. The default name is "http". +

+

ServerName hostname-or-ip-address[:port]
+

+

ServerName /domain/socket
+Specifies the address and optionally the port to use when connecting to the server. +Note: This directive is not supported on macOS 10.7 or later. +

+

ServerName hostname-or-ip-address[:port]/version=1.1
+Specifies the address and optionally the port to use when connecting to a server running CUPS 1.3.12 and earlier. +

+

SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0] [MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1] [MinTLS1.2] [MinTLS1.3]
+

+

SSLOptions None
+Sets encryption options (only in /etc/cups/client.conf). By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites. -Security is reduced when Allow options are used. -Security is enhanced when Deny options are used. -The AllowDH option enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS). -The AllowRC4 option enables the 128-bit RC4 cipher suites, which are required for some older clients. -The AllowSSL3 option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0. -The DenyCBC option disables all CBC cipher suites. -The DenyTLS1.0 option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1. -The MinTLS options set the minimum TLS version to support. -The MaxTLS options set the maximum TLS version to support. +Security is reduced when Allow options are used. +Security is enhanced when Deny options are used. +The AllowDH option enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS). +The AllowRC4 option enables the 128-bit RC4 cipher suites, which are required for some older clients. +The AllowSSL3 option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0. +The DenyCBC option disables all CBC cipher suites. +The DenyTLS1.0 option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1. +The MinTLS options set the minimum TLS version to support. +The MaxTLS options set the maximum TLS version to support. Not all operating systems support TLS 1.3 at this time. -

TrustOnFirstUse Yes -
TrustOnFirstUse No -
Specifies whether to trust new TLS certificates by default. -The default is "Yes". -
User name -
Specifies the default user name to use for requests. -
UserAgentTokens None -
UserAgentTokens ProductOnly -
UserAgentTokens Major -
UserAgentTokens Minor -
UserAgentTokens Minimal -
UserAgentTokens OS -
UserAgentTokens Full -
Specifies what information is included in the User-Agent header of HTTP requests. -"None" disables the User-Agent header. -"ProductOnly" reports "CUPS". -"Major" reports "CUPS/major IPP/2". -"Minor" reports "CUPS/major.minor IPP/2.1". -"Minimal" reports "CUPS/major.minor.patch IPP/2.1". -"OS" reports "CUPS/major.minor.path (osname osversion) IPP/2.1". -"Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1". -The default is "Minimal". -
ValidateCerts Yes -
ValidateCerts No -
Specifies whether to only allow TLS with certificates whose common name matches the hostname. -The default is "No". -
-

Notes

-The client.conf file is deprecated on macOS and will no longer be supported in a future version of CUPS. +

+

TrustOnFirstUse Yes
+

+

TrustOnFirstUse No
+Specifies whether to trust new TLS certificates by default. +The default is "Yes". +

+

User name
+Specifies the default user name to use for requests. +

+

UserAgentTokens None
+

+

UserAgentTokens ProductOnly
+

+

UserAgentTokens Major
+

+

UserAgentTokens Minor
+

+

UserAgentTokens Minimal
+

+

UserAgentTokens OS
+

+

UserAgentTokens Full
+Specifies what information is included in the User-Agent header of HTTP requests. +"None" disables the User-Agent header. +"ProductOnly" reports "CUPS". +"Major" reports "CUPS/major IPP/2". +"Minor" reports "CUPS/major.minor IPP/2.1". +"Minimal" reports "CUPS/major.minor.patch IPP/2.1". +"OS" reports "CUPS/major.minor.path (osname osversion) IPP/2.1". +"Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1". +The default is "Minimal". +

+

ValidateCerts Yes
+

+

ValidateCerts No
+Specifies whether to only allow TLS with certificates whose common name matches the hostname. +The default is "No". +

+

Notes

+

The client.conf file is deprecated on macOS and will no longer be supported in a future version of CUPS. Configuration settings can instead be viewed or changed using the -defaults(1) +defaults(1) + command: -

-defaults write /Library/Preferences/org.cups.PrintingPrefs.plist Encryption Required
+

+
defaults write /Library/Preferences/org.cups.PrintingPrefs.plist Encryption Required
 defaults write /Library/Preferences/org.cups.PrintingPrefs.plist TrustOnFirstUse -bool NO
 
 defaults read /Library/Preferences/org.cups.PrintingPrefs.plist Encryption
 
-On Linux and other systems using GNU TLS, the /etc/cups/ssl/site.crl file, if present, provides a list of revoked X.509 certificates and is used when validating certificates. -

See Also

-cups(1), -default(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

On Linux and other systems using GNU TLS, the /etc/cups/ssl/site.crl file, if present, provides a list of revoked X.509 certificates and is used when validating certificates. +

+

See Also

+

cups(1), - +default(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cups-config.html b/doc/help/man-cups-config.html index ed8adc03f3..366e303d11 100644 --- a/doc/help/man-cups-config.html +++ b/doc/help/man-cups-config.html @@ -1,107 +1,124 @@ - + - - - - cups-config(1) - - -

cups-config(1)

-

Name

-cups-config - get cups api, compiler, directory, and link information (deprecated). -

Synopsis

-cups-config ---api-version + + + cups-config(1) + + +

cups-config(1)

+

Name

+

cups-config - get cups api, compiler, directory, and link information (deprecated). +

+

Synopsis

+

cups-config +--api-version
-cups-config ---build +cups-config +--build
-cups-config ---cflags +cups-config +--cflags
-cups-config ---datadir +cups-config +--datadir
-cups-config ---help +cups-config +--help
-cups-config ---ldflags +cups-config +--ldflags
-cups-config +cups-config [ ---image +--image ] [ ---static +--static ] ---libs +--libs
-cups-config ---serverbin +cups-config +--serverbin
-cups-config ---serverroot +cups-config +--serverroot
-cups-config ---version +cups-config +--version
-

Description

-The cups-config command allows application developers to determine the necessary command-line options for the compiler and linker, as well as the installation directories for filters, configuration files, and drivers. +

+

Description

+

The cups-config command allows application developers to determine the necessary command-line options for the compiler and linker, as well as the installation directories for filters, configuration files, and drivers. All values are reported to the standard output. -Note: +Note: This command is deprecated and will be removed in a future version of CUPS. The -pkg-config(1) +pkg-config(1) + command should be used instead. -

Options

-The cups-config command accepts the following command-line options: -
-
--api-version -
Reports the current API version (major.minor). -
--build -
Reports a system-specific build number. -
--cflags -
Reports the necessary compiler options. -
--datadir -
Reports the default CUPS data directory. -
--help -
Reports the program usage message. -
--ldflags -
Reports the necessary linker options. -
--libs -
Reports the necessary libraries to link to. -
--serverbin -
Reports the default CUPS binary directory, where filters and backends are stored. -
--serverroot -
Reports the default CUPS configuration file directory. -
--static -
When used with --libs, reports the static libraries instead of the default (shared) libraries. -
--version -
Reports the full version number of the CUPS installation (major.minor.patch). -
-

Examples

-Show the currently installed version of CUPS: -
+

+

Options

+

The cups-config command accepts the following command-line options: +

+

--api-version
+Reports the current API version (major.minor). +

+

--build
+Reports a system-specific build number. +

+

--cflags
+Reports the necessary compiler options. +

+

--datadir
+Reports the default CUPS data directory. +

+

--help
+Reports the program usage message. +

+

--ldflags
+Reports the necessary linker options. +

+

--libs
+Reports the necessary libraries to link to. +

+

--serverbin
+Reports the default CUPS binary directory, where filters and backends are stored. +

+

--serverroot
+Reports the default CUPS configuration file directory. +

+

--static
+When used with --libs, reports the static libraries instead of the default (shared) libraries. +

+

--version
+Reports the full version number of the CUPS installation (major.minor.patch). +

+

Examples

+

Show the currently installed version of CUPS: +

+
     cups-config --version
 
 
-Compile a simple one-file CUPS filter: -
+

Compile a simple one-file CUPS filter: +

+
     cc `cups-config --cflags --ldflags` -o filter filter.c \
         `cups-config --libs`
 
-

Deprecated Options

-The following options are deprecated but continue to work for backwards compatibility: -
-
--image -
Formerly used to add the CUPS imaging library to the list of libraries. -
-

See Also

-cups(1), -pkg-config(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

Deprecated Options

+

The following options are deprecated but continue to work for backwards compatibility: +

+

--image
+Formerly used to add the CUPS imaging library to the list of libraries. +

+

See Also

+

cups(1), - +pkg-config(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cups-files.conf.html b/doc/help/man-cups-files.conf.html index 74047d98ab..095bd7b6aa 100644 --- a/doc/help/man-cups-files.conf.html +++ b/doc/help/man-cups-files.conf.html @@ -1,205 +1,270 @@ - + - - - - cups-files.conf(5) - - -

cups-files.conf(5)

-

Name

-cups-files.conf - file and directory configuration file for cups -

Description

-The cups-files.conf file configures the files and directories used by the CUPS scheduler, -cupsd(8). -It is normally located in the /etc/cups directory. -

Each line in the file can be a configuration directive, a blank line, or a comment. + + + cups-files.conf(5) + + +

cups-files.conf(5)

+

Name

+

cups-files.conf - file and directory configuration file for cups +

+

Description

+

The cups-files.conf file configures the files and directories used by the CUPS scheduler, +cupsd(8). + +It is normally located in the /etc/cups directory. +

+

Each line in the file can be a configuration directive, a blank line, or a comment. Configuration directives typically consist of a name and zero or more values separated by whitespace. The configuration directive name and values are case-insensitive. Comment lines start with the # character. -

Directives

-The following directives are understood by -cupsd(8): -
-
AccessLog -
AccessLog filename -
AccessLog stderr -
AccessLog syslog -
Defines the access log filename. +

+

Directives

+

The following directives are understood by +cupsd(8): + +

+

AccessLog
+

+

AccessLog filename
+

+

AccessLog stderr
+

+

AccessLog syslog
+Defines the access log filename. Specifying a blank filename disables access log generation. -The value "stderr" causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background. -The value "syslog" causes log entries to be sent to the system log daemon. -The server name may be included in filenames using the string "%s", for example: -

+The value "stderr" causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background.
+The value "syslog" causes log entries to be sent to the system log daemon.
+The server name may be included in filenames using the string "%s", for example:
+

+
     AccessLog /var/log/cups/%s-access_log
 
 
-The default is "/var/log/cups/access_log". -
CacheDir directory -
Specifies the directory to use for long-lived temporary (cache) files. -The default is "/var/spool/cups/cache" or "/var/cache/cups" depending on the platform. -
ConfigFilePerm mode -
Specifies the permissions for all configuration files that the scheduler writes. -The default is "0644" on macOS and "0640" on all other operating systems. -
-

Note: The permissions for the printers.conf file are currently masked to only allow access from the scheduler user (typically root). +

The default is "/var/log/cups/access_log". +

+

CacheDir directory
+Specifies the directory to use for long-lived temporary (cache) files. +The default is "/var/spool/cups/cache" or "/var/cache/cups" depending on the platform. +

+

ConfigFilePerm mode
+Specifies the permissions for all configuration files that the scheduler writes. +The default is "0644" on macOS and "0640" on all other operating systems. +

+

Note: The permissions for the printers.conf file are currently masked to only allow access from the scheduler user (typically root). This is done because printer device URIs sometimes contain sensitive authentication information that should not be generally known on the system. There is no way to disable this security feature. -

-
CreateSelfSignedCerts yes -
CreateSelfSignedCerts no -
Specifies whether the scheduler automatically creates self-signed certificates for client connections using TLS. +

+

CreateSelfSignedCerts yes
+

+

CreateSelfSignedCerts no
+Specifies whether the scheduler automatically creates self-signed certificates for client connections using TLS. The default is yes. -

DataDir path -
Specifies the directory where data files can be found. -The default is usually "/usr/share/cups". -
DocumentRoot directory -
Specifies the root directory for the CUPS web interface content. -The default is usually "/usr/share/doc/cups". -
ErrorLog -
ErrorLog filename -
ErrorLog stderr -
ErrorLog syslog -
Defines the error log filename. +

+

DataDir path
+Specifies the directory where data files can be found. +The default is usually "/usr/share/cups". +

+

DocumentRoot directory
+Specifies the root directory for the CUPS web interface content. +The default is usually "/usr/share/doc/cups". +

+

ErrorLog
+

+

ErrorLog filename
+

+

ErrorLog stderr
+

+

ErrorLog syslog
+Defines the error log filename. Specifying a blank filename disables error log generation. -The value "stderr" causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background. -The value "syslog" causes log entries to be sent to the system log daemon. -The server name may be included in filenames using the string "%s", for example: -

+The value "stderr" causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background.
+The value "syslog" causes log entries to be sent to the system log daemon.
+The server name may be included in filenames using the string "%s", for example:
+

+
     ErrorLog /var/log/cups/%s-error_log
 
 
-The default is "/var/log/cups/error_log". -
FatalErrors none -
FatalErrors all -kind [ ... -kind ] -
FatalErrors kind [ ... kind ] -
Specifies which errors are fatal, causing the scheduler to exit. -The default is "config". -The kind strings are: -
-
-
none -
No errors are fatal. -
all -
All of the errors below are fatal. -
browse -
Browsing initialization errors are fatal, for example failed connections to the DNS-SD daemon. -
config -
Configuration file syntax errors are fatal. -
listen -
Listen or Port errors are fatal, except for IPv6 failures on the loopback or "any" addresses. -
log -
Log file creation or write errors are fatal. -
permissions -
Bad startup file permissions are fatal, for example shared TLS certificate and key files with world-read permissions. -
-
Group group-name-or-number -
Specifies the group name or ID that will be used when executing external programs. -The default group is operating system specific but is usually "lp" or "nobody". - -
LogFileGroup group-name-or-number -
Specifies the group name or ID that will be used for log files. -The default group is operating system specific but is usually "lp" or "nobody". -
LogFilePerm mode -
Specifies the permissions of all log files that the scheduler writes. -The default is "0644". -
PageLog [ filename ] -
PageLog stderr -
PageLog syslog -
Defines the page log filename. -The value "stderr" causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background. -The value "syslog" causes log entries to be sent to the system log daemon. +

The default is "/var/log/cups/error_log". +

+

FatalErrors none
+

+

FatalErrors all -kind [ ... -kind ]
+

+

FatalErrors kind [ ... kind ]
+Specifies which errors are fatal, causing the scheduler to exit. +The default is "config". +The kind strings are: +

+

+

none
+No errors are fatal. +

+

all
+All of the errors below are fatal. +

+

browse
+Browsing initialization errors are fatal, for example failed connections to the DNS-SD daemon. +

+

config
+Configuration file syntax errors are fatal. +

+

listen
+Listen or Port errors are fatal, except for IPv6 failures on the loopback or "any" addresses. +

+

log
+Log file creation or write errors are fatal. +

+

permissions
+Bad startup file permissions are fatal, for example shared TLS certificate and key files with world-read permissions. +

+

+

Group group-name-or-number
+Specifies the group name or ID that will be used when executing external programs. +The default group is operating system specific but is usually "lp" or "nobody". +

+

LogFileGroup group-name-or-number
+Specifies the group name or ID that will be used for log files. +The default group is operating system specific but is usually "lp" or "nobody". +

+

LogFilePerm mode
+Specifies the permissions of all log files that the scheduler writes. +The default is "0644". +

+

PageLog [ filename ]
+

+

PageLog stderr
+

+

PageLog syslog
+Defines the page log filename. +The value "stderr" causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background. +The value "syslog" causes log entries to be sent to the system log daemon. Specifying a blank filename disables page log generation. -The server name may be included in filenames using the string "%s", for example: -

+The server name may be included in filenames using the string "%s", for example:
+

+
     PageLog /var/log/cups/%s-page_log
 
 
-The default is "/var/log/cups/page_log". -
PassEnv variable [ ... variable ] -
Passes the specified environment variable(s) to child processes. +

The default is "/var/log/cups/page_log". +

+

PassEnv variable [ ... variable ]
+Passes the specified environment variable(s) to child processes. Note: the standard CUPS filter and backend environment variables cannot be overridden using this directive. -

RemoteRoot username -
Specifies the username that is associated with unauthenticated accesses by clients claiming to be the root user. -The default is "remroot". -
RequestRoot directory -
Specifies the directory that contains print jobs and other HTTP request data. -The default is "/var/spool/cups". -
Sandboxing relaxed -
Sandboxing strict -
Specifies the level of security sandboxing that is applied to print filters, backends, and other child processes of the scheduler. -The default is "strict". +

+

RemoteRoot username
+Specifies the username that is associated with unauthenticated accesses by clients claiming to be the root user. +The default is "remroot". +

+

RequestRoot directory
+Specifies the directory that contains print jobs and other HTTP request data. +The default is "/var/spool/cups". +

+

Sandboxing relaxed
+

+

Sandboxing strict
+Specifies the level of security sandboxing that is applied to print filters, backends, and other child processes of the scheduler. +The default is "strict". This directive is currently only used/supported on macOS. -

ServerBin directory -
Specifies the directory containing the backends, CGI programs, filters, helper programs, notifiers, and port monitors. -The default is "/usr/lib/cups" or "/usr/libexec/cups" depending on the platform. -
ServerKeychain path -
Specifies the location of TLS certificates and private keys. -The default is "/Library/Keychains/System.keychain" on macOS and "/etc/cups/ssl" on all other operating systems. +

+

ServerBin directory
+Specifies the directory containing the backends, CGI programs, filters, helper programs, notifiers, and port monitors. +The default is "/usr/lib/cups" or "/usr/libexec/cups" depending on the platform. +

+

ServerKeychain path
+Specifies the location of TLS certificates and private keys. +The default is "/Library/Keychains/System.keychain" on macOS and "/etc/cups/ssl" on all other operating systems. macOS uses its keychain database to store certificates and keys while other platforms use separate files in the specified directory, *.crt for PEM-encoded certificates and *.key for PEM-encoded private keys. -

ServerRoot directory -
Specifies the directory containing the server configuration files. -The default is "/etc/cups". -
SetEnv variable value -
Set the specified environment variable to be passed to child processes. +

+

ServerRoot directory
+Specifies the directory containing the server configuration files. +The default is "/etc/cups". +

+

SetEnv variable value
+Set the specified environment variable to be passed to child processes. Note: the standard CUPS filter and backend environment variables cannot be overridden using this directive. -

StateDir directory -
Specifies the directory to use for PID and local certificate files. -The default is "/var/run/cups" or "/etc/cups" depending on the platform. -
SyncOnClose Yes -
SyncOnClose No -
Specifies whether the scheduler calls -fsync(2) +

+

StateDir directory
+Specifies the directory to use for PID and local certificate files. +The default is "/var/run/cups" or "/etc/cups" depending on the platform. +

+

SyncOnClose Yes
+

+

SyncOnClose No
+Specifies whether the scheduler calls +fsync(2) + after writing configuration or state files. -

SystemGroup group-name [ ... group-name ] -
Specifies the group(s) to use for @SYSTEM group authentication. -The default contains "admin", "lpadmin", "root", "sys", and/or "system". -
TempDir directory -
Specifies the directory where short-term temporary files are stored. -The default is "/var/spool/cups/tmp". -
User username -
Specifies the user name or ID that is used when running external programs. -The default is "lp". -
-

Deprecated Directives

-The following directives are deprecated and will be removed from a future version of CUPS: -
-
FileDevice Yes -
FileDevice No -
Specifies whether the file pseudo-device can be used for new printer queues. -The URI "file:///dev/null" is always allowed. -File devices cannot be used with "raw" print queues - a PPD file is required. +

+

SystemGroup group-name [ ... group-name ]
+Specifies the group(s) to use for @SYSTEM group authentication. +The default contains "admin", "lpadmin", "root", "sys", and/or "system". +

+

TempDir directory
+Specifies the directory where short-term temporary files are stored. +The default is "/var/spool/cups/tmp". +

+

User username
+Specifies the user name or ID that is used when running external programs. +The default is "lp". +

+

Deprecated Directives

+

The following directives are deprecated and will be removed from a future version of CUPS: +

+

FileDevice Yes
+

+

FileDevice No
+Specifies whether the file pseudo-device can be used for new printer queues. +The URI "file:///dev/null" is always allowed. +File devices cannot be used with "raw" print queues - a PPD file is required. The specified file is overwritten for every print job. Writing to directories is not supported. -

Printcap filename -
Specifies a file that is filled with a list of local print queues. -
PrintcapFormat bsd -
PrintcapFormat plist -
PrintcapFormat solaris -
Specifies the format to use for the Printcap file. -"bsd" is the historical LPD printcap file format. -"plist" is the Apple plist file format. -"solaris" is the historical Solaris LPD printcap file format. -
-

Notes

-The scheduler MUST be restarted manually after making changes to the cups-files.conf file. +

+

Printcap filename
+Specifies a file that is filled with a list of local print queues. +

+

PrintcapFormat bsd
+

+

PrintcapFormat plist
+

+

PrintcapFormat solaris
+Specifies the format to use for the Printcap file. +"bsd" is the historical LPD printcap file format. +"plist" is the Apple plist file format. +"solaris" is the historical Solaris LPD printcap file format. +

+

Notes

+

The scheduler MUST be restarted manually after making changes to the cups-files.conf file. On Linux this is typically done using the -systemctl(8) +systemctl(8) + command, while on macOS the -launchctl(8) +launchctl(8) + command is used instead. -

See Also

-classes.conf(5), -cups(1), -cupsd(8), -cupsd.conf(5), -mime.convs(5), -mime.types(5), -printers.conf(5), -subscriptions.conf(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2020-2023 by OpenPrinting. +

+

See Also

+

classes.conf(5), + +cups(1), - +cupsd(8), + +cupsd.conf(5), + +mime.convs(5), + +mime.types(5), + +printers.conf(5), + +subscriptions.conf(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2020-2023 by OpenPrinting. + diff --git a/doc/help/man-cups-lpd.html b/doc/help/man-cups-lpd.html index c0c3dc6d43..d8e40014ec 100644 --- a/doc/help/man-cups-lpd.html +++ b/doc/help/man-cups-lpd.html @@ -1,112 +1,139 @@ - + - - - - cups-lpd(8) - - -

cups-lpd(8)

-

Name

-cups-lpd - receive print jobs and report printer status to lpd clients (deprecated) -

Synopsis

-cups-lpd + + + cups-lpd(8) + + +

cups-lpd(8)

+

Name

+

cups-lpd - receive print jobs and report printer status to lpd clients (deprecated) +

+

Synopsis

+

cups-lpd [ --h hostname[:port] +-h hostname[:port] ] [ --n +-n ] [ --o -option=value +-o +option=value ] -

Description

-cups-lpd -is the CUPS Line Printer Daemon ("LPD") mini-server that supports legacy client systems that use the LPD protocol. -cups-lpd -does not act as a standalone network daemon but instead operates using any of the Internet "super-servers" such as -inetd(8), -launchd(8), +

+

Description

+

cups-lpd +is the CUPS Line Printer Daemon ("LPD") mini-server that supports legacy client systems that use the LPD protocol. +cups-lpd +does not act as a standalone network daemon but instead operates using any of the Internet "super-servers" such as +inetd(8), + +launchd(8), + and -systemd(8). -

Options

-
-
-h hostname[:port] -
Sets the CUPS server (and port) to use. -
-n -
Disables reverse address lookups; normally -cups-lpd +systemd(8). + +

+

Options

+

-h hostname[:port]
+Sets the CUPS server (and port) to use. +

+

-n
+Disables reverse address lookups; normally +cups-lpd will try to discover the hostname of the client via a reverse DNS lookup. -

-o name=value -
Inserts options for all print queues. Most often this is used to disable the "l" filter so that remote print jobs are filtered as needed for printing; the -inetd(8) -example below sets the "document-format" option to "application/octet-stream" which forces autodetection of the print file format. -
-

Conforming To

-cups-lpd +

+

-o name=value
+Inserts options for all print queues. Most often this is used to disable the "l" filter so that remote print jobs are filtered as needed for printing; the +inetd(8) + +example below sets the "document-format" option to "application/octet-stream" which forces autodetection of the print file format. +

+

Conforming To

+

cups-lpd does not enforce the restricted source port number specified in RFC 1179, as using restricted ports does not prevent users from submitting print jobs. While this behavior is different than standard Berkeley LPD implementations, it should not affect normal client operations. -

The output of the status requests follows RFC 2569, Mapping between LPD and IPP Protocols. Since many LPD implementations stray from this definition, remote status reporting to LPD clients may be unreliable. -

Errors

-Errors are sent to the system log. -

Files

-
-/etc/inetd.conf
-/etc/xinetd.d/cups-lpd
-/System/Library/LaunchDaemons/org.cups.cups-lpd.plist
+

+

The output of the status requests follows RFC 2569, Mapping between LPD and IPP Protocols. Since many LPD implementations stray from this definition, remote status reporting to LPD clients may be unreliable. +

+

Errors

+

Errors are sent to the system log. +

+

Files

+
/etc/inetd.conf
+/etc/xinetd.d/cups-lpd
+/System/Library/LaunchDaemons/org.cups.cups-lpd.plist
 
-

Notes

-The -cups-lpd +

Notes

+

The +cups-lpd program is deprecated and will no longer be supported in a future feature release of CUPS. -

Performance

-cups-lpd +

+

Performance

+

cups-lpd performs well with small numbers of clients and printers. However, since a new process is created for each connection and since each process must query the printing system before each job submission, it does not scale to larger configurations. We highly recommend that large configurations use the native IPP support provided by CUPS instead. -

Security

-cups-lpd -currently does not perform any access control based on the settings in cupsd.conf(5) or in the hosts.allow(5) or hosts.deny(5) files used by TCP wrappers. +

+

Security

+

cups-lpd +currently does not perform any access control based on the settings in cupsd.conf(5) or in the hosts.allow(5) or hosts.deny(5) files used by TCP wrappers. Therefore, running -cups-lpd +cups-lpd on your server will allow any computer on your network (and perhaps the entire Internet) to print to your server. -

While -xinetd(8) +

+

While +xinetd(8) + has built-in access control support, you should use the TCP wrappers package with -inetd(8) +inetd(8) + to limit access to only those computers that should be able to print through your server. -

cups-lpd +

+

cups-lpd is not enabled by the standard CUPS distribution. Please consult with your operating system vendor to determine whether it is enabled by default on your system. -

Example

-If you are using -inetd(8), -add the following line to the inetd.conf file to enable the -cups-lpd +

+

Example

+

If you are using +inetd(8), + +add the following line to the inetd.conf file to enable the +cups-lpd mini-server: -

+

+
     printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd \
         -o document-format=application/octet-stream
 
 
-

CUPS includes configuration files for -launchd(8), -systemd(8), +

CUPS includes configuration files for +launchd(8), + +systemd(8), + and -xinetd(8). +xinetd(8). + Simply enable the -cups-lpd +cups-lpd service using the corresponding control program. -

See Also

-cups(1), -cupsd(8), -inetd(8), -launchd(8), -xinetd(8), +

+

See Also

+

cups(1), + +cupsd(8), + +inetd(8), + +launchd(8), + +xinetd(8), + CUPS Online Help (http://localhost:631/help), RFC 2569 -

Copyright

-Copyright © 2020-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2020-2023 by OpenPrinting. + diff --git a/doc/help/man-cups-snmp.conf.html b/doc/help/man-cups-snmp.conf.html index b8e42cd39f..1153589ebb 100644 --- a/doc/help/man-cups-snmp.conf.html +++ b/doc/help/man-cups-snmp.conf.html @@ -1,60 +1,74 @@ - + - - - - snmp.conf(5) - - -

snmp.conf(5)

-

Name

-snmp.conf - snmp configuration file for cups (deprecated) -

Description

-The -snmp.conf -file configures how the standard CUPS network backends (http, https, ipp, ipps, lpd, snmp, and socket) access printer information using SNMPv1 and is normally located in the /etc/cups directory. + + + snmp.conf(5) + + +

snmp.conf(5)

+

Name

+

snmp.conf - snmp configuration file for cups (deprecated) +

+

Description

+

The +snmp.conf +file configures how the standard CUPS network backends (http, https, ipp, ipps, lpd, snmp, and socket) access printer information using SNMPv1 and is normally located in the /etc/cups directory. Each line in the file can be a configuration directive, a blank line, or a comment. Comment lines start with the # character. -

The Community and DebugLevel directives are used by all backends. The remainder apply only to the SNMP backend - -cups-snmp(8). -

Directives

-The following directives are understood by the CUPS network backends: -
-
Address @IF(name) -
Address @LOCAL -
Address address -
Sends SNMP broadcast queries (for discovery) to the specified address(es). +

+

The Community and DebugLevel directives are used by all backends. The remainder apply only to the SNMP backend - +cups-snmp(8). + +

+

Directives

+

The following directives are understood by the CUPS network backends: +

+

Address @IF(name)
+

+

Address @LOCAL
+

+

Address address
+Sends SNMP broadcast queries (for discovery) to the specified address(es). There is no default for the broadcast address. -

Community name -
Specifies the community name to use. +

+

Community name
+Specifies the community name to use. Only a single community name may be specified. -The default community name is "public". +The default community name is "public". If no name is specified, all SNMP functions are disabled. -

DebugLevel number -
Specifies the logging level from 0 (none) to 3 (everything). +

+

DebugLevel number
+Specifies the logging level from 0 (none) to 3 (everything). Typically only used for debugging (thus the name). The default debug level is 0. -

DeviceURI "regular expression" device-uri [... device-uri] -
Specifies one or more device URIs that should be used for a given make and model string. -The regular expression is used to match the detected make and model, and the device URI strings must be of the form "scheme://%s[:port]/[path]", where "%s" represents the detected address or hostname. +

+

DeviceURI "regular expression" device-uri [... device-uri]
+Specifies one or more device URIs that should be used for a given make and model string. +The regular expression is used to match the detected make and model, and the device URI strings must be of the form "scheme://%s[:port]/[path]", where "%s" represents the detected address or hostname. There are no default device URI matching rules. -

HostNameLookups on -
HostNameLookups off -
Specifies whether the addresses of printers should be converted to hostnames or left as numeric IP addresses. -The default is "off". -
MaxRunTime seconds -
Specifies the maximum number of seconds that the SNMP backend will scan the +

+

HostNameLookups on
+

+

HostNameLookups off
+Specifies whether the addresses of printers should be converted to hostnames or left as numeric IP addresses. +The default is "off". +

+

MaxRunTime seconds
+Specifies the maximum number of seconds that the SNMP backend will scan the network for printers. The default is 120 seconds (2 minutes). -

-

Notes

-CUPS backends are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Notes

+

CUPS backends are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-cups-snmp(8), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). - +

+

See Also

+

cups-snmp(8), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cups-snmp.html b/doc/help/man-cups-snmp.html index 4c823ca402..3812836d3f 100644 --- a/doc/help/man-cups-snmp.html +++ b/doc/help/man-cups-snmp.html @@ -1,57 +1,70 @@ - + - - - - cups-snmp(8) - - -

cups-snmp(8)

-

Name

-snmp - cups snmp backend (deprecated) -

Synopsis

-/usr/lib/cups/backend/snmp -ip-address-or-hostname + + + cups-snmp(8) + + +

cups-snmp(8)

+

Name

+

snmp - cups snmp backend (deprecated) +

+

Synopsis

+

/usr/lib/cups/backend/snmp +ip-address-or-hostname
-/usr/libexec/cups/backend/snmp -ip-address-or-hostname +/usr/libexec/cups/backend/snmp +ip-address-or-hostname
-lpinfo --v ---include-schemes +lpinfo +-v +--include-schemes snmp -

Description

-The DEPRECATED CUPS SNMP backend provides legacy discovery and identification of network printers using SNMPv1. -When used for discovery through the scheduler, the backend will list all printers that respond to a broadcast SNMPv1 query with the "public" community name. +

+

Description

+

The DEPRECATED CUPS SNMP backend provides legacy discovery and identification of network printers using SNMPv1. +When used for discovery through the scheduler, the backend will list all printers that respond to a broadcast SNMPv1 query with the "public" community name. Additional queries are then sent to printers that respond in order to determine the correct device URI, make and model, and other information needed for printing. -

In the first form, the SNMP backend is run directly by the user to look up the device URI and other information when you have an IP address or hostname. +

+

In the first form, the SNMP backend is run directly by the user to look up the device URI and other information when you have an IP address or hostname. This can be used for programs that need to configure print queues where the user has supplied an address but nothing else. -

In the second form, the SNMP backend is run indirectly using the -lpinfo(8) +

+

In the second form, the SNMP backend is run indirectly using the +lpinfo(8) + command. The output provides all printers detected via SNMP on the configured broadcast addresses. -Note: no broadcast addresses are configured by default. -

Environment

-The DebugLevel value can be overridden using the CUPS_DEBUG_LEVEL environment variable. +Note: no broadcast addresses are configured by default. +

+

Environment

+

The DebugLevel value can be overridden using the CUPS_DEBUG_LEVEL environment variable. The MaxRunTime value can be overridden using the CUPS_MAX_RUN_TIME environment variable. -

Files

-The SNMP backend reads the /etc/cups/snmp.conf configuration file, if +

+

Files

+

The SNMP backend reads the /etc/cups/snmp.conf configuration file, if present, to set the default broadcast address, community name, and logging level. -

Notes

-The CUPS SNMP backend is deprecated and will no longer be supported in a future +

+

Notes

+

The CUPS SNMP backend is deprecated and will no longer be supported in a future version of CUPS. -

Conforming To

-The CUPS SNMP backend uses the information from the Host, Printer, and Port Monitor MIBs along with some vendor private MIBs and intelligent port probes to determine the correct device URI and make and model for each printer. -

See Also

-backend(7), -cups-snmp.conf(5), -cupsd(8), -lpinfo(8), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

Conforming To

+

The CUPS SNMP backend uses the information from the Host, Printer, and Port Monitor MIBs along with some vendor private MIBs and intelligent port probes to determine the correct device URI and make and model for each printer. +

+

See Also

+

backend(7), + +cups-snmp.conf(5), - +cupsd(8), + +lpinfo(8), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cups.html b/doc/help/man-cups.html index 5dd1a559aa..28977fd8b3 100644 --- a/doc/help/man-cups.html +++ b/doc/help/man-cups.html @@ -1,123 +1,167 @@ - + - - - - cups(1) - - -

cups(1)

-

Name

-cups - a standards-based, open source printing system -

Description

-CUPS + + + cups(1) + + +

cups(1)

+

Name

+

cups - a standards-based, open source printing system +

+

Description

+

CUPS is the software you use to print from applications like word processors, email readers, photo editors, and web browsers. It converts the page descriptions produced by your application (put a paragraph here, draw a line there, and so forth) into something your printer can understand and then sends the information to the printer for printing. -

Now, since every printer manufacturer does things differently, printing can be very complicated. -CUPS +

+

Now, since every printer manufacturer does things differently, printing can be very complicated. +CUPS does its best to hide this from you and your application so that you can concentrate on printing and less on how to print. Generally, the only time you need to know anything about your printer is when you use it for the first time, and even then -CUPS +CUPS can often figure things out on its own. -

How Does It Work?

-The first time you print to a printer, -CUPS +

+

How Does It Work?

+

The first time you print to a printer, +CUPS creates a queue to keep track of the current status of the printer (everything OK, out of paper, etc.) and any pages you have printed. Most of the time the queue points to a printer connected directly to your computer via a USB port, however it can also point to a printer on your network, a printer on the Internet, or multiple printers depending on the configuration. Regardless of where the queue points, it will look like any other printer to you and your applications. -

Every time you print something, -CUPS +

+

Every time you print something, +CUPS creates a job which contains the queue you are sending the print to, the name of the document you are printing, and the page descriptions. Job are numbered (queue-1, queue-2, and so forth) so you can monitor the job as it is printed or cancel it if you see a mistake. When -CUPS +CUPS gets a job for printing, it determines the best programs (filters, printer drivers, port monitors, and backends) to convert the pages into a printable format and then runs them to actually print the job. -

When the print job is completely printed, -CUPS +

+

When the print job is completely printed, +CUPS removes the job from the queue and moves on to any other jobs you have submitted. You can also be notified when the job is finished, or if there are any errors during printing, in several different ways. -

Where Do I Begin?

-The easiest way to start is by using the web interface to configure your printer. Go to "http://localhost:631" and choose the Administration tab at the top of the page. Click/press on the Add Printer button and follow the prompts. -

When you are asked for a username and password, enter your login username and password or the "root" username and password. -

After the printer is added you will be asked to set the default printer options (paper size, output mode, etc.) for the printer. Make any changes as needed and then click/press on the Set Default Options button to save them. Some printers also support auto-configuration - click/press on the Query Printer for Default Options button to update the options automatically. -

Once you have added the printer, you can print to it from any application. You can also choose Print Test Page from the maintenance menu to print a simple test page and verify that everything is working properly. -

You can also use the -lpadmin(8) +

+

Where Do I Begin?

+

The easiest way to start is by using the web interface to configure your printer. Go to "http://localhost:631" and choose the Administration tab at the top of the page. Click/press on the Add Printer button and follow the prompts. +

+

When you are asked for a username and password, enter your login username and password or the "root" username and password. +

+

After the printer is added you will be asked to set the default printer options (paper size, output mode, etc.) for the printer. Make any changes as needed and then click/press on the Set Default Options button to save them. Some printers also support auto-configuration - click/press on the Query Printer for Default Options button to update the options automatically. +

+

Once you have added the printer, you can print to it from any application. You can also choose Print Test Page from the maintenance menu to print a simple test page and verify that everything is working properly. +

+

You can also use the +lpadmin(8) + and -lpinfo(8) +lpinfo(8) + commands to add printers to -CUPS. +CUPS. + Additionally, your operating system may include graphical user interfaces or automatically create printer queues when you connect a printer to your computer. -

How Do I Get Help?

-The -OpenPrintingCUPS +

+

How Do I Get Help?

+

The +OpenPrinting CUPS website (https://openprinting.github.io/cups) provides access to the -cups +cups and -cups-devel +cups-devel mailing lists, additional documentation and resources, and a bug report database. Most vendors also provide online discussion forums to ask printing questions for your operating system of choice. -

Environment

-CUPS +

+

Environment

+

CUPS commands use the following environment variables to override the default locations of files and so forth. For security reasons, these environment variables are ignored for setuid programs: -

-
CUPS_ANYROOT -
Whether to allow any X.509 certificate root (Y or N). -
CUPS_CACHEDIR -
The directory where semi-persistent cache files can be found. -
CUPS_DATADIR -
The directory where data files can be found. -
CUPS_ENCRYPTION -
The default level of encryption (Always, IfRequested, Never, Required). -
CUPS_EXPIREDCERTS -
Whether to allow expired X.509 certificates (Y or N). -
CUPS_GSSSERVICENAME -
The Kerberos service name used for authentication. -
CUPS_SERVER -
The hostname/IP address and port number of the CUPS scheduler (hostname:port or ipaddress:port). -
CUPS_SERVERBIN -
The directory where server helper programs, filters, backend, etc. can be found. -
CUPS_SERVERROOT -
The root directory of the server. -
CUPS_STATEDIR -
The directory where state files can be found. -
CUPS_USER -
Specifies the name of the user for print requests. -
HOME -
Specifies the home directory of the current user. -
IPP_PORT -
Specifies the default port number for IPP requests. -
LOCALEDIR -
Specifies the location of localization files. -
LPDEST -
Specifies the default print queue (System V standard). -
PRINTER -
Specifies the default print queue (Berkeley standard). -
TMPDIR -
Specifies the location of temporary files. -
-

Files

-
-~/.cups/client.conf
-~/.cups/lpoptions
+

+

CUPS_ANYROOT
+Whether to allow any X.509 certificate root (Y or N). +

+

CUPS_CACHEDIR
+The directory where semi-persistent cache files can be found. +

+

CUPS_DATADIR
+The directory where data files can be found. +

+

CUPS_ENCRYPTION
+The default level of encryption (Always, IfRequested, Never, Required). +

+

CUPS_EXPIREDCERTS
+Whether to allow expired X.509 certificates (Y or N). +

+

CUPS_GSSSERVICENAME
+The Kerberos service name used for authentication. +

+

CUPS_SERVER
+The hostname/IP address and port number of the CUPS scheduler (hostname:port or ipaddress:port). +

+

CUPS_SERVERBIN
+The directory where server helper programs, filters, backend, etc. can be found. +

+

CUPS_SERVERROOT
+The root directory of the server. +

+

CUPS_STATEDIR
+The directory where state files can be found. +

+

CUPS_USER
+Specifies the name of the user for print requests. +

+

HOME
+Specifies the home directory of the current user. +

+

IPP_PORT
+Specifies the default port number for IPP requests. +

+

LOCALEDIR
+Specifies the location of localization files. +

+

LPDEST
+Specifies the default print queue (System V standard). +

+

PRINTER
+Specifies the default print queue (Berkeley standard). +

+

TMPDIR
+Specifies the location of temporary files. +

+

Files

+
~/.cups/client.conf
+~/.cups/lpoptions
 
-

Conforming To

-CUPS +

Conforming To

+

CUPS conforms to the Internet Printing Protocol version 2.1 and implements the Berkeley and System V UNIX print commands. -

Notes

-CUPS printer drivers, backends, and PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Notes

+

CUPS printer drivers, backends, and PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-cancel(1), -client.conf(5), -cupsctl(8), -cupsd(8), -lp(1), -lpadmin(8), -lpinfo(8), -lpoptions(1), -lpr(1), -lprm(1), -lpq(1), -lpstat(1), +ippeveprinter(1). + +

+

See Also

+

cancel(1), + +client.conf(5), + +cupsctl(8), + +cupsd(8), + +lp(1), + +lpadmin(8), + +lpinfo(8), + +lpoptions(1), + +lpr(1), + +lprm(1), + +lpq(1), + +lpstat(1), + CUPS Online Help (http://localhost:631/help), OpenPrinting CUPS Web Site (https://openprinting.github.io/cups), PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsaccept.html b/doc/help/man-cupsaccept.html index dc6716f929..a18a923698 100644 --- a/doc/help/man-cupsaccept.html +++ b/doc/help/man-cupsaccept.html @@ -1,84 +1,98 @@ - + - - - - cupsaccept(8) - - -

cupsaccept(8)

-

Name

-cupsaccept/cupsreject - accept/reject jobs sent to a destination -

Synopsis

-cupsaccept + + + cupsaccept(8) + + +

cupsaccept(8)

+

Name

+

cupsaccept/cupsreject - accept/reject jobs sent to a destination +

+

Synopsis

+

cupsaccept [ --E +-E ] [ --U -username +-U +username ] [ --h -hostname[:port] +-h +hostname[:port] ] -destination(s) +destination(s)
-cupsreject +cupsreject [ --E +-E ] [ --U -username +-U +username ] [ --h -hostname[:port] +-h +hostname[:port] ] [ --r -reason +-r +reason ] -destination(s) -

Description

-The -cupsaccept -command instructs the printing system to accept print jobs to the specified destinations. +destination(s) +

+

Description

The -cupsreject +cupsaccept +command instructs the printing system to accept print jobs to the specified destinations. +

+

The +cupsreject command instructs the printing system to reject print jobs to the specified destinations. -The -r option sets the reason for rejecting print jobs. If not specified, the reason defaults to "Reason Unknown". -

Options

-The following options are supported by both -cupsaccept +The -r option sets the reason for rejecting print jobs. If not specified, the reason defaults to "Reason Unknown". +

+

Options

+

The following options are supported by both +cupsaccept and -cupsreject: -

-
-E -
Forces encryption when connecting to the server. -
-U username -
Sets the username that is sent when connecting to the server. -
-h hostname[:port] -
Chooses an alternate server. -
-r "reason" -
Sets the reason string that is shown for a printer that is rejecting jobs. -
-

Conforming To

-The -cupsaccept +cupsreject: + +

+

-E
+Forces encryption when connecting to the server. +

+

-U username
+Sets the username that is sent when connecting to the server. +

+

-h hostname[:port]
+Chooses an alternate server. +

+

-r "reason"
+Sets the reason string that is shown for a printer that is rejecting jobs. +

+

Conforming To

+

The +cupsaccept and -cupsreject -commands correspond to the System V printing system commands "accept" and "reject", respectively. -Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". -Also, printer and class names are not case-sensitive. -

Finally, the CUPS versions may ask the user for an access password depending on the printing system configuration. -

See Also

-cancel(1), -cupsenable(8), -lp(1), -lpadmin(8), -lpstat(1), +cupsreject +commands correspond to the System V printing system commands "accept" and "reject", respectively. +Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". +Also, printer and class names are not case-sensitive. +

+

Finally, the CUPS versions may ask the user for an access password depending on the printing system configuration. +

+

See Also

+

cancel(1), + +cupsenable(8), + +lp(1), + +lpadmin(8), + +lpstat(1), +
CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsctl.html b/doc/help/man-cupsctl.html index 6ddf30bc62..f205c5bffa 100644 --- a/doc/help/man-cupsctl.html +++ b/doc/help/man-cupsctl.html @@ -1,91 +1,107 @@ - + - - - - cupsctl(8) - - -

cupsctl(8)

-

Name

-cupsctl - configure cupsd.conf options -

Synopsis

-cupsctl + + + cupsctl(8) + + +

cupsctl(8)

+

Name

+

cupsctl - configure cupsd.conf options +

+

Synopsis

+

cupsctl [ --h -server[:port] +-h +server[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ ---[no-]debug-logging +--[no-]debug-logging ] [ ---[no-]remote-admin +--[no-]remote-admin ] [ ---[no-]remote-any +--[no-]remote-any ] [ ---[no-]share-printers +--[no-]share-printers ] [ ---[no-]user-cancel-any +--[no-]user-cancel-any ] [ -name=value +name=value ] -

Description

-cupsctl updates or queries the cupsd.conf file for a server. When +

+

Description

+

cupsctl updates or queries the cupsd.conf file for a server. When no changes are requested, the current configuration values are written to the -standard output in the format "name=value", one per line. -

Options

-The following options are recognized: -
-
-E -
Enables encryption on the connection to the scheduler. -
-U username -
Specifies an alternate username to use when authenticating with the scheduler. -
-h server[:port] -
Specifies the server address. +standard output in the format "name=value", one per line. +

+

Options

+

The following options are recognized: +

+

-E
+Enables encryption on the connection to the scheduler. +

+

-U username
+Specifies an alternate username to use when authenticating with the scheduler. +

+

-h server[:port]
+Specifies the server address. Note: This option must occur before all others. -

--[no-]debug-logging -
Enables (disables) debug logging to the error_log file. -
--[no-]remote-admin -
Enables (disables) remote administration. -
--[no-]remote-any -
Enables (disables) printing from any address, e.g., the Internet. -
--[no-]share-printers -
Enables (disables) sharing of local printers with other computers. -
--[no-]user-cancel-any -
Allows (prevents) users to cancel jobs owned by others. -
-

Examples

-Display the current settings: -
+

+

--[no-]debug-logging
+Enables (disables) debug logging to the error_log file. +

+

--[no-]remote-admin
+Enables (disables) remote administration. +

+

--[no-]remote-any
+Enables (disables) printing from any address, e.g., the Internet. +

+

--[no-]share-printers
+Enables (disables) sharing of local printers with other computers. +

+

--[no-]user-cancel-any
+Allows (prevents) users to cancel jobs owned by others. +

+

Examples

+

Display the current settings: +

+
     cupsctl
 
 
-Enable debug logging: -
+

Enable debug logging: +

+
     cupsctl --debug-logging
 
 
-Get the current debug logging state: -
+

Get the current debug logging state: +

+
     cupsctl | grep '^_debug_logging' | awk -F= '{print $2}'
 
 
-Disable printer sharing: -
+

Disable printer sharing: +

+
     cupsctl --no-share-printers
 
-

Known Issues

-You cannot set the Listen or Port directives using cupsctl. -

See Also

-cupsd.conf(5), -cupsd(8), +

Known Issues

+

You cannot set the Listen or Port directives using cupsctl. +

+

See Also

+

cupsd.conf(5), + +cupsd(8), +
CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsd-helper.html b/doc/help/man-cupsd-helper.html index f4532df4c2..f6259a1e47 100644 --- a/doc/help/man-cupsd-helper.html +++ b/doc/help/man-cupsd-helper.html @@ -1,87 +1,107 @@ - + - - - - cupsd-helper(8) - - -

cupsd-helper(8)

-

Name

-cupsd-helper - cupsd helper programs (deprecated) -

Synopsis

-cups-deviced -request-id -limit -user-id -options + + + cupsd-helper(8) + + +

cupsd-helper(8)

+

Name

+

cupsd-helper - cupsd helper programs (deprecated) +

+

Synopsis

+

cups-deviced +request-id +limit +user-id +options
-cups-driverd -cat -ppd-name +cups-driverd +cat +ppd-name
-cups-driverd -list -request_id -limit -options +cups-driverd +list +request_id +limit +options
-cups-exec -sandbox-profile +cups-exec +sandbox-profile [ --g -group-id +-g +group-id ] [ --n -nice-value +-n +nice-value ] [ --u -user-id +-u +user-id ] -/path/to/program -argv0 -... -argvN -

Description

-The cupsd-helper programs perform long-running operations on behalf of the scheduler, -cupsd(8). -The cups-deviced helper program runs each CUPS -backend(7) +/path/to/program +argv0 +... +argvN +

+

Description

+

The cupsd-helper programs perform long-running operations on behalf of the scheduler, +cupsd(8). + +The cups-deviced helper program runs each CUPS +backend(7) + with no arguments in order to discover the available printers. -

The cups-driverd helper program lists all available printer drivers, a subset of "matching" printer drivers, or a copy of a specific driver PPD file. -

The cups-exec helper program runs backends, filters, and other programs. On macOS these programs are run in a secure sandbox. -

Files

-The cups-driverd program looks for PPD and driver information files in the following directories: -
-    /Library/Printers
-    /opt/share/ppd
-    /System/Library/Printers
-    /usr/local/share/ppd
-    /usr/share/cups/drv
-    /usr/share/cups/model
-    /usr/share/ppd
+

+

The cups-driverd helper program lists all available printer drivers, a subset of "matching" printer drivers, or a copy of a specific driver PPD file. +

+

The cups-exec helper program runs backends, filters, and other programs. On macOS these programs are run in a secure sandbox. +

+

Files

+

The cups-driverd program looks for PPD and driver information files in the following directories: +

+
+    /Library/Printers
+    /opt/share/ppd
+    /System/Library/Printers
+    /usr/local/share/ppd
+    /usr/share/cups/drv
+    /usr/share/cups/model
+    /usr/share/ppd
 
-

PPD files can be compressed using the -gzip(1) +

PPD files can be compressed using the +gzip(1) + program or placed in compressed -tar(1) +tar(1) + archives to further reduce their size. -

Driver information files must conform to the format defined in -ppdcfile(5). -

Notes

-CUPS printer drivers, backends, and PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Driver information files must conform to the format defined in +ppdcfile(5). + +

+

Notes

+

CUPS printer drivers, backends, and PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-backend(7), -cups(1), -cupsd(8), -cupsd.conf(5), -filter(7), -ppdcfile(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

backend(7), - +cups(1), + +cupsd(8), + +cupsd.conf(5), + +filter(7), + +ppdcfile(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsd-logs.html b/doc/help/man-cupsd-logs.html index 2f79573ac6..035a20609c 100644 --- a/doc/help/man-cupsd-logs.html +++ b/doc/help/man-cupsd-logs.html @@ -1,178 +1,236 @@ - + - - - - cupsd-logs(5) - - -

cupsd-logs(5)

-

Name

-cupsd-logs - cupsd log files (access_log, error_log, and page_log) -

Description

-cupsd(8) -normally maintains three log files: access_log to track requests that are submitted to the scheduler, error_log to track progress and errors, and page_log to track pages that are printed. + + + cupsd-logs(5) + + +

cupsd-logs(5)

+

Name

+

cupsd-logs - cupsd log files (access_log, error_log, and page_log) +

+

Description

+

cupsd(8) + +normally maintains three log files: access_log to track requests that are submitted to the scheduler, error_log to track progress and errors, and page_log to track pages that are printed. Configuration directives in -cupsd.conf(5) +cupsd.conf(5) + and -cups-files.conf(5) +cups-files.conf(5) + control what information is logged and where it is stored. -

Access Log File Format

-The access_log file lists each HTTP resource that is accessed by a web browser or client. -Each line is in an extended version of the so-called "Common Log Format" used by many web servers and web reporting tools: -
-    host group user date-time "method resource version" status bytes
-      ipp-operation ipp-status
+

+

Access Log File Format

+

The access_log file lists each HTTP resource that is accessed by a web browser or client. +Each line is in an extended version of the so-called "Common Log Format" used by many web servers and web reporting tools: +

+
+    host group user date-time "method resource version" status bytes
+      ipp-operation ipp-status
 
 
-For example: -
-    10.0.1.2 - - [01/Dec/2005:21:50:28 +0000] "POST / HTTP/1.1" 200 317
+

For example: +

+
+    10.0.1.2 - - [01/Dec/2005:21:50:28 +0000] "POST / HTTP/1.1" 200 317
       CUPS-Get-Printers successful-ok-ignored-or-substituted-attributes
-    localhost - - [01/Dec/2005:21:50:32 +0000] "GET /admin HTTP/1.1"
+    localhost - - [01/Dec/2005:21:50:32 +0000] "GET /admin HTTP/1.1"
       200 0 - -
-    localhost - - [01/Dec/2005:21:50:32 +0000] "POST / HTTP/1.1"
+    localhost - - [01/Dec/2005:21:50:32 +0000] "POST / HTTP/1.1"
       200 157 CUPS-Get-Printers
       successful-ok-ignored-or-substituted-attributes
-    localhost - - [01/Dec/2005:21:50:32 +0000] "POST / HTTP/1.1"
+    localhost - - [01/Dec/2005:21:50:32 +0000] "POST / HTTP/1.1"
       200 1411 CUPS-Get-Devices -
-    localhost - - [01/Dec/2005:21:50:32 +0000] "GET /admin HTTP/1.1"
+    localhost - - [01/Dec/2005:21:50:32 +0000] "GET /admin HTTP/1.1"
       200 6667 - -
 
 
-The host field will normally only be an IP address unless you have enabled the HostNameLookups directive in the cupsd.conf file or if the IP address corresponds to your local machine. -

The group field always contains "-". -

The user field is the authenticated username of the requesting user. -If no username and password is supplied for the request then this field contains "-". -

The date-time field is the date and time of the request in local time and is in the format "[DD/MON/YYYY:HH:MM:SS +ZZZZ]". -

The method field is the HTTP method used: "GET", "HEAD", "OPTIONS", "POST", or "PUT". -"GET" requests are used to get files from the server, both for the web interface and to get configuration and log files. -"HEAD" requests are used to get information about a resource prior to a "GET". -"OPTIONS" requests are used to upgrade connections to TLS encryption. -"POST" requests are used for web interface forms and IPP requests. -"PUT" requests are used to upload configuration files. -

The resource field is the filename of the requested resource. -

The version field is the HTTP specification version used by the client. -For CUPS clients this will always be "HTTP/1.1". -

The status field contains the HTTP result status of the request, as follows: -

-
-
200 -
Successful operation. -
201 -
File created/modified successfully. -
304 -
The requested file has not changed. -
400 -
Bad HTTP request; typically this means that you have a malicious program trying to access your server. -
401 -
Unauthorized, authentication (username + password) is required. -
403 -
Access is forbidden; typically this means that a client tried to access a file or resource they do not have permission to access. -
404 -
The file or resource does not exist. -
405 -
URL access method is not allowed; typically this means you have a web browser using your server as a proxy. -
413 -
Request too large; typically this means that a client tried to print a file larger than the MaxRequestSize allows. -
426 -
Upgrading to TLS-encrypted connection. -
500 -
Server error; typically this happens when the server is unable to open/create a file - consult the error_log file for details. -
501 -
The client requested encryption but encryption support is not enabled/compiled in. -
505 -
HTTP version number not supported; typically this means that you have a malicious program trying to access your server. -
- -

The bytes field contains the number of bytes in the request. +

The host field will normally only be an IP address unless you have enabled the HostNameLookups directive in the cupsd.conf file or if the IP address corresponds to your local machine. +

+

The group field always contains "-". +

+

The user field is the authenticated username of the requesting user. +If no username and password is supplied for the request then this field contains "-". +

+

The date-time field is the date and time of the request in local time and is in the format "[DD/MON/YYYY:HH:MM:SS +ZZZZ]". +

+

The method field is the HTTP method used: "GET", "HEAD", "OPTIONS", "POST", or "PUT". +"GET" requests are used to get files from the server, both for the web interface and to get configuration and log files. +"HEAD" requests are used to get information about a resource prior to a "GET". +"OPTIONS" requests are used to upgrade connections to TLS encryption. +"POST" requests are used for web interface forms and IPP requests. +"PUT" requests are used to upload configuration files. +

+

The resource field is the filename of the requested resource. +

+

The version field is the HTTP specification version used by the client. +For CUPS clients this will always be "HTTP/1.1". +

+

The status field contains the HTTP result status of the request, as follows: +

+

+

200
+Successful operation. +

+

201
+File created/modified successfully. +

+

304
+The requested file has not changed. +

+

400
+Bad HTTP request; typically this means that you have a malicious program trying to access your server. +

+

401
+Unauthorized, authentication (username + password) is required. +

+

403
+Access is forbidden; typically this means that a client tried to access a file or resource they do not have permission to access. +

+

404
+The file or resource does not exist. +

+

405
+URL access method is not allowed; typically this means you have a web browser using your server as a proxy. +

+

413
+Request too large; typically this means that a client tried to print a file larger than the MaxRequestSize allows. +

+

426
+Upgrading to TLS-encrypted connection. +

+

500
+Server error; typically this happens when the server is unable to open/create a file - consult the error_log file for details. +

+

501
+The client requested encryption but encryption support is not enabled/compiled in. +

+

505
+HTTP version number not supported; typically this means that you have a malicious program trying to access your server. +

+

+

The bytes field contains the number of bytes in the request. For POST requests the bytes field contains the number of bytes of non-IPP data that is received from the client. -

The ipp-operation field contains either "-" for non-IPP requests or the IPP operation name for POST requests containing an IPP request. -

The ipp-status field contains either "-" for non-IPP requests or the IPP status code name for POST requests containing an IPP response. -

Error Log File Format

-The error_log file lists messages from the scheduler - errors, warnings, etc. The LogLevel directive in the -cupsd.conf(5) +

+

The ipp-operation field contains either "-" for non-IPP requests or the IPP operation name for POST requests containing an IPP request. +

+

The ipp-status field contains either "-" for non-IPP requests or the IPP status code name for POST requests containing an IPP response. +

+

Error Log File Format

+

The error_log file lists messages from the scheduler - errors, warnings, etc. The LogLevel directive in the +cupsd.conf(5) + file controls which messages are logged: -

+

+
     level date-time message
 
 
-For example: -
+

For example: +

+
     I [20/May/1999:19:18:28 +0000] [Job 1] Queued on 'DeskJet' by 'mike'.
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[0]="DeskJet"
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[1]="1"
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[2]="mike"
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[3]="myjob"
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[4]="1"
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[5]="media=
-      na_letter_8.5x11in sides=one-sided"
-    D [20/May/1999:19:18:28 +0000] [Job 1] argv[6]="/var/spool/cups/
-      d000001-001"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[0]="DeskJet"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[1]="1"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[2]="mike"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[3]="myjob"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[4]="1"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[5]="media=
+      na_letter_8.5x11in sides=one-sided"
+    D [20/May/1999:19:18:28 +0000] [Job 1] argv[6]="/var/spool/cups/
+      d000001-001"
     I [20/May/1999:19:21:02 +0000] [Job 2] Queued on 'DeskJet' by 'mike'.
     I [20/May/1999:19:22:24 +0000] [Job 2] Canceled by 'mike'.
 
 
-The level field contains the type of message: -
-
A -
Alert message (LogLevel alert) -
C -
Critical error message (LogLevel crit) -
D -
Debugging message (LogLevel debug) -
d -
Detailed debugging message (LogLevel debug2) -
E -
Normal error message (LogLevel error) -
I -
Informational message (LogLevel info) -
N -
Notice message (LogLevel notice) -
W -
Warning message (LogLevel warn) -
X -
Emergency error message (LogLevel emerg) -
-

The date-time field contains the date and time of when the page started printing. The format of this field is identical to the data-time field in the access_log file. -

The message field contains a free-form textual message. -Messages from job filters are prefixed with "[Job NNN]" where "NNN" is the job ID. -

Page Log File Format

-The page_log file lists the total number of pages (sheets) that are printed. +

The level field contains the type of message: +

+

A
+Alert message (LogLevel alert) +

+

C
+Critical error message (LogLevel crit) +

+

D
+Debugging message (LogLevel debug) +

+

d
+Detailed debugging message (LogLevel debug2) +

+

E
+Normal error message (LogLevel error) +

+

I
+Informational message (LogLevel info) +

+

N
+Notice message (LogLevel notice) +

+

W
+Warning message (LogLevel warn) +

+

X
+Emergency error message (LogLevel emerg) +

+

The date-time field contains the date and time of when the page started printing. The format of this field is identical to the data-time field in the access_log file. +

+

The message field contains a free-form textual message. +Messages from job filters are prefixed with "[Job NNN]" where "NNN" is the job ID. +

+

Page Log File Format

+

The page_log file lists the total number of pages (sheets) that are printed. By default, each line contains the following information: -

-    printer user job-id date-time total num-sheets job-billing
-      job-originating-host-name job-name media sides
+

+
+    printer user job-id date-time total num-sheets job-billing
+      job-originating-host-name job-name media sides
 
 
-For example the entry for a two page job called "myjob" might look like: -
+

For example the entry for a two page job called "myjob" might look like: +

+
     DeskJet root 1 [20/May/1999:19:21:06 +0000] total 2 acme-123
       localhost myjob na_letter_8.5x11in one-sided
 
 
-The PageLogFormat directive in the -cupsd.conf(5) +

The PageLogFormat directive in the +cupsd.conf(5) + file can be used to change this information. -

The printer field contains the name of the printer that printed the page. +

+

The printer field contains the name of the printer that printed the page. If you send a job to a printer class, this field will contain the name of the printer that was assigned the job. -

The user field contains the name of the user (the IPP requesting-user-name attribute) that submitted this file for printing. -

The job-id field contains the job number of the page being printed. -

The date-time field contains the date and time of when the page started printing. -The format of this field is identical to the data-time field in the access_log file. -

The num-sheets field provides the total number of pages (sheets) that have been printed on for the job. -

The job-billing field contains a copy of the job-billing or job-account-id attributes provided with the IPP Create-Job or Print-Job requests or "-" if neither was provided. -

The job-originating-host-name field contains the hostname or IP address of the client that printed the job. -

The job-name field contains a copy of the job-name attribute provided with the IPP Create-Job or Print-Job requests or "-" if none was provided. -

The media field contains a copy of the media or media-col/media-size attribute provided with the IPP Create-Job or Print-Job requests or "-" if none was provided. -

The sides field contains a copy of the sides attribute provided with the IPP Create-Job or Print-Job requests or "-" if none was provided. -

See Also

-cupsd(8), -cupsd.conf(5), -cups-files.conf(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

The user field contains the name of the user (the IPP requesting-user-name attribute) that submitted this file for printing. +

+

The job-id field contains the job number of the page being printed. +

+

The date-time field contains the date and time of when the page started printing. +The format of this field is identical to the data-time field in the access_log file. +

+

The num-sheets field provides the total number of pages (sheets) that have been printed on for the job. +

+

The job-billing field contains a copy of the job-billing or job-account-id attributes provided with the IPP Create-Job or Print-Job requests or "-" if neither was provided. +

+

The job-originating-host-name field contains the hostname or IP address of the client that printed the job. +

+

The job-name field contains a copy of the job-name attribute provided with the IPP Create-Job or Print-Job requests or "-" if none was provided. +

+

The media field contains a copy of the media or media-col/media-size attribute provided with the IPP Create-Job or Print-Job requests or "-" if none was provided. +

+

The sides field contains a copy of the sides attribute provided with the IPP Create-Job or Print-Job requests or "-" if none was provided. +

+

See Also

+

cupsd(8), + +cupsd.conf(5), - +cups-files.conf(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsd.conf.html b/doc/help/man-cupsd.conf.html index 4fd42f3141..d7b3ae414c 100644 --- a/doc/help/man-cupsd.conf.html +++ b/doc/help/man-cupsd.conf.html @@ -1,619 +1,864 @@ - + - - - - cupsd.conf(5) - - -

cupsd.conf(5)

-

Name

-cupsd.conf - server configuration file for cups -

Description

-The -cupsd.conf + + + cupsd.conf(5) + + +

cupsd.conf(5)

+

Name

+

cupsd.conf - server configuration file for cups +

+

Description

+

The +cupsd.conf file configures the CUPS scheduler, -cupsd(8). +cupsd(8). + It is normally located in the -/etc/cups +/etc/cups directory. Each line in the file can be a configuration directive, a blank line, or a comment. Configuration directives typically consist of a name and zero or more values separated by whitespace. The configuration directive name and values are case-insensitive. Comment lines start with the # character. -

Top-level Directives

-The following top-level directives are understood by -cupsd(8): -
-
AccessLogLevel config -
AccessLogLevel actions -
AccessLogLevel all -
Specifies the logging level for the AccessLog file. -The "config" level logs when printers and classes are added, deleted, or modified and when configuration files are accessed or updated. -The "actions" level logs when print jobs are submitted, held, released, modified, or canceled, and any of the conditions for "config". -The "all" level logs all requests. -The default access log level is "actions". -
AutoPurgeJobs Yes -
AutoPurgeJobs No -

+

+

Top-Level Directives

+

The following top-level directives are understood by +cupsd(8): + +

+

AccessLogLevel config
+

+

AccessLogLevel actions
+

+

AccessLogLevel all
+Specifies the logging level for the AccessLog file. +The "config" level logs when printers and classes are added, deleted, or modified and when configuration files are accessed or updated. +The "actions" level logs when print jobs are submitted, held, released, modified, or canceled, and any of the conditions for "config". +The "all" level logs all requests. +The default access log level is "actions". +

+

AutoPurgeJobs Yes
+

+

AutoPurgeJobs No
+
Specifies whether to purge job history data automatically when it is no longer required for quotas. -The default is "No". -

BrowseDNSSDSubTypes_subtype[,...] -
Specifies a list of Bonjour sub-types to advertise for each shared printer. -For example, "BrowseDNSSDSubTypes _cups,_print" will tell network clients that both CUPS sharing and IPP Everywhere are supported. -The default is "_cups" which is necessary for printer sharing to work between systems using CUPS. -
BrowseLocalProtocols all -
BrowseLocalProtocols dnssd -
BrowseLocalProtocols none -
Specifies which protocols to use for local printer sharing. -The default is "dnssd" on systems that support Bonjour and "none" otherwise. -
BrowseWebIF Yes -
BrowseWebIF No -

+The default is "No". +

+

BrowseDNSSDSubTypes_subtype[,...] +
+Specifies a list of Bonjour sub-types to advertise for each shared printer. +For example, "BrowseDNSSDSubTypes _cups,_print" will tell network clients that both CUPS sharing and IPP Everywhere are supported. +The default is "_cups" which is necessary for printer sharing to work between systems using CUPS. +

+

BrowseLocalProtocols all
+

+

BrowseLocalProtocols dnssd
+

+

BrowseLocalProtocols none
+Specifies which protocols to use for local printer sharing. +The default is "dnssd" on systems that support Bonjour and "none" otherwise. +

+

BrowseWebIF Yes
+

+

BrowseWebIF No
+
Specifies whether the CUPS web interface is advertised. -The default is "No". -

Browsing Yes -
Browsing No -

+The default is "No". +

+

Browsing Yes
+

+

Browsing No
+
Specifies whether shared printers are advertised. -The default is "No". -

DefaultAuthType Basic -

+The default is "No". +

+

DefaultAuthType Basic
+
Specifies the default type of authentication to use. -The default is "Basic". -

DefaultEncryption Never -
DefaultEncryption IfRequested -
DefaultEncryption Required -
Specifies whether encryption will be used for authenticated requests. -The default is "Required". -
DefaultLanguage locale -
Specifies the default language to use for text and web content. -The default is "en". -
DefaultPaperSize Auto -
DefaultPaperSize None -
DefaultPaperSize sizename -
Specifies the default paper size for new print queues. "Auto" uses a locale-specific default, while "None" specifies there is no default paper size. -Specific size names are typically "Letter" or "A4". -The default is "Auto". +The default is "Basic". +

+

DefaultEncryption Never
+

+

DefaultEncryption IfRequested
+

+

DefaultEncryption Required
+Specifies whether encryption will be used for authenticated requests. +The default is "Required". +

+

DefaultLanguage locale
+Specifies the default language to use for text and web content. +The default is "en". +

+

DefaultPaperSize Auto
+

+

DefaultPaperSize None
+

+

DefaultPaperSize sizename
+Specifies the default paper size for new print queues. "Auto" uses a locale-specific default, while "None" specifies there is no default paper size. +Specific size names are typically "Letter" or "A4". +The default is "Auto". Note: The default paper size must use a size name from the PPD file and not a PWG self-describing media size name. -

DefaultPolicy policy-name -
Specifies the default access policy to use. -The default access policy is "default". -
DefaultShared Yes -
DefaultShared No -
Specifies whether local printers are shared by default. -The default is "Yes". -
DirtyCleanInterval seconds -
Specifies the delay for updating of configuration and state files. +

+

DefaultPolicy policy-name
+Specifies the default access policy to use. +The default access policy is "default". +

+

DefaultShared Yes
+

+

DefaultShared No
+Specifies whether local printers are shared by default. +The default is "Yes". +

+

DirtyCleanInterval seconds
+Specifies the delay for updating of configuration and state files. A value of 0 causes the update to happen as soon as possible, typically within a few milliseconds. -The default value is "30". -

DNSSDHostNamehostname.example.com -
Specifies the fully-qualified domain name for the server that is used for Bonjour sharing. -The default is typically the server's ".local" hostname. -
ErrorPolicy abort-job -
Specifies that a failed print job should be aborted (discarded) unless otherwise specified for the printer. -
ErrorPolicy retry-current-job -
Specifies that a failed print job should be retried immediately unless otherwise specified for the printer. -
ErrorPolicy retry-job -
Specifies that a failed print job should be retried at a later time unless otherwise specified for the printer. -
ErrorPolicy stop-printer -
Specifies that a failed print job should stop the printer unless otherwise specified for the printer. The 'stop-printer' error policy is the default. -
FilterLimit limit -
Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource problems. +The default value is "30". +

+

DNSSDHostNamehostname.example.com +
+Specifies the fully-qualified domain name for the server that is used for Bonjour sharing. +The default is typically the server's ".local" hostname. +

+

ErrorPolicy abort-job
+Specifies that a failed print job should be aborted (discarded) unless otherwise specified for the printer. +

+

ErrorPolicy retry-current-job
+Specifies that a failed print job should be retried immediately unless otherwise specified for the printer. +

+

ErrorPolicy retry-job
+Specifies that a failed print job should be retried at a later time unless otherwise specified for the printer. +

+

ErrorPolicy stop-printer
+Specifies that a failed print job should stop the printer unless otherwise specified for the printer. The 'stop-printer' error policy is the default. +

+

FilterLimit limit
+Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource problems. A limit of 0 disables filter limiting. An average print to a non-PostScript printer needs a filter limit of about 200. A PostScript printer needs about half that (100). Setting the limit below these thresholds will effectively limit the scheduler to printing a single job at any time. -The default limit is "0". -

FilterNice nice-value -
Specifies the scheduling priority ( -nice(8) +The default limit is "0". +

+

FilterNice nice-value
+Specifies the scheduling priority ( +nice(8) + value) of filters that are run to print a job. The nice value ranges from 0, the highest priority, to 19, the lowest priority. The default is 0. -

HostNameLookups On -
HostNameLookups Off -
HostNameLookups Double -
Specifies whether to do reverse lookups on connecting clients. -The "Double" setting causes -cupsd(8) +

+

HostNameLookups On
+

+

HostNameLookups Off
+

+

HostNameLookups Double
+Specifies whether to do reverse lookups on connecting clients. +The "Double" setting causes +cupsd(8) + to verify that the hostname resolved from the address matches one of the addresses returned for that hostname. Double lookups also prevent clients with unregistered addresses from connecting to your server. -The default is "Off" to avoid the potential server performance problems with hostname lookups. -Only set this option to "On" or "Double" if absolutely required. -

IdleExitTimeout seconds -
Specifies the length of time to wait before shutting down due to inactivity. -The default is "60" seconds. +The default is "Off" to avoid the potential server performance problems with hostname lookups. +Only set this option to "On" or "Double" if absolutely required. +

+

IdleExitTimeout seconds
+Specifies the length of time to wait before shutting down due to inactivity. +The default is "60" seconds. Note: Only applicable when -cupsd(8) -is run on-demand (e.g., with -l). -

JobKillDelay seconds -
Specifies the number of seconds to wait before killing the filters and backend associated with a canceled or held job. -The default is "30". -
JobRetryInterval seconds -
Specifies the interval between retries of jobs in seconds. -This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job". -The default is "30". -
JobRetryLimit count -
Specifies the number of retries that are done for jobs. -This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job". -The default is "5". -
KeepAlive Yes -
KeepAlive No -
Specifies whether to support HTTP keep-alive connections. -The default is "Yes". -
<Limit operation ...> ... </Limit> -
Specifies the IPP operations that are being limited inside a Policy section. IPP operation names are listed below in the section "IPP OPERATION NAMES". -
<Limit method ...> ... </Limit> -
<LimitExcept method ...> ... </LimitExcept> -
Specifies the HTTP methods that are being limited inside a Location section. HTTP method names are listed below in the section "HTTP METHOD NAMES". -
LimitRequestBody size -
Specifies the maximum size of print files, IPP requests, and HTML form data. -The default is "0" which disables the limit check. -
Listen ipv4-address:port -
Listen [ipv6-address]:port -
Listen *:port -
Listen /path/to/domain/socket -
Listens to the specified address and port or domain socket path for connections. +cupsd(8) + +is run on-demand (e.g., with -l). +

+

JobKillDelay seconds
+Specifies the number of seconds to wait before killing the filters and backend associated with a canceled or held job. +The default is "30". +

+

JobRetryInterval seconds
+Specifies the interval between retries of jobs in seconds. +This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job". +The default is "30". +

+

JobRetryLimit count
+Specifies the number of retries that are done for jobs. +This is typically used for fax queues but can also be used with normal print queues whose error policy is "retry-job" or "retry-current-job". +The default is "5". +

+

KeepAlive Yes
+

+

KeepAlive No
+Specifies whether to support HTTP keep-alive connections. +The default is "Yes". +

+

<Limit operation ...> ... </Limit>
+Specifies the IPP operations that are being limited inside a Policy section. IPP operation names are listed below in the section "IPP OPERATION NAMES". +

+

<Limit method ...> ... </Limit>
+

+

<LimitExcept method ...> ... </LimitExcept>
+Specifies the HTTP methods that are being limited inside a Location section. HTTP method names are listed below in the section "HTTP METHOD NAMES". +

+

LimitRequestBody size
+Specifies the maximum size of print files, IPP requests, and HTML form data. +The default is "0" which disables the limit check. +

+

Listen ipv4-address:port
+

+

Listen [ipv6-address]:port
+

+

Listen *:port
+

+

Listen /path/to/domain/socket
+Listens to the specified address and port or domain socket path for connections. Multiple Listen directives can be provided to listen on multiple addresses. The Listen directive is similar to the Port directive but allows you to restrict access to specific interfaces or networks. -Note: "Listen *:port" and "Port port" effectively listen on all IP addresses, so you cannot combine them with Listen directives for explicit IPv4 or IPv6 addresses on the same port. -

<Location /path> ... </Location> -
Specifies access control for the named location. -Paths are documented below in the section "LOCATION PATHS". -
LogDebugHistory number -
Specifies the number of debugging messages that are retained for logging if an error occurs in a print job. Debug messages are logged regardless of the LogLevel setting. -
LogLevel none -
LogLevel emerg -
LogLevel alert -
LogLevel crit -
LogLevel error -
LogLevel warn -
LogLevel notice -
LogLevel info -
LogLevel debug -
LogLevel debug2 -
Specifies the level of logging for the ErrorLog file. -The value "none" stops all logging while "debug2" logs everything. -The default is "warn". -
LogTimeFormat standard -
LogTimeFormat usecs -
Specifies the format of the date and time in the log files. -The value "standard" is the default and logs whole seconds while "usecs" logs microseconds. -
MaxClients number -
Specifies the maximum number of simultaneous clients that are allowed by the scheduler. -The default is "100". -
MaxClientsPerHost number -
Specifies the maximum number of simultaneous clients that are allowed from a +Note: "Listen *:port" and "Port port" effectively listen on all IP addresses, so you cannot combine them with Listen directives for explicit IPv4 or IPv6 addresses on the same port. +

+

<Location /path> ... </Location>
+Specifies access control for the named location. +Paths are documented below in the section "LOCATION PATHS". +

+

LogDebugHistory number
+Specifies the number of debugging messages that are retained for logging if an error occurs in a print job. Debug messages are logged regardless of the LogLevel setting. +

+

LogLevel none
+

+

LogLevel emerg
+

+

LogLevel alert
+

+

LogLevel crit
+

+

LogLevel error
+

+

LogLevel warn
+

+

LogLevel notice
+

+

LogLevel info
+

+

LogLevel debug
+

+

LogLevel debug2
+Specifies the level of logging for the ErrorLog file. +The value "none" stops all logging while "debug2" logs everything. +The default is "warn". +

+

LogTimeFormat standard
+

+

LogTimeFormat usecs
+Specifies the format of the date and time in the log files. +The value "standard" is the default and logs whole seconds while "usecs" logs microseconds. +

+

MaxClients number
+Specifies the maximum number of simultaneous clients that are allowed by the scheduler. +The default is "100". +

+

MaxClientsPerHost number
+Specifies the maximum number of simultaneous clients that are allowed from a single address. The default is the MaxClients value. -

MaxCopies number -
Specifies the maximum number of copies that a user can print of each job. -The default is "9999". -
MaxHoldTime seconds -
Specifies the maximum time a job may remain in the "indefinite" hold state before it is canceled. -The default is "0" which disables cancellation of held jobs. -
MaxJobs number -
Specifies the maximum number of simultaneous jobs that are allowed. -Set to "0" to allow an unlimited number of jobs. -The default is "500". -
MaxJobsPerPrinter number -
Specifies the maximum number of simultaneous jobs that are allowed per printer. -The default is "0" which allows up to MaxJobs jobs per printer. -
MaxJobsPerUser number -
Specifies the maximum number of simultaneous jobs that are allowed per user. -The default is "0" which allows up to MaxJobs jobs per user. -
MaxJobTime seconds -
Specifies the maximum time a job may take to print before it is canceled. -Set to "0" to disable cancellation of "stuck" jobs. -The default is "10800" (3 hours). -
MaxLogSize size -
Specifies the maximum size of the log files before they are rotated. -The value "0" disables log rotation. -The default is "1048576" (1MB). -
MaxSubscriptions number -
Specifies the maximum number of simultaneous event subscriptions that are allowed. -Set to "0" to allow an unlimited number of subscriptions. -The default is "100". -
MaxSubscriptionsPerJob number -
Specifies the maximum number of simultaneous event subscriptions that are allowed per job. -The default is "0" which allows up to MaxSubscriptions subscriptions per job. -
MaxSubscriptionsPerPrinter number -
Specifies the maximum number of simultaneous event subscriptions that are allowed per printer. -The default is "0" which allows up to MaxSubscriptions subscriptions per printer. -
MaxSubscriptionsPerUser number -
Specifies the maximum number of simultaneous event subscriptions that are allowed per user. -The default is "0" which allows up to MaxSubscriptions subscriptions per user. -
MultipleOperationTimeout seconds -
Specifies the maximum amount of time to allow between files in a multiple file print job. -The default is "900" (15 minutes). -
<Policy name> ... </Policy> -
Specifies access control for the named policy. -
Port number -
Listens to the specified port number for connections. -
PreserveJobFiles Yes -
PreserveJobFiles No -
PreserveJobFiles seconds -
Specifies whether job files (documents) are preserved after a job is printed. +

+

MaxCopies number
+Specifies the maximum number of copies that a user can print of each job. +The default is "9999". +

+

MaxHoldTime seconds
+Specifies the maximum time a job may remain in the "indefinite" hold state before it is canceled. +The default is "0" which disables cancellation of held jobs. +

+

MaxJobs number
+Specifies the maximum number of simultaneous jobs that are allowed. +Set to "0" to allow an unlimited number of jobs. +The default is "500". +

+

MaxJobsPerPrinter number
+Specifies the maximum number of simultaneous jobs that are allowed per printer. +The default is "0" which allows up to MaxJobs jobs per printer. +

+

MaxJobsPerUser number
+Specifies the maximum number of simultaneous jobs that are allowed per user. +The default is "0" which allows up to MaxJobs jobs per user. +

+

MaxJobTime seconds
+Specifies the maximum time a job may take to print before it is canceled. +Set to "0" to disable cancellation of "stuck" jobs. +The default is "10800" (3 hours). +

+

MaxLogSize size
+Specifies the maximum size of the log files before they are rotated. +The value "0" disables log rotation. +The default is "1048576" (1MB). +

+

MaxSubscriptions number
+Specifies the maximum number of simultaneous event subscriptions that are allowed. +Set to "0" to allow an unlimited number of subscriptions. +The default is "100". +

+

MaxSubscriptionsPerJob number
+Specifies the maximum number of simultaneous event subscriptions that are allowed per job. +The default is "0" which allows up to MaxSubscriptions subscriptions per job. +

+

MaxSubscriptionsPerPrinter number
+Specifies the maximum number of simultaneous event subscriptions that are allowed per printer. +The default is "0" which allows up to MaxSubscriptions subscriptions per printer. +

+

MaxSubscriptionsPerUser number
+Specifies the maximum number of simultaneous event subscriptions that are allowed per user. +The default is "0" which allows up to MaxSubscriptions subscriptions per user. +

+

MultipleOperationTimeout seconds
+Specifies the maximum amount of time to allow between files in a multiple file print job. +The default is "900" (15 minutes). +

+

<Policy name> ... </Policy>
+Specifies access control for the named policy. +

+

Port number
+Listens to the specified port number for connections. +

+

PreserveJobFiles Yes
+

+

PreserveJobFiles No
+

+

PreserveJobFiles seconds
+Specifies whether job files (documents) are preserved after a job is printed. If a numeric value is specified, job files are preserved for the indicated number of seconds after printing. -The default is "86400" (preserve 1 day). -

PreserveJobHistory Yes -
PreserveJobHistory No -
PreserveJobHistory seconds -
Specifies whether the job history is preserved after a job is printed. +The default is "86400" (preserve 1 day). +

+

PreserveJobHistory Yes
+

+

PreserveJobHistory No
+

+

PreserveJobHistory seconds
+Specifies whether the job history is preserved after a job is printed. If a numeric value is specified, the job history is preserved for the indicated number of seconds after printing. -If "Yes", the job history is preserved until the MaxJobs limit is reached. -The default is "Yes". -

ReadyPaperSizes sizename[,...] -
Specifies a list of potential paper sizes that are reported as "ready" (loaded). +If "Yes", the job history is preserved until the MaxJobs limit is reached. +The default is "Yes". +

+

ReadyPaperSizes sizename[,...]
+Specifies a list of potential paper sizes that are reported as "ready" (loaded). The actual list will only contain sizes that each printer supports. -The default is "Letter,Legal,Tabloid,4x6,Env10" when the default paper size is "Letter" and "A3,A4,A5,A6,EnvDL" otherwise. +The default is "Letter,Legal,Tabloid,4x6,Env10" when the default paper size is "Letter" and "A3,A4,A5,A6,EnvDL" otherwise. Note: Paper sizes must use the size names from the PPD file and not PWG self-describing media size names. -

ReloadTimeout seconds -
Specifies the amount of time to wait for job completion before restarting the scheduler. -The default is "30". -
ServerAdmin email-address -
Specifies the email address of the server administrator. -The default value is "root@ServerName". -
ServerAlias hostname [ ... hostname ] -
ServerAlias * -
The ServerAlias directive is used for HTTP Host header validation when clients connect to the scheduler from external interfaces. -Using the special name "*" can expose your system to known browser-based DNS rebinding attacks, even when accessing sites through a firewall. -If the auto-discovery of alternate names does not work, we recommend listing each alternate name with a ServerAlias directive instead of using "*". -
ServerName hostname -
Specifies the fully-qualified hostname of the server. +

+

ReloadTimeout seconds
+Specifies the amount of time to wait for job completion before restarting the scheduler. +The default is "30". +

+

ServerAdmin email-address
+Specifies the email address of the server administrator. +The default value is "root@ServerName". +

+

ServerAlias hostname [ ... hostname ]
+

+

ServerAlias *
+The ServerAlias directive is used for HTTP Host header validation when clients connect to the scheduler from external interfaces. +Using the special name "*" can expose your system to known browser-based DNS rebinding attacks, even when accessing sites through a firewall. +If the auto-discovery of alternate names does not work, we recommend listing each alternate name with a ServerAlias directive instead of using "*". +

+

ServerName hostname
+Specifies the fully-qualified hostname of the server. The default is the value reported by the -hostname(1) +hostname(1) + command. -

ServerTokens None -
ServerTokens ProductOnly -
ServerTokens Major -
ServerTokens Minor -
ServerTokens Minimal -
ServerTokens OS -
ServerTokens Full -
Specifies what information is included in the Server header of HTTP responses. -"None" disables the Server header. -"ProductOnly" reports "CUPS". -"Major" reports "CUPS/major IPP/2". -"Minor" reports "CUPS/major.minor IPP/2.1". -"Minimal" reports "CUPS/major.minor.patch IPP/2.1". -"OS" reports "CUPS/major.minor.path (osname osversion) IPP/2.1". -"Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1". -The default is "Minimal". -
SSLListen ipv4-address:port -
SSLListen [ipv6-address]:port -
SSLListen *:port -
Listens on the specified address and port for encrypted connections. -
SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0] [MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1] [MinTLS1.2] [MinTLS1.3] -
SSLOptions None -
Sets encryption options (only in /etc/cups/client.conf). +

+

ServerTokens None
+

+

ServerTokens ProductOnly
+

+

ServerTokens Major
+

+

ServerTokens Minor
+

+

ServerTokens Minimal
+

+

ServerTokens OS
+

+

ServerTokens Full
+Specifies what information is included in the Server header of HTTP responses. +"None" disables the Server header. +"ProductOnly" reports "CUPS". +"Major" reports "CUPS/major IPP/2". +"Minor" reports "CUPS/major.minor IPP/2.1". +"Minimal" reports "CUPS/major.minor.patch IPP/2.1". +"OS" reports "CUPS/major.minor.path (osname osversion) IPP/2.1". +"Full" reports "CUPS/major.minor.path (osname osversion; architecture) IPP/2.1". +The default is "Minimal". +

+

SSLListen ipv4-address:port
+

+

SSLListen [ipv6-address]:port
+

+

SSLListen *:port
+Listens on the specified address and port for encrypted connections. +

+

+

SSLOptions [AllowDH] [AllowRC4] [AllowSSL3] [DenyCBC] [DenyTLS1.0] [MaxTLS1.0] [MaxTLS1.1] [MaxTLS1.2] [MaxTLS1.3] [MinTLS1.0] [MinTLS1.1] [MinTLS1.2] [MinTLS1.3]
+

+

SSLOptions None
+Sets encryption options (only in /etc/cups/client.conf). By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites. -Security is reduced when Allow options are used. -Security is enhanced when Deny options are used. -The AllowDH option enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS). -The AllowRC4 option enables the 128-bit RC4 cipher suites, which are required for some older clients. -The AllowSSL3 option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0. -The DenyCBC option disables all CBC cipher suites. -The DenyTLS1.0 option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1. -The MinTLS options set the minimum TLS version to support. -The MaxTLS options set the maximum TLS version to support. +Security is reduced when Allow options are used. +Security is enhanced when Deny options are used. +The AllowDH option enables cipher suites using plain Diffie-Hellman key negotiation (not supported on systems using GNU TLS). +The AllowRC4 option enables the 128-bit RC4 cipher suites, which are required for some older clients. +The AllowSSL3 option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0. +The DenyCBC option disables all CBC cipher suites. +The DenyTLS1.0 option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1. +The MinTLS options set the minimum TLS version to support. +The MaxTLS options set the maximum TLS version to support. Not all operating systems support TLS 1.3 at this time. -

SSLPort port -
Listens on the specified port for encrypted connections. -
StrictConformance Yes -
StrictConformance No -
Specifies whether the scheduler requires clients to strictly adhere to the IPP specifications. -The default is "No". -
Timeout seconds -
Specifies the HTTP request timeout. -The default is "900" (15 minutes). -
WebInterface yes -
WebInterface no -
Specifies whether the web interface is enabled. -The default is "No". -
-

Http Method Names

-The following HTTP methods are supported by -cupsd(8): -
-
GET -
Used by a client to download icons and other printer resources and to access the CUPS web interface. -
HEAD -
Used by a client to get the type, size, and modification date of resources. -
OPTIONS -
Used by a client to establish a secure (SSL/TLS) connection. -
POST -
Used by a client to submit IPP requests and HTML forms from the CUPS web interface. -
PUT -
Used by a client to upload configuration files. -
-

Ipp Operation Names

-The following IPP operations are supported by -cupsd(8): -
-
CUPS-Accept-Jobs -
Allows a printer to accept new jobs. -
CUPS-Add-Modify-Class -
Adds or modifies a printer class. -
CUPS-Add-Modify-Printer -
Adds or modifies a printer. -
CUPS-Authenticate-Job -
Releases a job that is held for authentication. -
CUPS-Delete-Class -
Deletes a printer class. -
CUPS-Delete-Printer -
Deletes a printer. -
CUPS-Get-Classes -
Gets a list of printer classes. -
CUPS-Get-Default -
Gets the server default printer or printer class. -
CUPS-Get-Devices -
Gets a list of devices that are currently available. -
CUPS-Get-Document -
Gets a document file for a job. -
CUPS-Get-PPD -
Gets a PPD file. -
CUPS-Get-PPDs -
Gets a list of installed PPD files. -
CUPS-Get-Printers -
Gets a list of printers. -
CUPS-Move-Job -
Moves a job. -
CUPS-Reject-Jobs -
Prevents a printer from accepting new jobs. -
CUPS-Set-Default -
Sets the server default printer or printer class. -
Cancel-Job -
Cancels a job. -
Cancel-Jobs -
Cancels one or more jobs. -
Cancel-My-Jobs -
Cancels one or more jobs creates by a user. -
Cancel-Subscription -
Cancels a subscription. -
Close-Job -
Closes a job that is waiting for more documents. -
Create-Job -
Creates a new job with no documents. -
Create-Job-Subscriptions -
Creates a subscription for job events. -
Create-Printer-Subscriptions -
Creates a subscription for printer events. -
Get-Job-Attributes -
Gets information about a job. -
Get-Jobs -
Gets a list of jobs. -
Get-Notifications -
Gets a list of event notifications for a subscription. -
Get-Printer-Attributes -
Gets information about a printer or printer class. -
Get-Subscription-Attributes -
Gets information about a subscription. -
Get-Subscriptions -
Gets a list of subscriptions. -
Hold-Job -
Holds a job from printing. -
Hold-New-Jobs -
Holds all new jobs from printing. -
Pause-Printer -
Stops processing of jobs by a printer or printer class. -
Pause-Printer-After-Current-Job -
Stops processing of jobs by a printer or printer class after the current job is finished. -
Print-Job -
Creates a new job with a single document. -
Purge-Jobs -
Cancels one or more jobs and deletes the job history. -
Release-Held-New-Jobs -
Allows previously held jobs to print. -
Release-Job -
Allows a job to print. -
Renew-Subscription -
Renews a subscription. -
Restart-Job -
Reprints a job, if possible. -
Send-Document -
Adds a document to a job. -
Set-Job-Attributes -
Changes job information. -
Set-Printer-Attributes -
Changes printer or printer class information. -
Validate-Job -
Validates options for a new job. -
-

Location Paths

-The following paths are commonly used when configuring -cupsd(8): -
-
/ -
The path for all get operations (get-printers, get-jobs, etc.) -
/admin -
The path for all administration operations (add-printer, delete-printer, start-printer, etc.) -
/admin/conf -
The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.) -
/admin/log -
The path for access to the CUPS log files (access_log, error_log, page_log) -
/classes -
The path for all printer classes -
/classes/name -
The resource for the named printer class -
/jobs -
The path for all jobs (hold-job, release-job, etc.) -
/jobs/id -
The path for the specified job -
/printers -
The path for all printers -
/printers/name -
The path for the named printer -
/printers/name.png -
The icon file path for the named printer -
/printers/name.ppd -
The PPD file path for the named printer -
-

Directives Valid Within Location And Limit Sections

-The following directives may be placed inside Location and Limit sections in the cupsd.conf file: -
-
Allow all -
Allow none -
Allow host.domain.com -
Allow *.domain.com -
Allow ipv4-address -
Allow ipv4-address/netmask -
Allow ipv4-address/mm -
Allow [ipv6-address] -
Allow [ipv6-address]/mm -
Allow @IF(name) -
Allow @LOCAL -
Allows access from the named hosts, domains, addresses, or interfaces. +

+

SSLPort port
+Listens on the specified port for encrypted connections. +

+

StrictConformance Yes
+

+

StrictConformance No
+Specifies whether the scheduler requires clients to strictly adhere to the IPP specifications. +The default is "No". +

+

Timeout seconds
+Specifies the HTTP request timeout. +The default is "900" (15 minutes). +

+

WebInterface yes
+

+

WebInterface no
+Specifies whether the web interface is enabled. +The default is "No". +

+

Http Method Names

+

The following HTTP methods are supported by +cupsd(8): + +

+

GET
+Used by a client to download icons and other printer resources and to access the CUPS web interface. +

+

HEAD
+Used by a client to get the type, size, and modification date of resources. +

+

OPTIONS
+Used by a client to establish a secure (SSL/TLS) connection. +

+

POST
+Used by a client to submit IPP requests and HTML forms from the CUPS web interface. +

+

PUT
+Used by a client to upload configuration files. +

+

Ipp Operation Names

+

The following IPP operations are supported by +cupsd(8): + +

+

CUPS-Accept-Jobs
+Allows a printer to accept new jobs. +

+

CUPS-Add-Modify-Class
+Adds or modifies a printer class. +

+

CUPS-Add-Modify-Printer
+Adds or modifies a printer. +

+

CUPS-Authenticate-Job
+Releases a job that is held for authentication. +

+

CUPS-Delete-Class
+Deletes a printer class. +

+

CUPS-Delete-Printer
+Deletes a printer. +

+

CUPS-Get-Classes
+Gets a list of printer classes. +

+

CUPS-Get-Default
+Gets the server default printer or printer class. +

+

CUPS-Get-Devices
+Gets a list of devices that are currently available. +

+

CUPS-Get-Document
+Gets a document file for a job. +

+

CUPS-Get-PPD
+Gets a PPD file. +

+

CUPS-Get-PPDs
+Gets a list of installed PPD files. +

+

CUPS-Get-Printers
+Gets a list of printers. +

+

CUPS-Move-Job
+Moves a job. +

+

CUPS-Reject-Jobs
+Prevents a printer from accepting new jobs. +

+

CUPS-Set-Default
+Sets the server default printer or printer class. +

+

Cancel-Job
+Cancels a job. +

+

Cancel-Jobs
+Cancels one or more jobs. +

+

Cancel-My-Jobs
+Cancels one or more jobs creates by a user. +

+

Cancel-Subscription
+Cancels a subscription. +

+

Close-Job
+Closes a job that is waiting for more documents. +

+

Create-Job
+Creates a new job with no documents. +

+

Create-Job-Subscriptions
+Creates a subscription for job events. +

+

Create-Printer-Subscriptions
+Creates a subscription for printer events. +

+

Get-Job-Attributes
+Gets information about a job. +

+

Get-Jobs
+Gets a list of jobs. +

+

Get-Notifications
+Gets a list of event notifications for a subscription. +

+

Get-Printer-Attributes
+Gets information about a printer or printer class. +

+

Get-Subscription-Attributes
+Gets information about a subscription. +

+

Get-Subscriptions
+Gets a list of subscriptions. +

+

Hold-Job
+Holds a job from printing. +

+

Hold-New-Jobs
+Holds all new jobs from printing. +

+

Pause-Printer
+Stops processing of jobs by a printer or printer class. +

+

Pause-Printer-After-Current-Job
+Stops processing of jobs by a printer or printer class after the current job is finished. +

+

Print-Job
+Creates a new job with a single document. +

+

Purge-Jobs
+Cancels one or more jobs and deletes the job history. +

+

Release-Held-New-Jobs
+Allows previously held jobs to print. +

+

Release-Job
+Allows a job to print. +

+

Renew-Subscription
+Renews a subscription. +

+

Restart-Job
+Reprints a job, if possible. +

+

Send-Document
+Adds a document to a job. +

+

Set-Job-Attributes
+Changes job information. +

+

Set-Printer-Attributes
+Changes printer or printer class information. +

+

Validate-Job
+Validates options for a new job. +

+

Location Paths

+

The following paths are commonly used when configuring +cupsd(8): + +

+

/
+The path for all get operations (get-printers, get-jobs, etc.) +

+

/admin
+The path for all administration operations (add-printer, delete-printer, start-printer, etc.) +

+

/admin/conf
+The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.) +

+

/admin/log
+The path for access to the CUPS log files (access_log, error_log, page_log) +

+

/classes
+The path for all printer classes +

+

/classes/name
+The resource for the named printer class +

+

/jobs
+The path for all jobs (hold-job, release-job, etc.) +

+

/jobs/id
+The path for the specified job +

+

/printers
+The path for all printers +

+

/printers/name
+The path for the named printer +

+

/printers/name.png
+The icon file path for the named printer +

+

/printers/name.ppd
+The PPD file path for the named printer +

+

Directives Valid Within Location And Limit Sections

+

The following directives may be placed inside Location and Limit sections in the cupsd.conf file: +

+

Allow all
+

+

Allow none
+

+

Allow host.domain.com
+

+

Allow *.domain.com
+

+

Allow ipv4-address
+

+

Allow ipv4-address/netmask
+

+

Allow ipv4-address/mm
+

+

Allow [ipv6-address]
+

+

Allow [ipv6-address]/mm
+

+

Allow @IF(name)
+

+

Allow @LOCAL
+Allows access from the named hosts, domains, addresses, or interfaces. The @IF(name) form uses the current subnets configured for the named interface. The @LOCAL form uses the current subnets configured for all interfaces that are not point-to-point, for example Ethernet and Wi-Fi interfaces are used but DSL and VPN interfaces are not. The Order directive controls whether Allow lines are evaluated before or after Deny lines. -

AuthType None -
AuthType Basic -
AuthType Default -
Specifies the type of authentication required. -The value "Default" corresponds to the DefaultAuthType value. -
Deny all -
Deny none -
Deny host.domain.com -
Deny *.domain.com -
Deny ipv4-address -
Deny ipv4-address/netmask -
Deny ipv4-address/mm -
Deny [ipv6-address] -
Deny [ipv6-address]/mm -
Deny @IF(name) -
Deny @LOCAL -
Denies access from the named hosts, domains, addresses, or interfaces. +

+

AuthType None
+

+

AuthType Basic
+

+

AuthType Default
+Specifies the type of authentication required. +The value "Default" corresponds to the DefaultAuthType value. +

+

Deny all
+

+

Deny none
+

+

Deny host.domain.com
+

+

Deny *.domain.com
+

+

Deny ipv4-address
+

+

Deny ipv4-address/netmask
+

+

Deny ipv4-address/mm
+

+

Deny [ipv6-address]
+

+

Deny [ipv6-address]/mm
+

+

Deny @IF(name)
+

+

Deny @LOCAL
+Denies access from the named hosts, domains, addresses, or interfaces. The @IF(name) form uses the current subnets configured for the named interface. The @LOCAL form uses the current subnets configured for all interfaces that are not point-to-point, for example Ethernet and Wi-Fi interfaces are used but DSL and VPN interfaces are not. The Order directive controls whether Deny lines are evaluated before or after Allow lines. -

Encryption IfRequested -
Encryption Never -
Encryption Required -
Specifies the level of encryption that is required for a particular location. -The default value is "IfRequested". -
Order allow,deny -
Specifies that access is denied by default. Allow lines are then processed followed by Deny lines to determine whether a client may access a particular resource. -
Order deny,allow -
Specifies that access is allowed by default. Deny lines are then processed followed by Allow lines to determine whether a client may access a particular resource. -
Require group group-name [ group-name ... ] -
Specifies that an authenticated user must be a member of one of the named groups. -
Require user {user-name|@group-name} ... -
Specifies that an authenticated user must match one of the named users or be a member of one of the named groups. -The group name "@SYSTEM" corresponds to the list of groups defined by the SystemGroup directive in the -cups-files.conf(5) +

+

Encryption IfRequested
+

+

Encryption Never
+

+

Encryption Required
+Specifies the level of encryption that is required for a particular location. +The default value is "IfRequested". +

+

Order allow,deny
+Specifies that access is denied by default. Allow lines are then processed followed by Deny lines to determine whether a client may access a particular resource. +

+

Order deny,allow
+Specifies that access is allowed by default. Deny lines are then processed followed by Allow lines to determine whether a client may access a particular resource. +

+

Require group group-name [ group-name ... ]
+Specifies that an authenticated user must be a member of one of the named groups. +

+

Require user {user-name|@group-name} ...
+Specifies that an authenticated user must match one of the named users or be a member of one of the named groups. +The group name "@SYSTEM" corresponds to the list of groups defined by the SystemGroup directive in the +cups-files.conf(5) + file. -The group name "@OWNER" corresponds to the owner of the resource, for example the person that submitted a print job. +The group name "@OWNER" corresponds to the owner of the resource, for example the person that submitted a print job. Note: The 'root' user is not special and must be granted privileges like any other user account. -

Require valid-user -
Specifies that any authenticated user is acceptable. -
Satisfy all -
Specifies that all Allow, AuthType, Deny, Order, and Require conditions must be satisfied to allow access. -
Satisfy any -
Specifies that any a client may access a resource if either the authentication (AuthType/Require) or address (Allow/Deny/Order) conditions are satisfied. +

+

Require valid-user
+Specifies that any authenticated user is acceptable. +

+

Satisfy all
+Specifies that all Allow, AuthType, Deny, Order, and Require conditions must be satisfied to allow access. +

+

Satisfy any
+Specifies that any a client may access a resource if either the authentication (AuthType/Require) or address (Allow/Deny/Order) conditions are satisfied. For example, this can be used to require authentication only for remote accesses. -

-

Directives Valid Within Policy Sections

-The following directives may be placed inside Policy sections in the cupsd.conf file: -
-
JobPrivateAccess all -
JobPrivateAccess default -
JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ... -
Specifies an access list for a job's private values. -The "default" access list is "@OWNER @SYSTEM". -"@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values. -"@OWNER" maps to the job's owner. -"@SYSTEM" maps to the groups listed for the SystemGroup directive in the -cups-files.conf(5) +

+

Directives Valid Within Policy Sections

+

The following directives may be placed inside Policy sections in the cupsd.conf file: +

+

JobPrivateAccess all
+

+

JobPrivateAccess default
+

+

JobPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ...
+Specifies an access list for a job's private values. +The "default" access list is "@OWNER @SYSTEM". +"@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values. +"@OWNER" maps to the job's owner. +"@SYSTEM" maps to the groups listed for the SystemGroup directive in the +cups-files.conf(5) + file. -

JobPrivateValues all -
JobPrivateValues default -
JobPrivateValues none -
JobPrivateValues attribute-name [ ... attribute-name ] -
Specifies the list of job values to make private. -The "default" values are "job-name", "job-originating-host-name", "job-originating-user-name", and "phone". -
SubscriptionPrivateAccess all -
SubscriptionPrivateAccess default -
SubscriptionPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ... -
Specifies an access list for a subscription's private values. -The "default" access list is "@OWNER @SYSTEM". -"@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values. -"@OWNER" maps to the job's owner. -"@SYSTEM" maps to the groups listed for the SystemGroup directive in the -cups-files.conf(5) +

+

JobPrivateValues all
+

+

JobPrivateValues default
+

+

JobPrivateValues none
+

+

JobPrivateValues attribute-name [ ... attribute-name ]
+Specifies the list of job values to make private. +The "default" values are "job-name", "job-originating-host-name", "job-originating-user-name", and "phone". +

+

SubscriptionPrivateAccess all
+

+

SubscriptionPrivateAccess default
+

+

SubscriptionPrivateAccess {user|@group|@ACL|@OWNER|@SYSTEM} ...
+Specifies an access list for a subscription's private values. +The "default" access list is "@OWNER @SYSTEM". +"@ACL" maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values. +"@OWNER" maps to the job's owner. +"@SYSTEM" maps to the groups listed for the SystemGroup directive in the +cups-files.conf(5) + file. -

SubscriptionPrivateValues all -
SubscriptionPrivateValues default -
SubscriptionPrivateValues none -
SubscriptionPrivateValues attribute-name [ ... attribute-name ] -
Specifies the list of subscription values to make private. -The "default" values are "notify-events", "notify-pull-method", "notify-recipient-uri", "notify-subscriber-user-name", and "notify-user-data". -
-

Deprecated Directives

-The following directives are deprecated and will be removed in a future release of CUPS: -
-
AuthType Negotiate -
Specifies Kerberos authentication is required. -
Classification banner -

+

+

SubscriptionPrivateValues all
+

+

SubscriptionPrivateValues default
+

+

SubscriptionPrivateValues none
+

+

SubscriptionPrivateValues attribute-name [ ... attribute-name ]
+Specifies the list of subscription values to make private. +The "default" values are "notify-events", "notify-pull-method", "notify-recipient-uri", "notify-subscriber-user-name", and "notify-user-data". +

+

Deprecated Directives

+

The following directives are deprecated and will be removed in a future release of CUPS: +

+

AuthType Negotiate
+Specifies Kerberos authentication is required. +

+

Classification banner
+
Specifies the security classification of the server. -Any valid banner name can be used, including "classified", "confidential", "secret", "topsecret", and "unclassified", or the banner can be omitted to disable secure printing functions. +Any valid banner name can be used, including "classified", "confidential", "secret", "topsecret", and "unclassified", or the banner can be omitted to disable secure printing functions. The default is no classification banner. -

ClassifyOverride Yes -
ClassifyOverride No -

-Specifies whether users may override the classification (cover page) of individual print jobs using the "job-sheets" option. -The default is "No". -
DefaultAuthType Negotiate -
Specifies that Kerberos authentication is required by default. -
GSSServiceName name -
Specifies the service name when using Kerberos authentication. -The default service name is "http." -
PageLogFormat format-string -
Specifies the format of PageLog lines. +

+

ClassifyOverride Yes
+

+

ClassifyOverride No
+
+Specifies whether users may override the classification (cover page) of individual print jobs using the "job-sheets" option. +The default is "No". +

+

DefaultAuthType Negotiate
+Specifies that Kerberos authentication is required by default. +

+

GSSServiceName name
+Specifies the service name when using Kerberos authentication. +The default service name is "http." +

+

PageLogFormat format-string
+Specifies the format of PageLog lines. Sequences beginning with percent (%) characters are replaced with the corresponding information, while all other characters are copied literally. The following percent sequences are recognized: -

-    "%%" inserts a single percent character.
-    "%{name}" inserts the value of the specified IPP attribute.
-    "%C" inserts the number of copies for the current page.
-    "%P" inserts the current page number.
-    "%T" inserts the current date and time in common log format.
-    "%j" inserts the job ID.
-    "%p" inserts the printer name.
-    "%u" inserts the username.
+

+
+    "%%" inserts a single percent character.
+    "%{name}" inserts the value of the specified IPP attribute.
+    "%C" inserts the number of copies for the current page.
+    "%P" inserts the current page number.
+    "%T" inserts the current date and time in common log format.
+    "%j" inserts the job ID.
+    "%p" inserts the printer name.
+    "%u" inserts the username.
 
 
-The default is the empty string, which disables page logging. -The string "%p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}" creates a page log with the standard items. -Use "%{job-impressions-completed}" to insert the number of pages (sides) that were printed, or "%{job-media-sheets-completed}" to insert the number of sheets that were printed. -
-

Notes

-File, directory, and user configuration directives that used to be allowed in the cupsd.conf file are now stored in the -cups-files.conf(5) +

The default is the empty string, which disables page logging. +The string "%p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}" creates a page log with the standard items. +Use "%{job-impressions-completed}" to insert the number of pages (sides) that were printed, or "%{job-media-sheets-completed}" to insert the number of sheets that were printed. +

+

Notes

+

File, directory, and user configuration directives that used to be allowed in the cupsd.conf file are now stored in the +cups-files.conf(5) + file instead in order to prevent certain types of privilege escalation attacks. -

The scheduler MUST be restarted manually after making changes to the cupsd.conf file. +

+

The scheduler MUST be restarted manually after making changes to the cupsd.conf file. On Linux this is typically done using the -systemctl(8) +systemctl(8) + command, while on macOS the -launchctl(8) +launchctl(8) + command is used instead. -

The @LOCAL macro name can be confusing since the system running -cupsd +

+

The @LOCAL macro name can be confusing since the system running +cupsd often belongs to a different set of subnets from its clients. -

Conforming To

-The cupsd.conf file format is based on the Apache HTTP Server configuration file format. -

Examples

-Log everything with a maximum log file size of 32 megabytes: -
+

+

Conforming To

+

The cupsd.conf file format is based on the Apache HTTP Server configuration file format. +

+

Examples

+

Log everything with a maximum log file size of 32 megabytes: +

+
     AccessLogLevel all
     LogLevel debug2
     MaxLogSize 32m
 
 
-Require authentication for accesses from outside the 10. network: -
+

Require authentication for accesses from outside the 10. network: +

+
     <Location />
     Order allow,deny
     Allow from 10./8
@@ -622,17 +867,24 @@ Require authentication for accesses from outside the 10. network:
     Satisfy any
     </Location>
 
-

See Also

-classes.conf(5), -cups-files.conf(5), -cupsd(8), -mime.convs(5), -mime.types(5), -printers.conf(5), -subscriptions.conf(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2020-2023 by OpenPrinting. +

See Also

+

classes.conf(5), + +cups-files.conf(5), + +cupsd(8), - +mime.convs(5), + +mime.types(5), + +printers.conf(5), + +subscriptions.conf(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2020-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsd.html b/doc/help/man-cupsd.html index c232b18e87..accef9ed87 100644 --- a/doc/help/man-cupsd.html +++ b/doc/help/man-cupsd.html @@ -1,120 +1,151 @@ - + - - - - cupsd(8) - - -

cupsd(8)

-

Name

-cupsd - cups scheduler -

Synopsis

-cupsd + + + cupsd(8) + + +

cupsd(8)

+

Name

+

cupsd - cups scheduler +

+

Synopsis

+

cupsd [ --c -cupsd.conf +-c +cupsd.conf ] [ --f +-f ] [ --F +-F ] [ --h +-h ] [ --l +-l ] [ --s -cups-files.conf +-s +cups-files.conf ] [ --t +-t ] -

Description

-cupsd +

+

Description

+

cupsd is the scheduler for CUPS. It implements a printing system based upon the Internet Printing Protocol, version 2.1, and supports most of the requirements for IPP Everywhere. If no options are specified on the command-line then the default configuration file -/etc/cups/cupsd.conf +/etc/cups/cupsd.conf will be used. -

Options

-
-
-c cupsd.conf -
Uses the named cupsd.conf configuration file. -
-f -
Run -cupsd -in the foreground; the default is to run in the background as a "daemon". -
-F -
Run -cupsd +

+

Options

+

-c cupsd.conf +
+Uses the named cupsd.conf configuration file. +

+

-f
+Run +cupsd +in the foreground; the default is to run in the background as a "daemon". +

+

-F
+Run +cupsd in the foreground but detach the process from the controlling terminal and current directory. This is useful for running -cupsd +cupsd from -init(8). -

-h -
Shows the program usage. -
-l -
This option is passed to -cupsd +init(8). + +

+

-h
+Shows the program usage. +

+

-l
+This option is passed to +cupsd when it is run from -launchd(8) +launchd(8) + or -systemd(8). -

-s cups-files.conf -
Uses the named cups-files.conf configuration file. -
-t -
Test the configuration file for syntax errors. -
-

Files

-
-/etc/cups/classes.conf
-/etc/cups/cups-files.conf
-/etc/cups/cupsd.conf
-/usr/share/cups/mime/mime.convs
-/usr/share/cups/mime/mime.types
-/etc/cups/printers.conf
-/etc/cups/subscriptions.conf
+systemd(8).
+
+

+

-s cups-files.conf +
+Uses the named cups-files.conf configuration file. +

+

-t
+Test the configuration file for syntax errors. +

+

Files

+
/etc/cups/classes.conf
+/etc/cups/cups-files.conf
+/etc/cups/cupsd.conf
+/usr/share/cups/mime/mime.convs
+/usr/share/cups/mime/mime.types
+/etc/cups/printers.conf
+/etc/cups/subscriptions.conf
 
-

Conforming To

-cupsd +

Conforming To

+

cupsd implements all of the required IPP/2.1 attributes and operations. It also implements several CUPS-specific administrative operations. -

Examples

-Run -cupsd +

+

Examples

+

Run +cupsd in the background with the default configuration file: -

+

+
     cupsd
 
 
-Test a configuration file called -test.conf: -
+

Test a configuration file called +test.conf: + +

+
     cupsd -t -c test.conf
 
 
-Run -cupsd +

Run +cupsd in the foreground with a test configuration file called -test.conf: -

+test.conf:
+
+

+
     cupsd -f -c test.conf
 
 
-

See Also

-backend(7), -classes.conf(5), -cups(1), -cups-files.conf(5), -cups-lpd(8), -cupsd.conf(5), -cupsd-helper(8), -cupsd-logs(8), -filter(7), -launchd(8), -mime.convs(5), -mime.types(5), -printers.conf(5), -systemd(8), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

backend(7), + +classes.conf(5), + +cups(1), - +cups-files.conf(5), + +cups-lpd(8), + +cupsd.conf(5), + +cupsd-helper(8), + +cupsd-logs(8), + +filter(7), + +launchd(8), + +mime.convs(5), + +mime.types(5), + +printers.conf(5), + +systemd(8), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsenable.html b/doc/help/man-cupsenable.html index 8c289a1820..59aab649d0 100644 --- a/doc/help/man-cupsenable.html +++ b/doc/help/man-cupsenable.html @@ -1,92 +1,110 @@ - + - - - - cupsenable(8) - - -

cupsenable(8)

-

Name

-cupsdisable, cupsenable - stop/start printers and classes -

Synopsis

-cupsdisable + + + cupsenable(8) + + +

cupsenable(8)

+

Name

+

cupsdisable, cupsenable - stop/start printers and classes +

+

Synopsis

+

cupsdisable [ --E +-E ] [ --U -username +-U +username ] [ --c +-c ] [ --h server[:port] +-h server[:port] ] [ --r -reason +-r +reason ] [ ---hold +--hold ] -destination(s) +destination(s)
-cupsenable +cupsenable [ --E +-E ] [ --U -username +-U +username ] [ --c +-c ] [ --h server[:port] +-h server[:port] ] [ ---release +--release ] -destination(s) -

Description

-cupsenable +destination(s) +

+

Description

+

cupsenable starts the named printers or classes while -cupsdisable +cupsdisable stops the named printers or classes. -

Options

-The following options may be used: -
-
-E -
Forces encryption of the connection to the server. -
-U username -
Uses the specified username when connecting to the server. -
-c -
Cancels all jobs on the named destination. -
-h server[:port] -
Uses the specified server and port. -
--hold -
Holds remaining jobs on the named printer. +

+

Options

+

The following options may be used: +

+

-E
+Forces encryption of the connection to the server. +

+

-U username
+Uses the specified username when connecting to the server. +

+

-c
+Cancels all jobs on the named destination. +

+

-h server[:port]
+Uses the specified server and port. +

+

--hold
+Holds remaining jobs on the named printer. Useful for allowing the current job to complete before performing maintenance. -

-r "reason" -
Sets the message associated with the stopped state. -If no reason is specified then the message is set to "Reason Unknown". -
--release -
Releases pending jobs for printing. -Use after running cupsdisable with the --hold option to resume printing. -
-

Conforming To

-Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". -Also, printer and class names are not case-sensitive. -

The System V versions of these commands are disable and enable, respectively. +

+

-r "reason"
+Sets the message associated with the stopped state. +If no reason is specified then the message is set to "Reason Unknown". +

+

--release
+Releases pending jobs for printing. +Use after running cupsdisable with the --hold option to resume printing. +

+

Conforming To

+

Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". +Also, printer and class names are not case-sensitive. +

+

The System V versions of these commands are disable and enable, respectively. They have been renamed to avoid conflicts with the -bash(1) +bash(1) + built-in commands of the same names. -

The CUPS versions of disable and enable may ask the user for an access password depending on the printing system configuration. +

+

The CUPS versions of disable and enable may ask the user for an access password depending on the printing system configuration. This differs from the System V versions which require the root user to execute these commands. -

See Also

-cupsaccept(8), -cupsreject(8), -cancel(1), -lp(1), -lpadmin(8), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

See Also

+

cupsaccept(8), + +cupsreject(8), + +cancel(1), - +lp(1), + +lpadmin(8), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupsfilter.html b/doc/help/man-cupsfilter.html index 187e888c8f..ffa37b02f6 100644 --- a/doc/help/man-cupsfilter.html +++ b/doc/help/man-cupsfilter.html @@ -1,128 +1,155 @@ - + - - - - cupsfilter(8) - - -

cupsfilter(8)

-

Name

-cupsfilter - convert a file to another format using cups filters (deprecated) -

Synopsis

-cupsfilter + + + cupsfilter(8) + + +

cupsfilter(8)

+

Name

+

cupsfilter - convert a file to another format using cups filters (deprecated) +

+

Synopsis

+

cupsfilter [ ---list-filters +--list-filters ] [ --D +-D ] [ --U -user +-U +user ] [ --c -config-file +-c +config-file ] [ --d -printer +-d +printer ] [ --e +-e ] [ --i -mime/type +-i +mime/type ] [ --j -job-id[,N] +-j +job-id[,N] ] [ --m -mime/type +-m +mime/type ] [ --n -copies +-n +copies ] [ --o -name=value +-o +name=value ] [ --p -filename.ppd +-p +filename.ppd ] [ --t -title +-t +title ] [ --u +-u ] -filename -

Description

-cupsfilter +filename +

+

Description

+

cupsfilter is a front-end to the CUPS filter subsystem which allows you to convert a file to a specific format, just as if you had printed the file through CUPS. By default, -cupsfilter +cupsfilter generates a PDF file. The converted file is sent to the standard output. -

Options

-
-
--list-filters -
Do not actually run the filters, just print the filters used to stdout. -
-D -
Delete the input file after conversion. -
-U user -
Specifies the username passed to the filters. The default is the name of the current user. -
-c config-file -
Uses the named cups-files.conf configuration file. -
-d printer -
Uses information from the named printer. -
-e -
Use every filter from the PPD file. -
-i mime/type -
Specifies the source file type. The default file type is guessed using the filename and contents of the file. -
-j job-id[,N] -
Converts document N from the specified job. If N is omitted, document 1 is converted. -
-m mime/type -
Specifies the destination file type. The default file type is application/pdf. Use printer/foo to convert to the printer format defined by the filters in the PPD file. -
-n copies -
Specifies the number of copies to generate. -
-o name=value -
Specifies options to pass to the CUPS filters. -
-p filename.ppd -
Specifies the PPD file to use. -
-t title -
Specifies the document title. -
-u -
Delete the PPD file after conversion. -
-

Exit Status

-cupsfilter +

+

Options

+

--list-filters
+Do not actually run the filters, just print the filters used to stdout. +

+

-D
+Delete the input file after conversion. +

+

-U user
+Specifies the username passed to the filters. The default is the name of the current user. +

+

-c config-file
+Uses the named cups-files.conf configuration file. +

+

-d printer
+Uses information from the named printer. +

+

-e
+Use every filter from the PPD file. +

+

-i mime/type
+Specifies the source file type. The default file type is guessed using the filename and contents of the file. +

+

-j job-id[,N]
+Converts document N from the specified job. If N is omitted, document 1 is converted. +

+

-m mime/type
+Specifies the destination file type. The default file type is application/pdf. Use printer/foo to convert to the printer format defined by the filters in the PPD file. +

+

-n copies
+Specifies the number of copies to generate. +

+

-o name=value
+Specifies options to pass to the CUPS filters. +

+

-p filename.ppd
+Specifies the PPD file to use. +

+

-t title
+Specifies the document title. +

+

-u
+Delete the PPD file after conversion. +

+

Exit Status

+

cupsfilter returns a non-zero exit status on any error. -

Environment

-All of the standard -cups(1) +

+

Environment

+

All of the standard +cups(1) + environment variables affect the operation of -cupsfilter. -

Files

-
-/etc/cups/cups-files.conf
+cupsfilter.
+
+

+

Files

+
/etc/cups/cups-files.conf
 /etc/cups/*.convs
 /etc/cups/*.types
 /usr/share/cups/mime/*.convs
 /usr/share/cups/mime/*.types
-

Notes

-CUPS printer drivers, filters, and backends are deprecated and will no longer be supported in a future feature release of CUPS. +
+

Notes

+

CUPS printer drivers, filters, and backends are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

Unlike when printing, filters run using the -cupsfilter +ippeveprinter(1). + +

+

Unlike when printing, filters run using the +cupsfilter command use the current user and security session. This may result in different output or unexpected behavior. -

Example

-The following command will generate a PDF preview of job 42 for a printer named "myprinter" and save it to a file named "preview.pdf": -
+

+

Example

+

The following command will generate a PDF preview of job 42 for a printer named "myprinter" and save it to a file named "preview.pdf": +

+
     cupsfilter -m application/pdf -d myprinter -j 42 >preview.pdf
 
-

See Also

-cups(1), -cupsd.conf(5), -filter(7), -mime.convs(7), -mime.types(7), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

cups(1), - +cupsd.conf(5), + +filter(7), + +mime.convs(7), + +mime.types(7), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-cupstestppd.html b/doc/help/man-cupstestppd.html index 0c0a7494df..89c7ea9950 100644 --- a/doc/help/man-cupstestppd.html +++ b/doc/help/man-cupstestppd.html @@ -1,129 +1,156 @@ - + - - - - cupstestppd(1) - - -

cupstestppd(1)

-

Name

-cupstestppd - test conformance of ppd files (deprecated) -

Synopsis

-cupstestppd + + + cupstestppd(1) + + +

cupstestppd(1)

+

Name

+

cupstestppd - test conformance of ppd files (deprecated) +

+

Synopsis

+

cupstestppd [ --I -category +-I +category ] [ --R -rootdir +-R +rootdir ] [ --W -category +-W +category ] [ --q +-q ] [ --r +-r ] [ --v[v] +-v[v] ] -filename.ppd[.gz] +filename.ppd[.gz] [ ... -filename.ppd[.gz] +filename.ppd[.gz] ]
-cupstestppd +cupstestppd [ --R -rootdir +-R +rootdir ] [ --W -category +-W +category ] [ --q +-q ] [ --r +-r ] [ --v[v] +-v[v] ] -- -

Description

-cupstestppd tests the conformance of PPD files to the Adobe PostScript Printer Description file format specification version 4.3. +- +

+

Description

+

cupstestppd tests the conformance of PPD files to the Adobe PostScript Printer Description file format specification version 4.3. It can also be used to list the supported options and available fonts in a PPD file. The results of testing and any other output are sent to the standard output. -

The first form of cupstestppd tests one or more PPD files on the command-line. +

+

The first form of cupstestppd tests one or more PPD files on the command-line. The second form tests the PPD file provided on the standard input. -

Options

-cupstestppd supports the following options: -
-
-I filename -
Ignores all PCFileName warnings. -
-I filters -
Ignores all filter errors. -
-I profiles -
Ignores all profile errors. -
-R rootdir -
Specifies an alternate root directory for the filter, pre-filter, and other support file checks. -
-W constraints -
Report all UIConstraint errors as warnings. -
-W defaults -
Except for size-related options, report all default option errors as warnings. -
-W filters -
Report all filter errors as warnings. -
-W profiles -
Report all profile errors as warnings. -
-W sizes -
Report all media size errors as warnings. -
-W translations -
Report all translation errors as warnings. -
-W all -
Report all of the previous errors as warnings. -
-W none -
Report all of the previous errors as errors. -
-q -
Specifies that no information should be displayed. -
-r -
Relaxes the PPD conformance requirements so that common whitespace, control character, and formatting problems are not treated as hard errors. -
-v -
Specifies that detailed conformance testing results should be displayed rather than the concise PASS/FAIL/ERROR status. -
-vv -
Specifies that all information in the PPD file should be displayed in addition to the detailed conformance testing results. -
-

The -q, -v, and -vv options are mutually exclusive. -

Exit Status

-cupstestppd returns zero on success and non-zero on error. +

+

Options

+

cupstestppd supports the following options: +

+

-I filename
+Ignores all PCFileName warnings. +

+

-I filters
+Ignores all filter errors. +

+

-I profiles
+Ignores all profile errors. +

+

-R rootdir
+Specifies an alternate root directory for the filter, pre-filter, and other support file checks. +

+

-W constraints
+Report all UIConstraint errors as warnings. +

+

-W defaults
+Except for size-related options, report all default option errors as warnings. +

+

-W filters
+Report all filter errors as warnings. +

+

-W profiles
+Report all profile errors as warnings. +

+

-W sizes
+Report all media size errors as warnings. +

+

-W translations
+Report all translation errors as warnings. +

+

-W all
+Report all of the previous errors as warnings. +

+

-W none
+Report all of the previous errors as errors. +

+

-q
+Specifies that no information should be displayed. +

+

-r
+Relaxes the PPD conformance requirements so that common whitespace, control character, and formatting problems are not treated as hard errors. +

+

-v
+Specifies that detailed conformance testing results should be displayed rather than the concise PASS/FAIL/ERROR status. +

+

-vv
+Specifies that all information in the PPD file should be displayed in addition to the detailed conformance testing results. +

+

The -q, -v, and -vv options are mutually exclusive. +

+

Exit Status

+

cupstestppd returns zero on success and non-zero on error. The error codes are as follows: -

-
1 -
Bad command-line arguments or missing PPD filename. -
2 -
Unable to open or read PPD file. -
3 -
The PPD file contains format errors that cannot be skipped. -
4 -
The PPD file does not conform to the Adobe PPD specification. -
-

Examples

-The following command will test all PPD files under the current directory and print the names of each file that does not conform: -
+

+

1
+Bad command-line arguments or missing PPD filename. +

+

2
+Unable to open or read PPD file. +

+

3
+The PPD file contains format errors that cannot be skipped. +

+

4
+The PPD file does not conform to the Adobe PPD specification. +

+

Examples

+

The following command will test all PPD files under the current directory and print the names of each file that does not conform: +

+
     find . -name \*.ppd \! -exec cupstestppd -q '{}' \; -print
 
 
-The next command tests all PPD files under the current directory and print detailed conformance testing results for the files that do not conform: -
+

The next command tests all PPD files under the current directory and print detailed conformance testing results for the files that do not conform: +

+
     find . -name \*.ppd \! -exec cupstestppd -q '{}' \; \
         -exec cupstestppd -v '{}' \;
 
-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-lpadmin(8), +ippeveprinter(1). + +

+

See Also

+

lpadmin(8), + CUPS Online Help (http://localhost:631/help), Adobe PostScript Printer Description File Format Specification, Version 4.3. -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-filter.html b/doc/help/man-filter.html index eae8554e49..498d1d1bce 100644 --- a/doc/help/man-filter.html +++ b/doc/help/man-filter.html @@ -1,187 +1,240 @@ - + - - - - filter(7) - - -

filter(7)

-

Name

-filter - cups file conversion filter interface -

Synopsis

-filter -job -user -title -num-copies -options + + + filter(7) + + +

filter(7)

+

Name

+

filter - cups file conversion filter interface +

+

Synopsis

+

filter +job +user +title +num-copies +options [ -filename +filename ] -

-#include <cups/cups.h>
+

+
+#include <cups/cups.h>
 
-ssize_t cupsBackChannelRead(char *buffer, size_t bytes,
-                            double timeout);
+ssize_t cupsBackChannelRead(char *buffer, size_t bytes,
+                            double timeout);
 
-cups_sc_status_t cupsSideChannelDoRequest(cups_sc_command_t command,
-                                          char *data, int *datalen,
-                                          double timeout);
+cups_sc_status_t cupsSideChannelDoRequest(cups_sc_command_t command,
+                                          char *data, int *datalen,
+                                          double timeout);
 
-#include <cups/ppd.h>
+#include <cups/ppd.h>
 
-const char *cupsGetOption(const char *name, int num_options,
-                 cups_option_t *options);
+const char *cupsGetOption(const char *name, int num_options,
+                 cups_option_t *options);
 
-int cupsMarkOptions(ppd_file_t *ppd, int num_options,
-                    cups_option_t *options);
+int cupsMarkOptions(ppd_file_t *ppd, int num_options,
+                    cups_option_t *options);
 
-int cupsParseOptions(const char *arg, int num_options,
-                     cups_option_t **options);
+int cupsParseOptions(const char *arg, int num_options,
+                     cups_option_t **options);
 
-ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd, const char *keyword);
+ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd, const char *keyword);
 
-void ppdMarkDefaults(ppd_file_t *ppd);
+void ppdMarkDefaults(ppd_file_t *ppd);
 
-ppd_file_t *ppdOpenFile(const char *filename);
+ppd_file_t *ppdOpenFile(const char *filename);
 
-

Description

-The CUPS filter interface provides a standard method for adding support for new document types or printers to CUPS. +

Description

+

The CUPS filter interface provides a standard method for adding support for new document types or printers to CUPS. Each filter is capable of converting from one or more input formats to another format that can either be printed directly or piped into another filter to get it to a printable format. -

Filters MUST be capable of reading from a filename on the command-line or from the standard input, copying the standard input to a temporary file as required by the file format. -All output MUST be sent to the standard output. -Filters MUST NOT attempt to communicate directly with the printer, other processes, or other services. -

The command name (argv[0]) is set to the name of the destination printer but is also available in the PRINTER environment variable. -

Options

-Options are passed in argv[5] and are encoded from the corresponding IPP attributes used when the job was submitted. Use the -cupsParseOptions() -function to load the options into a cups_option_t array and the -cupsGetOption() +

+

Filters MUST be capable of reading from a filename on the command-line or from the standard input, copying the standard input to a temporary file as required by the file format. +All output MUST be sent to the standard output. +Filters MUST NOT attempt to communicate directly with the printer, other processes, or other services. +

+

The command name (argv[0]) is set to the name of the destination printer but is also available in the PRINTER environment variable. +

+

Options

+

Options are passed in argv[5] and are encoded from the corresponding IPP attributes used when the job was submitted. Use the +cupsParseOptions() + +function to load the options into a cups_option_t array and the +cupsGetOption() + function to get the value of a specific attribute. -Be careful to look for common aliases of IPP attributes such as "landscape" for the IPP "orientation-requested" attribute. -

Options passed on the command-line typically do not include the default choices the printer's PPD file. Use the -ppdMarkDefaults() +Be careful to look for common aliases of IPP attributes such as "landscape" for the IPP "orientation-requested" attribute. +

+

Options passed on the command-line typically do not include the default choices the printer's PPD file. Use the +ppdMarkDefaults() + and -cupsMarkOptions() +cupsMarkOptions() + functions in the CUPS library to apply the options to the PPD defaults and map any IPP attributes to the corresponding PPD options. Use -ppdFindMarkedChoice() -to get the user-selected choice for a PPD option. For example, a filter might use the following code to determine the current value of the Duplex PPD option: -

-    ppd_file_t *ppd = ppdOpenFile(getenv("PPD"));
+ppdFindMarkedChoice()
+
+to get the user-selected choice for a PPD option. For example, a filter might use the following code to determine the current value of the Duplex PPD option:
+

+
+    ppd_file_t *ppd = ppdOpenFile(getenv("PPD"));
     cups_option_t *options = NULL;
     int num_options = cupsParseOptions(argv[5], 0, &options);
 
     ppdMarkDefaults(ppd);
     cupsMarkOptions(ppd, num_options, options);
 
-    ppd_choice_t *choice = ppdFindMarkedChoice(ppd, "Duplex");
+    ppd_choice_t *choice = ppdFindMarkedChoice(ppd, "Duplex");
 
-

Raster filters should use option choices set through the raster page header, as those reflect the options in effect for a given page. +

Raster filters should use option choices set through the raster page header, as those reflect the options in effect for a given page. Options specified on the command-line determine the default values for the entire job, which can be overridden on a per-page basis. -

Log Messages

-Messages sent to the standard error are generally stored in the printer's "printer-state-message" attribute and the current ErrorLog file. +

+

Log Messages

+

Messages sent to the standard error are generally stored in the printer's "printer-state-message" attribute and the current ErrorLog file. Each line begins with a standard prefix: -

-
ALERT: message -
Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "alert" log level. -
ATTR: attribute=value [ ... attribute=value] -
Sets the named job or printer attribute(s). The following job attributes can be set: "job-media-progress". The following printer attributes can be set: -"auth-info-required", "marker-colors", "marker-high-levels", "marker-levels", -"marker-low-levels", "marker-message", "marker-names", "marker-types", -"printer-alert", and "printer-alert-description". -
CRIT: message -
Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "critical" log level. -
DEBUG: message -
Adds the specified message to the current ErrorLog using the "debug" log level. -DEBUG messages are never stored in the "printer-state-message" attribute. -
DEBUG2: message -

-Adds the specified message to the current ErrorLog using the "debug2" log level. -DEBUG2 messages are never stored in the "printer-state-message" attribute. -
EMERG: message -
Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "emergency" log level. -
ERROR: message -
Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "error" log level. -
INFO: message -
Sets the "printer-state-message" attribute. If the current LogLevel is set to "debug2", also adds the specified message to the current ErrorLog using the "info" log level. -
NOTICE: message -
Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "notice" log level. -
PAGE: page-number #-copies -
PAGE: total #-pages -
Adds an entry to the current PageLog. The first form adds #-copies to the "job-media-sheets-completed" attribute. The second form sets the "job-media-sheets-completed" attribute to #-pages. -
PPD: Keyword=Value [ ... KeywordN=Value ] -
Sets the named keywords in the printer's PPD file. This is typically used to update default option keywords such as DefaultPageSize and the various installable options in the PPD file. -
STATE: printer-state-reason [ ... printer-state-reason ] -
STATE: + printer-state-reason [ ... printer-state-reason ] -
STATE: - printer-state-reason [ ... printer-state-reason ] -
Sets, adds, or removes "printer-state-reason" keywords for the current queue. Typically this is used to indicate media, ink, and toner conditions on a printer. -
WARNING: message -
Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "warning" log level. -
-

Environment Variables

-The following environment variables are defined by the CUPS +

+

ALERT: message
+Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "alert" log level. +

+

ATTR: attribute=value [ ... attribute=value]
+Sets the named job or printer attribute(s). The following job attributes can be set: "job-media-progress". The following printer attributes can be set: +"auth-info-required", "marker-colors", "marker-high-levels", "marker-levels", +"marker-low-levels", "marker-message", "marker-names", "marker-types", +"printer-alert", and "printer-alert-description". +

+

CRIT: message
+Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "critical" log level. +

+

DEBUG: message
+Adds the specified message to the current ErrorLog using the "debug" log level. +DEBUG messages are never stored in the "printer-state-message" attribute. +

+

DEBUG2: message
+
+Adds the specified message to the current ErrorLog using the "debug2" log level. +DEBUG2 messages are never stored in the "printer-state-message" attribute. +

+

EMERG: message
+Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "emergency" log level. +

+

ERROR: message
+Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "error" log level. +

+

INFO: message
+Sets the "printer-state-message" attribute. If the current LogLevel is set to "debug2", also adds the specified message to the current ErrorLog using the "info" log level. +

+

NOTICE: message
+Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "notice" log level. +

+

PAGE: page-number #-copies
+

+

PAGE: total #-pages
+Adds an entry to the current PageLog. The first form adds #-copies to the "job-media-sheets-completed" attribute. The second form sets the "job-media-sheets-completed" attribute to #-pages. +

+

PPD: Keyword=Value [ ... KeywordN=Value ]
+Sets the named keywords in the printer's PPD file. This is typically used to update default option keywords such as DefaultPageSize and the various installable options in the PPD file. +

+

STATE: printer-state-reason [ ... printer-state-reason ]
+

+

STATE: + printer-state-reason [ ... printer-state-reason ]
+

+

STATE: - printer-state-reason [ ... printer-state-reason ]
+Sets, adds, or removes "printer-state-reason" keywords for the current queue. Typically this is used to indicate media, ink, and toner conditions on a printer. +

+

WARNING: message
+Sets the "printer-state-message" attribute and adds the specified message to the current ErrorLog using the "warning" log level. +

+

Environment Variables

+

The following environment variables are defined by the CUPS server when executing the filter: -

-
CHARSET -
The default text character set, typically "utf-8". -
CLASS -
When a job is submitted to a printer class, contains the name of the destination printer class. Otherwise this environment variable will not be set. -
CONTENT_TYPE -
The MIME media type associated with the submitted job file, for example "application/postscript". -
CUPS_CACHEDIR -
The directory where semi-persistent cache files can be found and stored. -
CUPS_DATADIR -
The directory where data files can be found. -
CUPS_FILETYPE -
The type of file being printed: "job-sheet" for a banner page and "document" +

+

CHARSET
+The default text character set, typically "utf-8". +

+

CLASS
+When a job is submitted to a printer class, contains the name of the destination printer class. Otherwise this environment variable will not be set. +

+

CONTENT_TYPE
+The MIME media type associated with the submitted job file, for example "application/postscript". +

+

CUPS_CACHEDIR
+The directory where semi-persistent cache files can be found and stored. +

+

CUPS_DATADIR
+The directory where data files can be found. +

+

CUPS_FILETYPE
+The type of file being printed: "job-sheet" for a banner page and "document" for a regular print file. -

CUPS_MAX_MESSAGE -
The maximum size of a message sent to stderr, including any leading prefix and the trailing newline. -
CUPS_SERVERROOT -
The root directory of the server. -
FINAL_CONTENT_TYPE -
The MIME media type associated with the output destined for the printer, for example "application/vnd.cups-postscript". -
LANG -
The default language locale (typically C or en). -
PATH -
The standard execution path for external programs that may be run by the filter. -
PPD -
The full pathname of the PostScript Printer Description (PPD) file for this printer. -
PRINTER -
The name of the printer. -
RIP_CACHE -
The recommended amount of memory to use for Raster Image Processors (RIPs). -
SOFTWARE -
The name and version number of the server (typically CUPS/major.minor). -
TZ -
The timezone of the server. -
USER -
The user executing the filter, typically "lp" or "root"; consult the cups-files.conf file for the current setting. -
-

Conforming To

-While the filter interface is compatible with System V interface scripts, CUPS does not support System V interface scripts. -

Notes

-CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. +

+

CUPS_MAX_MESSAGE
+The maximum size of a message sent to stderr, including any leading prefix and the trailing newline. +

+

CUPS_SERVERROOT
+The root directory of the server. +

+

FINAL_CONTENT_TYPE
+The MIME media type associated with the output destined for the printer, for example "application/vnd.cups-postscript". +

+

LANG
+The default language locale (typically C or en). +

+

PATH
+The standard execution path for external programs that may be run by the filter. +

+

PPD
+The full pathname of the PostScript Printer Description (PPD) file for this printer. +

+

PRINTER
+The name of the printer. +

+

RIP_CACHE
+The recommended amount of memory to use for Raster Image Processors (RIPs). +

+

SOFTWARE
+The name and version number of the server (typically CUPS/major.minor). +

+

TZ
+The timezone of the server. +

+

USER
+The user executing the filter, typically "lp" or "root"; consult the cups-files.conf file for the current setting. +

+

Conforming To

+

While the filter interface is compatible with System V interface scripts, CUPS does not support System V interface scripts. +

+

Notes

+

CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

CUPS filters are not meant to be run directly by the user. -Aside from the legacy System V interface issues (argv[0] is the printer name), CUPS filters also expect specific environment variables and file descriptors, and typically run in a user session that (on macOS) has additional restrictions that affect how it runs. +ippeveprinter(1). + +

+

CUPS filters are not meant to be run directly by the user. +Aside from the legacy System V interface issues (argv[0] is the printer name), CUPS filters also expect specific environment variables and file descriptors, and typically run in a user session that (on macOS) has additional restrictions that affect how it runs. Unless you are a developer and know what you are doing, please do not run filters directly. Instead, use the -cupsfilter(8) +cupsfilter(8) + program to use the appropriate filters to do the conversions you need. -

See Also

-backend(7), -cups(1), -cups-files.conf(5), -cupsd(8), -cupsfilter(8), +

+

See Also

+

backend(7), + +cups(1), + +cups-files.conf(5), + +cupsd(8), + +cupsfilter(8), +
CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ippevepcl.html b/doc/help/man-ippevepcl.html index 0ee571cc80..c287bb0916 100644 --- a/doc/help/man-ippevepcl.html +++ b/doc/help/man-ippevepcl.html @@ -1,49 +1,57 @@ - + - - - - ippevepcl/ps(7) - - -

ippevepcl/ps(7)

-

Name

-ippevepcl/ps - pcl and postscript print commands for ippeveprinter -

Synopsis

-ippevepcl + + + ippevepcl/ps(7) + + +

ippevepcl/ps(7)

+

Name

+

ippevepcl/ps - pcl and postscript print commands for ippeveprinter +

+

Synopsis

+

ippevepcl [ -filename +filename ]
-ippeveps +ippeveps [ -filename +filename ] -

Description

-ippevepcl +

+

Description

+

ippevepcl and -ippeveps +ippeveps are print commands for -ippeveprinter(1). +ippeveprinter(1). + As with all print commands, these commands read either the filename specified on the command-line or from the standard input. Output is sent to the standard output. Status and progress messages are sent to the standard error. -

ippevepcl +

+

ippevepcl prints to B&W HP PCL laser printers and supports printing of HP PCL (application/vnd.hp-pcl), PWG Raster (image/pwg-raster), and Apple Raster (image/urf) print files. -

ippeveps +

+

ippeveps print to Adobe PostScript printers and supports printing of PDF (application/pdf), PostScript (application/postscript), JPEG (image/jpeg), PWG Raster (image/pwg-raster), and Apple Raster (image/urf) print files. Printer-specific commands are read from a supplied PPD file. If no PPD file is specified, generic commands suitable for any Level 2 or Level 3 PostScript printer are used instead to specify duplex printing and media size. -

Exit Status

-These programs return 1 on error and 0 on success. -

Environment

-These program inherit the environment provided by the -ippeveprinter +

+

Exit Status

+

These programs return 1 on error and 0 on success. +

+

Environment

+

These program inherit the environment provided by the +ippeveprinter program. -

See Also

-ippeveprinter(8) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

See Also

+

ippeveprinter(8) - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ippeveprinter.html b/doc/help/man-ippeveprinter.html index 9f18e52854..de2cf8a966 100644 --- a/doc/help/man-ippeveprinter.html +++ b/doc/help/man-ippeveprinter.html @@ -1,250 +1,301 @@ - + - - - - ippeveprinter(1) - - -

ippeveprinter(1)

-

Name

-ippeveprinter - an ipp everywhere printer application for cups -

Synopsis

-ippeveprinter + + + ippeveprinter(1) + + +

ippeveprinter(1)

+

Name

+

ippeveprinter - an ipp everywhere printer application for cups +

+

Synopsis

+

ippeveprinter [ ---help +--help ] [ ---no-web-forms +--no-web-forms ] [ ---pam-service -service +--pam-service +service ] [ ---version +--version ] [ --2 +-2 ] [ --A +-A ] [ --D -device-uri +-D +device-uri ] [ --F -output-type/subtype +-F +output-type/subtype ] [ --K -keypath +-K +keypath ] [ --M -manufacturer +-M +manufacturer ] [ --P -filename.ppd +-P +filename.ppd ] [ --V -ipp-version +-V +ipp-version ] [ --a -filename.conf +-a +filename.conf ] [ --c -command +-c +command ] [ --d -spool-directory +-d +spool-directory ] [ --f -type/subtype[,...] +-f +type/subtype[,...] ] [ --i -iconfile.png +-i +iconfile.png ] [ --k +-k ] [ --l -location +-l +location ] [ --m -model +-m +model ] [ --n -hostname +-n +hostname ] [ --p -port +-p +port ] [ --r -subtype[,subtype] +-r +subtype[,subtype] ] [ --s -speed[,color-speed] +-s +speed[,color-speed] ] [ --v[vvv] +-v[vvv] ] -service-name -

Description

-ippeveprinter +service-name +

+

Description

+

ippeveprinter is a simple Internet Printing Protocol (IPP) server conforming to the IPP Everywhere (PWG 5100.14) specification. It can be used to test client software or act as a very basic print server that runs a command for every job that is printed. -

Options

-The following options are recognized by -ippeveprinter: -
-
--help -
Show program usage. -
--no-web-forms -
Disable the web interface forms used to update the media and supply levels. -
--pam-service service -
Set the PAM service name. -The default service is "cups". -
--version -
Show the CUPS version. -
-2 -
Report support for two-sided (duplex) printing. -
-A -
Enable authentication for the created printer. -ippeveprinter +

+

Options

+

The following options are recognized by +ippeveprinter: +

+

--help
+Show program usage. +

+

--no-web-forms
+Disable the web interface forms used to update the media and supply levels. +

+

--pam-service service
+Set the PAM service name. +The default service is "cups". +

+

--version
+Show the CUPS version. +

+

-2
+Report support for two-sided (duplex) printing. +

+

-A
+Enable authentication for the created printer. +ippeveprinter uses PAM to authenticate HTTP Basic credentials. -

-D device-uri -
Set the device URI for print output. -The URI can be a filename, directory, or a network socket URI of the form "socket://ADDRESS[:PORT]" (where the default port number is 9100). +

+

-D device-uri
+Set the device URI for print output. +The URI can be a filename, directory, or a network socket URI of the form "socket://ADDRESS[:PORT]" (where the default port number is 9100). When specifying a directory, -ippeveprinter +ippeveprinter will create an output file using the job ID and name. -

-F output-type/subtype[,...] -
Specifies the output MIME media type that is provided to the printer command. -The default is "application/postscript" when the -P option is specified. -
-M manufacturer -
Set the manufacturer of the printer. -The default is "Example". -
-K keypath -
Set location of server X.509 certificates and keys. -
-P filename.ppd -
Load printer attributes from the specified PPD file. +

+

-F output-type/subtype[,...]
+Specifies the output MIME media type that is provided to the printer command. +The default is "application/postscript" when the -P option is specified. +

+

-M manufacturer
+Set the manufacturer of the printer. +The default is "Example". +

+

-K keypath
+Set location of server X.509 certificates and keys. +

+

-P filename.ppd
+Load printer attributes from the specified PPD file. This option is typically used in conjunction with the -ippeveps(7) -printer command ("-c ippeveps"). -

-V 1.1 -
-V 2.0 -
Specifies the maximum IPP version to report. +ippeveps(7) + +printer command ("-c ippeveps"). +

+

-V 1.1
+

+

-V 2.0
+Specifies the maximum IPP version to report. 2.0 is the default. -

-a filename.conf -
Load printer attributes from "filename.conf". +

+

-a filename.conf
+Load printer attributes from "filename.conf". Attribute files can be created using the -ipptool(1) +ipptool(1) + command with the ---ippserver +--ippserver option. -

-c command -
Run the specified command for each document that is printed. -If "command" is not an absolute path ("/path/to/command"), -ippeveprinter -looks for the command in the "command" subdirectory of the CUPS binary directory, typically /usr/lib/cups/command or /usr/libexec/cups/command. +

+

-c command
+Run the specified command for each document that is printed. +If "command" is not an absolute path ("/path/to/command"), +ippeveprinter +looks for the command in the "command" subdirectory of the CUPS binary directory, typically /usr/lib/cups/command or /usr/libexec/cups/command. The -cups-config(1) -command can be used to discover the correct binary directory ("cups-config --serverbin"). +cups-config(1) + +command can be used to discover the correct binary directory ("cups-config --serverbin"). In addition, the CUPS_SERVERBIN environment variable can be used to override the default location of this directory - see the -cups(1) +cups(1) + man page for more details. -

-d spool-directory -
Specifies the directory that will hold the print files. +

+

-d spool-directory
+Specifies the directory that will hold the print files. The default is a directory under the user's current temporary directory. -

-f type/subtype[,...] -
Specifies a list of MIME media types that the server will accept. +

+

-f type/subtype[,...]
+Specifies a list of MIME media types that the server will accept. The default depends on the type of printer created. -

-i iconfile.png -
Specifies the printer icon file for the server. +

+

-i iconfile.png
+Specifies the printer icon file for the server. The file must be a PNG format image. The default is an internally-provided PNG image. -

-k -
Keeps the print documents in the spool directory rather than deleting them. -
-l location -
Specifies the human-readable location string that is reported by the server. +

+

-k
+Keeps the print documents in the spool directory rather than deleting them. +

+

-l location
+Specifies the human-readable location string that is reported by the server. The default is the empty string. -

-m model -
Specifies the model name of the printer. -The default is "Printer". -
-n hostname -
Specifies the hostname that is reported by the server. +

+

-m model
+Specifies the model name of the printer. +The default is "Printer". +

+

-n hostname
+Specifies the hostname that is reported by the server. The default is the name returned by the -hostname(1) +hostname(1) + command. -

-p port -
Specifies the port number to listen on. +

+

-p port
+Specifies the port number to listen on. The default is a user-specific number from 8000 to 8999. -

-roff -
Turns off DNS-SD service advertisements entirely. -
-r subtype[,subtype] -
Specifies the DNS-SD subtype(s) to advertise. +

+

-r off
+Turns off DNS-SD service advertisements entirely. +

+

-r subtype[,subtype]
+Specifies the DNS-SD subtype(s) to advertise. Separate multiple subtypes with a comma. -The default is "_print". -

-s speed[,color-speed] -
Specifies the printer speed in pages per minute. +The default is "_print". +

+

-s speed[,color-speed]
+Specifies the printer speed in pages per minute. If two numbers are specified and the second number is greater than zero, the server will report support for color printing. -The default is "10,0". -

-v[vvv] -
Be (very) verbose when logging activity to standard error. -
-

Exit Status

-The -ippeveprinter +The default is "10,0". +

+

-v[vvv]
+Be (very) verbose when logging activity to standard error. +

+

Exit Status

+

The +ippeveprinter program returns 1 if it is unable to process the command-line arguments or register the IPP service. Otherwise -ippeveprinter +ippeveprinter will run continuously until terminated. -

Conforming To

-The -ippeveprinter +

+

Conforming To

+

The +ippeveprinter program is unique to CUPS and conforms to the IPP Everywhere (PWG 5100.14) specification. -

Environment

-ippeveprinter -adds environment variables starting with "IPP_" for all IPP Job attributes in the print request. -For example, when executing a command for an IPP Job containing the "media" Job Template attribute, the "IPP_MEDIA" environment variable will be set to the value of that attribute. -

In addition, all IPP "xxx-default" and "pwg-xxx" Printer Description attributes are added to the environment. -For example, the "IPP_MEDIA_DEFAULT" environment variable will be set to the default value for the "media" Job Template attribute. -

Enumerated values are converted to their keyword equivalents. -For example, a "print-quality" Job Template attribute with a enum value of 3 will become the "IPP_PRINT_QUALITY" environment variable with a value of "draft". -This string conversion only happens for standard Job Template attributes, currently "finishings", "orientation-requested", and "print-quality". -

Finally, the "CONTENT_TYPE" environment variable contains the MIME media type of the document being printed, the "DEVICE_URI" environment variable contains the device URI as specified with the "-D" option, the "OUTPUT_FORMAT" environment variable contains the output MIME media type, and the "PPD" environment variable contains the PPD filename as specified with the "-P" option. -

Command Output

-Unless they communicate directly with a printer, print commands send printer-ready data to the standard output. -

Print commands can send messages back to -ippeveprinter +

+

Environment

+

ippeveprinter +adds environment variables starting with "IPP_" for all IPP Job attributes in the print request. +For example, when executing a command for an IPP Job containing the "media" Job Template attribute, the "IPP_MEDIA" environment variable will be set to the value of that attribute. +

+

In addition, all IPP "xxx-default" and "pwg-xxx" Printer Description attributes are added to the environment. +For example, the "IPP_MEDIA_DEFAULT" environment variable will be set to the default value for the "media" Job Template attribute. +

+

Enumerated values are converted to their keyword equivalents. +For example, a "print-quality" Job Template attribute with a enum value of 3 will become the "IPP_PRINT_QUALITY" environment variable with a value of "draft". +This string conversion only happens for standard Job Template attributes, currently "finishings", "orientation-requested", and "print-quality". +

+

Finally, the "CONTENT_TYPE" environment variable contains the MIME media type of the document being printed, the "DEVICE_URI" environment variable contains the device URI as specified with the "-D" option, the "OUTPUT_FORMAT" environment variable contains the output MIME media type, and the "PPD" environment variable contains the PPD filename as specified with the "-P" option. +

+

Command Output

+

Unless they communicate directly with a printer, print commands send printer-ready data to the standard output. +

+

Print commands can send messages back to +ippeveprinter on the standard error with one of the following prefixes: -

-
ATTR: attribute=value[ attribute=value] -
Sets the named attribute(s) to the given values. -Currently only the "job-impressions" and "job-impressions-completed" Job Status attributes and the "marker-xxx", "printer-alert", "printer-alert-description", "printer-supply", and "printer-supply-description" Printer Status attributes can be set. -
DEBUG: Debugging message -
Logs a debugging message if at least two -v's have been specified. -
ERROR: Error message -
Logs an error message and copies the message to the "job-state-message" attribute. -
INFO: Informational message -
Logs an informational/progress message if -v has been specified and copies the message to the "job-state-message" attribute unless an error has been reported. -
STATE: keyword[,keyword,...] -
Sets the printer's "printer-state-reasons" attribute to the listed keywords. -
STATE: -keyword[,keyword,...] -
Removes the listed keywords from the printer's "printer-state-reasons" attribute. -
STATE: +keyword[,keyword,...] -
Adds the listed keywords to the printer's "printer-state-reasons" attribute. -
-

Examples

-Run -ippeveprinter +

+

ATTR: attribute=value[ attribute=value]
+Sets the named attribute(s) to the given values. +Currently only the "job-impressions" and "job-impressions-completed" Job Status attributes and the "marker-xxx", "printer-alert", "printer-alert-description", "printer-supply", and "printer-supply-description" Printer Status attributes can be set. +

+

DEBUG: Debugging message
+Logs a debugging message if at least two -v's have been specified. +

+

ERROR: Error message
+Logs an error message and copies the message to the "job-state-message" attribute. +

+

INFO: Informational message
+Logs an informational/progress message if -v has been specified and copies the message to the "job-state-message" attribute unless an error has been reported. +

+

STATE: keyword[,keyword,...]
+Sets the printer's "printer-state-reasons" attribute to the listed keywords. +

+

STATE: -keyword[,keyword,...]
+Removes the listed keywords from the printer's "printer-state-reasons" attribute. +

+

STATE: +keyword[,keyword,...]
+Adds the listed keywords to the printer's "printer-state-reasons" attribute. +

+

Examples

+

Run +ippeveprinter with a service name of My Cool Printer: -

-    ippeveprinter "My Cool Printer"
+

+
+    ippeveprinter "My Cool Printer"
 
-

Run the -file(1) +

Run the +file(1) + command whenever a job is sent to the server: -

-    ippeveprinter -c /usr/bin/file "My Cool Printer"
+

+
+    ippeveprinter -c /usr/bin/file "My Cool Printer"
 
-

See Also

-ippevepcl(7), -ippeveps(7), -PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

ippevepcl(7), - +ippeveps(7), + +PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ippfind.html b/doc/help/man-ippfind.html index be1f60ab0c..35c88428d8 100644 --- a/doc/help/man-ippfind.html +++ b/doc/help/man-ippfind.html @@ -1,205 +1,272 @@ - + - - - - ippfind(1) - - -

ippfind(1)

-

Name

-ippfind - find internet printing protocol printers -

Synopsis

-ippfind + + + ippfind(1) + + +

ippfind(1)

+

Name

+

ippfind - find internet printing protocol printers +

+

Synopsis

+

ippfind [ -options -] regtype[,subtype][.domain.] ... [ -expression +options +] regtype[,subtype][.domain.] ... [ +expression ... ]
-ippfind +ippfind [ -options -] name[.regtype[.domain.]] ... [ -expression +options +] name[.regtype[.domain.]] ... [ +expression ... ]
-ippfind ---help +ippfind +--help
-ippfind ---version -

Description

-ippfind finds services registered with a DNS server or available through local devices. +ippfind +--version +

+

Description

+

ippfind finds services registered with a DNS server or available through local devices. Its primary purpose is to find IPP printers and show their URIs, show their current status, or run commands. -

Registration Types

-ippfind supports the following registration types: -
-
_http._tcp -
HyperText Transport Protocol (HTTP, RFC 2616) -
_https._tcp -
Secure HyperText Transport Protocol (HTTPS, RFC 2818) -
_ipp._tcp -
Internet Printing Protocol (IPP, RFC 2911) -
_ipps._tcp -
Secure Internet Printing Protocol (IPPS, draft) -
_printer._tcp -
Line Printer Daemon (LPD, RFC 1179) -
-

Expressions

-ippfind supports expressions much like the -find(1) +

+

Registration Types

+

ippfind supports the following registration types: +

+

_http._tcp
+HyperText Transport Protocol (HTTP, RFC 2616) +

+

_https._tcp
+Secure HyperText Transport Protocol (HTTPS, RFC 2818) +

+

_ipp._tcp
+Internet Printing Protocol (IPP, RFC 2911) +

+

_ipps._tcp
+Secure Internet Printing Protocol (IPPS, draft) +

+

_printer._tcp
+Line Printer Daemon (LPD, RFC 1179) +

+

Expressions

+

ippfind supports expressions much like the +find(1) + utility. However, unlike -find(1), -ippfind uses POSIX regular expressions instead of shell filename matching patterns. -If --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s, or -x is not specified, ippfind adds --print to print the service URI of anything it finds. +find(1), + +ippfind uses POSIX regular expressions instead of shell filename matching patterns. +If --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s, or -x is not specified, ippfind adds --print to print the service URI of anything it finds. The following expressions are supported: -

-
-d regex -
--domain regex -
True if the domain matches the given regular expression. -
--false -
Always false. -
-h regex -
--host regex -
True is the hostname matches the given regular expression. -
-l -
--ls -
Lists attributes returned by Get-Printer-Attributes for IPP printers and traditional find "-ls" output for HTTP URLs. +

+

-d regex
+

+

--domain regex
+True if the domain matches the given regular expression. +

+

--false
+Always false. +

+

-h regex
+

+

--host regex
+True is the hostname matches the given regular expression. +

+

-l
+

+

--ls
+Lists attributes returned by Get-Printer-Attributes for IPP printers and traditional find "-ls" output for HTTP URLs. The result is true if the URI is accessible, false otherwise. -

--local -
True if the service is local to this computer. -
-N name -
--literal-name name -
True if the service instance name matches the given name. -
-n regex -
--name regex -
True if the service instance name matches the given regular expression. -
--path regex -
True if the URI resource path matches the given regular expression. -
-P number[-number] -
--port number[-number] -
True if the port matches the given number or range. -
-p -
--print -
Prints the URI if the result of previous expressions is true. +

+

--local
+True if the service is local to this computer. +

+

-N name
+

+

--literal-name name
+True if the service instance name matches the given name. +

+

-n regex
+

+

--name regex
+True if the service instance name matches the given regular expression. +

+

--path regex
+True if the URI resource path matches the given regular expression. +

+

-P number[-number]
+

+

--port number[-number]
+True if the port matches the given number or range. +

+

-p
+

+

--print
+Prints the URI if the result of previous expressions is true. The result is always true. -

-q -
--quiet -
Quiet mode - just returns the exit codes below. -
-r -
--remote -
True if the service is not local to this computer. -
-s -
--print-name -
Prints the service instance name if the result of previous expressions is true. +

+

-q
+

+

--quiet
+Quiet mode - just returns the exit codes below. +

+

-r
+

+

--remote
+True if the service is not local to this computer. +

+

-s
+

+

--print-name
+Prints the service instance name if the result of previous expressions is true. The result is always true. -

--true -
Always true. -
-t key -
--txt key -
True if the TXT record contains the named key. -
--txt-key regex -
True if the TXT record contains the named key and matches the given regular expression. -
-u regex -
--uri regex -
True if the URI matches the given regular expression. -
-x utility [ argument ... ] ; -
--exec utility [ argument ... ] ; -
Executes the specified program if the current result is true. -"{foo}" arguments are replaced with the corresponding value - see SUBSTITUTIONS below. -
-

Expressions may also contain modifiers: -

-
( expression ) -
Group the result of expressions. -
! expression -
--not expression -
Unary NOT of the expression. -
expression expression -
expression --and expression -
Logical AND of expressions. -
expression --or expression -
Logical OR of expressions. -
-

Substitutions

-The substitutions for "{foo}" in -e and --exec are: -
-
{service_domain} -
Domain name, e.g., "example.com.", "local.", etc. -
{service_hostname} -
Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc. -
{service_name} -
Service instance name, e.g., "My Fine Printer". -
{service_port} -
Port number for server, typically 631 for IPP and 80 for HTTP. -
{service_regtype} -
DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc. -
{service_scheme} -
URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc. -
{} -
{service_uri} -
URI for service, e.g., "ipp://printer.local./ipp/print", "http://printer.local./", etc. -
{txt_key} -
Value of TXT record key (lowercase). -
-

Options

-ippfind supports the following options: -
-
--help -
Show program help. -
--version -
Show program version. -
-4 -
Use IPv4 when listing. -
-6 -
Use IPv6 when listing. -
-T seconds -
Specify find timeout in seconds. -If 1 or less, ippfind stops as soon as it thinks it has found everything. +

+

--true
+Always true. +

+

-t key
+

+

--txt key
+True if the TXT record contains the named key. +

+

--txt-key regex
+True if the TXT record contains the named key and matches the given regular expression. +

+

-u regex
+

+

--uri regex
+True if the URI matches the given regular expression. +

+

-x utility [ argument ... ] ;
+

+

--exec utility [ argument ... ] ;
+Executes the specified program if the current result is true. +"{foo}" arguments are replaced with the corresponding value - see SUBSTITUTIONS below. +

+

Expressions may also contain modifiers: +

+

( expression )
+Group the result of expressions. +

+

! expression
+

+

--not expression
+Unary NOT of the expression. +

+

expression expression
+

+

expression --and expression
+Logical AND of expressions. +

+

expression --or expression
+Logical OR of expressions. +

+

Substitutions

+

The substitutions for "{foo}" in -e and --exec are: +

+

{service_domain}
+Domain name, e.g., "example.com.", "local.", etc. +

+

{service_hostname}
+Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc. +

+

{service_name}
+Service instance name, e.g., "My Fine Printer". +

+

{service_port}
+Port number for server, typically 631 for IPP and 80 for HTTP. +

+

{service_regtype}
+DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc. +

+

{service_scheme}
+URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc. +

+

{}
+

+

{service_uri}
+URI for service, e.g., "ipp://printer.local./ipp/print", "http://printer.local./", etc. +

+

{txt_key}
+Value of TXT record key (lowercase). +

+

Options

+

ippfind supports the following options: +

+

--help
+Show program help. +

+

--version
+Show program version. +

+

-4
+Use IPv4 when listing. +

+

-6
+Use IPv6 when listing. +

+

-T seconds
+Specify find timeout in seconds. +If 1 or less, ippfind stops as soon as it thinks it has found everything. The default timeout is 1 second. -

-V version -
Specifies the IPP version when listing. -Supported values are "1.1", "2.0", "2.1", and "2.2". -
-

Exit Status

-ippfind returns 0 if the result for all processed expressions is true, 1 if the result of any processed expression is false, 2 if browsing or any query or resolution failed, 3 if an undefined option or invalid expression was specified, and 4 if it ran out of memory. -

Environment

-When executing a program, ippfind sets the following environment variables for the matching service registration: -
-
IPPFIND_SERVICE_DOMAIN -
Domain name, e.g., "example.com.", "local.", etc. -
IPPFIND_SERVICE_HOSTNAME -
Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc. -
IPPFIND_SERVICE_NAME -
Service instance name, e.g., "My Fine Printer". -
IPPFIND_SERVICE_PORT -
Port number for server, typically 631 for IPP and 80 for HTTP. -
IPPFIND_SERVICE_REGTYPE -
DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc. -
IPPFIND_SERVICE_SCHEME -
URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc. -
IPPFIND_SERVICE_URI -
URI for service, e.g., "ipp://printer.local./ipp/print", "http://printer.local./", etc. -
IPPFIND_TXT_fIKEYfR -
Values of TXT record KEY (uppercase). -
-

Examples

-To show the status of all registered IPP printers on your network, run: -
+

+

-V version
+Specifies the IPP version when listing. +Supported values are "1.1", "2.0", "2.1", and "2.2". +

+

Exit Status

+

ippfind returns 0 if the result for all processed expressions is true, 1 if the result of any processed expression is false, 2 if browsing or any query or resolution failed, 3 if an undefined option or invalid expression was specified, and 4 if it ran out of memory. +

+

Environment

+

When executing a program, ippfind sets the following environment variables for the matching service registration: +

+

IPPFIND_SERVICE_DOMAIN
+Domain name, e.g., "example.com.", "local.", etc. +

+

IPPFIND_SERVICE_HOSTNAME
+Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc. +

+

IPPFIND_SERVICE_NAME
+Service instance name, e.g., "My Fine Printer". +

+

IPPFIND_SERVICE_PORT
+Port number for server, typically 631 for IPP and 80 for HTTP. +

+

IPPFIND_SERVICE_REGTYPE
+DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc. +

+

IPPFIND_SERVICE_SCHEME
+URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc. +

+

IPPFIND_SERVICE_URI
+URI for service, e.g., "ipp://printer.local./ipp/print", "http://printer.local./", etc. +

+

IPPFIND_TXT_KEY
+Values of TXT record KEY (uppercase). +

+

Examples

+

To show the status of all registered IPP printers on your network, run: +

+
     ippfind --ls
 
 
-Similarly, to send a PostScript test page to every PostScript printer, run: -
+

Similarly, to send a PostScript test page to every PostScript printer, run: +

+
     ippfind --txt-pdl application/postscript --exec ipptool
       -f onepage-letter.ps '{}' print-job.test \;
 
-

See Also

-ipptool(1) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

ipptool(1) - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ipptool.html b/doc/help/man-ipptool.html index a11dde8a7e..b4fda100ee 100644 --- a/doc/help/man-ipptool.html +++ b/doc/help/man-ipptool.html @@ -1,183 +1,220 @@ - + - - - - ipptool(1) - - -

ipptool(1)

-

Name

-ipptool - perform internet printing protocol requests -

Synopsis

-ipptool + + + ipptool(1) + + +

ipptool(1)

+

Name

+

ipptool - perform internet printing protocol requests +

+

Synopsis

+

ipptool [ ---help +--help ] [ ---ippserver -filename +--ippserver +filename ] [ ---stop-after-include-error +--stop-after-include-error ] [ ---version +--version ] [ --4 +-4 ] [ --6 +-6 ] [ --C +-C ] [ --E +-E ] [ --I +-I ] [ --L +-L ] [ --P -filename.plist +-P +filename.plist ] [ --S +-S ] [ --T -seconds +-T +seconds ] [ --V -version +-V +version ] [ --X +-X ] [ --c +-c ] [ --d -name=value +-d +name=value ] [ --f -filename +-f +filename ] [ --h +-h ] [ --i -seconds +-i +seconds ] [ --j +-j ] [ --n -repeat-count +-n +repeat-count ] [ --q +-q ] [ --t +-t ] [ --v] -printer-uri -testfile +-v ] +printer-uri +testfile [ ... -testfile +testfile ] -

Description

-ipptool +

+

Description

+

ipptool sends IPP requests to the specified -printer-uri +printer-uri and tests and/or displays the results. Each named -testfile +testfile defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The -testfile +testfile format is described in -ipptoolfile(5). -

Options

-The following options are recognized by -ipptool: -
-
--help -
Shows program help. -
--ippserver filename -
Specifies that the test results should be written to the named -ippserver +ipptoolfile(5). + +

+

Options

+

The following options are recognized by +ipptool: +

+

--help
+Shows program help. +

+

--ippserver filename
+Specifies that the test results should be written to the named +ippserver attributes file. -

--stop-after-include-error -
Tells -ipptool +

+

--stop-after-include-error
+Tells +ipptool to stop if an error occurs in an included file. Normally -ipptool +ipptool will continue with subsequent tests after the INCLUDE directive. -

--version -
Shows the version of -ipptool +

+

--version
+Shows the version of +ipptool being used. -

-4 -
Specifies that -ipptool +

+

-4
+Specifies that +ipptool must connect to the printer or server using IPv4. -

-6 -
Specifies that -ipptool +

+

-6
+Specifies that +ipptool must connect to the printer or server using IPv6. -

-C -
Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP. -The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files. -
-E -
Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header. -
-I -
Specifies that -ipptool +

+

-C
+Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP. +The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files. +

+

-E
+Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header. +

+

-I
+Specifies that +ipptool will continue past errors. -

-L -
Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP. -The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files. -
-P filename.plist -
Specifies that the test results should be written to the named XML (Apple plist) file in addition to the regular test report (-t). -This option is incompatible with the -i (interval) and -n (repeat-count) options. -
-S -
Forces (dedicated) TLS encryption when connecting to the server. -
-T seconds -
Specifies a timeout for IPP requests in seconds. -
-V version -
Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used. -
-X -
Specifies that XML (Apple plist) output is desired instead of the plain text report. -This option is incompatible with the -i (interval) and -n (repeat-count) options. -
-c -
Specifies that CSV (comma-separated values) output is desired instead of the plain text output. -
-d name=value -
Defines the named variable. -
-f filename -
Defines the default request filename for tests. -
-h -
Validate HTTP response headers. -
-i seconds -
Specifies that the (last) -testfile +

+

-L
+Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP. +The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files. +

+

-P filename.plist +
+Specifies that the test results should be written to the named XML (Apple plist) file in addition to the regular test report (-t). +This option is incompatible with the -i (interval) and -n (repeat-count) options. +

+

-S
+Forces (dedicated) TLS encryption when connecting to the server. +

+

-T seconds +
+Specifies a timeout for IPP requests in seconds. +

+

-V version +
+Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used. +

+

-X
+Specifies that XML (Apple plist) output is desired instead of the plain text report. +This option is incompatible with the -i (interval) and -n (repeat-count) options. +

+

-c
+Specifies that CSV (comma-separated values) output is desired instead of the plain text output. +

+

-d name=value +
+Defines the named variable. +

+

-f filename +
+Defines the default request filename for tests. +

+

-h
+Validate HTTP response headers. +

+

-i seconds +
+Specifies that the (last) +testfile should be repeated at the specified interval. -This option is incompatible with the -X (XML plist output) option. -

-j -
Specifies that -ipptool +This option is incompatible with the -X (XML plist output) option. +

+

-j
+Specifies that +ipptool will produce JSON output. -

-l -
Specifies that plain text output is desired. -
-n repeat-count -
Specifies that the (last) -testfile +

+

-l
+Specifies that plain text output is desired. +

+

-n repeat-count +
+Specifies that the (last) +testfile should be repeated the specified number of times. -This option is incompatible with the -X (XML plist output) option. -

-q -
Be quiet and produce no output. -
-t -
Specifies that CUPS test report output is desired instead of the plain text output. -
-v -
Specifies that all request and response attributes should be output in CUPS test mode (-t). +This option is incompatible with the -X (XML plist output) option. +

+

-q
+Be quiet and produce no output. +

+

-t
+Specifies that CUPS test report output is desired instead of the plain text output. +

+

-v
+Specifies that all request and response attributes should be output in CUPS test mode (-t). This is the default for XML output. -

-

Exit Status

-The -ipptool +

+

Exit Status

+

The +ipptool program returns 0 if all tests were successful and 1 otherwise. -

Files

-The following standard files are available: -
+

+

Files

+

The following standard files are available: +

+
     color.jpg
     create-printer-subscription.test
     document-a4.pdf
@@ -209,27 +246,31 @@ The following standard files are available:
     testfile.txt
     validate-job.test
 
-

Conforming To

-The -ipptool +

Conforming To

+

The +ipptool program is unique to CUPS and conforms to the Internet Printing Protocol up to version 2.2. -

Examples

-Get a list of completed jobs for "myprinter": -
+

+

Examples

+

Get a list of completed jobs for "myprinter": +

+
     ipptool ipp://localhost/printers/myprinter get-completed-jobs.test
 
-

Send email notifications to "user@example.com" when "myprinter" changes: -

+    

Send email notifications to "user@example.com" when "myprinter" changes: +

+
     ipptool -d recipient=mailto:user@example.com \
         ipp://localhost/printers/myprinter create-printer-subscription.test
 
-

See Also

-ipptoolfile(5), +

See Also

+

ipptoolfile(5), + IANA IPP Registry (https://www.iana.org/assignments/ipp-registrations), PWG Internet Printing Protocol Workgroup (https://www.pwg.org/ipp) RFC 8011 (https://datatracker.ietf.org/doc/html/rfc8011), -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ipptoolfile.html b/doc/help/man-ipptoolfile.html index 7c704bea2a..e1830d4d47 100644 --- a/doc/help/man-ipptoolfile.html +++ b/doc/help/man-ipptoolfile.html @@ -1,25 +1,27 @@ - + - - - - ipptoolfile(5) - - -

ipptoolfile(5)

-

Name

-ipptoolfile - ipptool file format -

Description

-The -ipptool(1) + + + ipptoolfile(5) + + +

ipptoolfile(5)

+

Name

+

ipptoolfile - ipptool file format +

+

Description

+

The +ipptool(1) + program accepts free-form plain text files that describe one or more IPP requests. -Comments start with the "#" character and continue to the end of the line. +Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curly braces, for example: -

+

+
     # This is a comment
     {
       # The name of the test
-      NAME "Print PDF File"
+      NAME "Print PDF File"
 
       # The request to send
       OPERATION Print-Job
@@ -33,7 +35,7 @@ Each request is enclosed by curly braces, for example:
 
       GROUP job-attributes-tag
       ATTR collection media-col {
-        # US Letter plain paper from the "main" tray
+        # US Letter plain paper from the "main" tray
         MEMBER collection media-size {
           MEMBER integer x-dimension 21590
           MEMBER integer y-dimension 27940
@@ -42,8 +44,8 @@ Each request is enclosed by curly braces, for example:
         MEMBER integer media-bottom-margin 423
         MEMBER integer media-left-margin 423
         MEMBER integer media-right-margin 423
-        MEMBER keyword media-source "main"
-        MEMBER keyword media-type "stationery"
+        MEMBER keyword media-source "main"
+        MEMBER keyword media-type "stationery"
       }
 
       FILE testfile.pdf
@@ -55,7 +57,7 @@ Each request is enclosed by curly braces, for example:
     }
     {
       # The name of the test
-      NAME "Wait for Job to Complete"
+      NAME "Wait for Job to Complete"
 
       # The request to send
       OPERATION Get-Job-Attributes
@@ -72,259 +74,381 @@ Each request is enclosed by curly braces, for example:
       EXPECT job-id OF-TYPE integer WITH-VALUE $job-id
       EXPECT job-uri OF-TYPE uri
       EXPECT job-state OF-TYPE enum WITH-VALUE >5 REPEAT-NO-MATCH
-      EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
+      EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
 
       # Show the job state until completed...
       DISPLAY job-state
       DISPLAY job-state-reasons
     }
 
-

Top-level Directives

-The following directives can be used outside of a test: -
-
{ test } -
Defines a test. -
DEFINE variable-name value -
Defines the named variable to the given value. This is equivalent to specifying -d variable-name=value on the -ipptool(8) +

Top-Level Directives

+

The following directives can be used outside of a test: +

+

{ test }
+Defines a test. +

+

DEFINE variable-name value
+Defines the named variable to the given value. This is equivalent to specifying -d variable-name=value on the +ipptool(8) + command-line. -

DEFINE-DEFAULT variable-name value -
Defines the named variable to the given value if it does not already have a value. -
FILE-ID "identifier" -
Specifies an identifier string for the current file. -
IGNORE-ERRORS yes -
IGNORE-ERRORS no -
Specifies whether, by default, -ipptool(8) +

+

DEFINE-DEFAULT variable-name value
+Defines the named variable to the given value if it does not already have a value. +

+

FILE-ID "identifier"
+Specifies an identifier string for the current file. +

+

IGNORE-ERRORS yes
+

+

IGNORE-ERRORS no
+Specifies whether, by default, +ipptool(8) + will ignore errors and continue with subsequent tests. -

INCLUDE "filename" -
INCLUDE <filename> -
Includes another test file. The first form includes a file relative to the current test file, while the second form includes a file from the -ipptool(8) +

+

INCLUDE "filename"
+

+

INCLUDE <filename>
+Includes another test file. The first form includes a file relative to the current test file, while the second form includes a file from the +ipptool(8) + include directory. -

INCLUDE-IF-DEFINED name "filename" -
INCLUDE-IF-DEFINED name <filename> -
Includes another test file if the named variable is defined. The first form includes a file relative to the current test file, while the second form includes a file from the -ipptool(8) +

+

INCLUDE-IF-DEFINED name "filename"
+

+

INCLUDE-IF-DEFINED name <filename>
+Includes another test file if the named variable is defined. The first form includes a file relative to the current test file, while the second form includes a file from the +ipptool(8) + include directory. -

INCLUDE-IF-NOT-DEFINED name "filename" -
INCLUDE-IF-NOT-DEFINED name <filename> -
Includes another test file if the named variable is not defined. The first form includes a file relative to the current test file, while the second form includes a file from the -ipptool(8) +

+

INCLUDE-IF-NOT-DEFINED name "filename"
+

+

INCLUDE-IF-NOT-DEFINED name <filename>
+Includes another test file if the named variable is not defined. The first form includes a file relative to the current test file, while the second form includes a file from the +ipptool(8) + include directory. -

SKIP-IF-DEFINED variable-name -
SKIP-IF-NOT-DEFINED variable-name -
Specifies that the remainder of the test file should be skipped when the variable is or is not defined. -
STOP-AFTER-INCLUDE-ERROR no -
STOP-AFTER-INCLUDE-ERROR yes -
Specifies whether tests will be stopped after an error in an included file. -
TRANSFER auto -
Specifies that tests will, by default, use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files. -
TRANSFER chunked -
Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding: chunked" header. This is the default and is equivalent to specifying -c on the -ipptool(8) +

+

SKIP-IF-DEFINED variable-name
+

+

SKIP-IF-NOT-DEFINED variable-name
+Specifies that the remainder of the test file should be skipped when the variable is or is not defined. +

+

STOP-AFTER-INCLUDE-ERROR no
+

+

STOP-AFTER-INCLUDE-ERROR yes
+Specifies whether tests will be stopped after an error in an included file. +

+

TRANSFER auto
+Specifies that tests will, by default, use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files. +

+

TRANSFER chunked
+Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding: chunked" header. This is the default and is equivalent to specifying -c on the +ipptool(8) + command-line. Support for chunked requests is required for conformance with all versions of IPP. -

TRANSFER length -
Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:" header. This is equivalent to specifying -l on the -ipptool(8) +

+

TRANSFER length
+Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:" header. This is equivalent to specifying -l on the +ipptool(8) + command-line. Support for content length requests is required for conformance with all versions of IPP. -

VERSION 1.0 -
VERSION 1.1 -
VERSION 2.0 -
VERSION 2.1 -
VERSION 2.2 -
Specifies the default IPP version number to use for the tests that follow. -
-

Test Directives

-The following directives are understood within a test: -
-
ATTR out-of-band-tag attribute-name -
ATTR tag attribute-name value(s) -
Adds an attribute to the test request. +

+

VERSION 1.0
+

+

VERSION 1.1
+

+

VERSION 2.0
+

+

VERSION 2.1
+

+

VERSION 2.2
+Specifies the default IPP version number to use for the tests that follow. +

+

Test Directives

+

The following directives are understood within a test: +

+

ATTR out-of-band-tag attribute-name
+

+

ATTR tag attribute-name value(s)
+Adds an attribute to the test request. Out-of-band tags (admin-define, delete-attribute, no-value, not-settable, unknown, unsupported) have no value. -Values for other tags are delimited by the comma (",") character - escape commas using the "\" character. +Values for other tags are delimited by the comma (",") character - escape commas using the "\" character. Common attributes and values are listed in the IANA IPP registry - see references below. -

ATTR collection attribute-name { MEMBER tag member-name value(s) ... } [ ... ,{ ... } ] -
Adds a collection attribute to the test request. +

+

ATTR collection attribute-name { MEMBER tag member-name value(s) ... } [ ... ,{ ... } ]
+Adds a collection attribute to the test request. Member attributes follow the same syntax as regular attributes and can themselves be nested collections. Multiple collection values can be supplied as needed, separated by commas. -

COMPRESSION deflate -
COMPRESSION gzip -
COMPRESSION none -
Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request. -
DELAY seconds[,repeat-seconds] -
Specifies a delay in seconds before this test will be run. +

+

COMPRESSION deflate
+

+

COMPRESSION gzip
+

+

COMPRESSION none
+Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request. +

+

DELAY seconds[,repeat-seconds]
+Specifies a delay in seconds before this test will be run. If two values are specified, the second value is used as the delay between repeated tests. A default repeat interval of 5 seconds is used if this directive is not provided. -

DISPLAY attribute-name -
Specifies that value of the named attribute should be output as part of the +

+

DISPLAY attribute-name
+Specifies that value of the named attribute should be output as part of the test report. -

EXPECT attribute-name [ predicate(s) ] -
EXPECT ?attribute-name predicate(s) -
EXPECT !attribute-name -
Specifies that the response must/may/must not include the named attribute. Additional requirements can be added as predicates - see the "EXPECT PREDICATES" section for more information on predicates. Attribute names can specify member attributes by separating the attribute and member names with the forward slash, for example "media-col/media-size/x-dimension". -
EXPECT-ALL attribute-name [ predicate(s) ] -
EXPECT-ALL ?attribute-name predicate(s) -
Specifies that the response must/may include the named attribute and that all occurrences of that attribute must match the given predicates. -
FILE filename -
Specifies a file to include at the end of the request. This is typically used when sending a test print file. -
GROUP tag -
Specifies the group tag for subsequent attributes in the request. -
IGNORE-ERRORS yes -
IGNORE-ERRORS no -
Specifies whether -ipptool(8) +

+

EXPECT attribute-name [ predicate(s) ]
+

+

EXPECT ?attribute-name predicate(s)
+

+

EXPECT !attribute-name
+Specifies that the response must/may/must not include the named attribute. Additional requirements can be added as predicates - see the "EXPECT PREDICATES" section for more information on predicates. Attribute names can specify member attributes by separating the attribute and member names with the forward slash, for example "media-col/media-size/x-dimension". +

+

EXPECT-ALL attribute-name [ predicate(s) ]
+

+

EXPECT-ALL ?attribute-name predicate(s)
+Specifies that the response must/may include the named attribute and that all occurrences of that attribute must match the given predicates. +

+

FILE filename
+Specifies a file to include at the end of the request. This is typically used when sending a test print file. +

+

GROUP tag
+Specifies the group tag for subsequent attributes in the request. +

+

IGNORE-ERRORS yes
+

+

IGNORE-ERRORS no
+Specifies whether +ipptool(8) + will ignore errors and continue with subsequent tests. -

MONITOR-PRINTER-STATE [ printer-uri ] { EXPECT attribute-name [ predicate(s) ] } -
Specifies printer state monitoring tests to run in parallel with the test operation. -The monitoring tests will run until all of the EXPECT conditions are satisfied or the primary test operation has completed, whichever occurs first. -
NAME "literal string" -
Specifies the human-readable name of the test. -
OPERATION operation-code -
Specifies the operation to be performed. -
PASS-IF-DEFINED variable-name -
PASS-IF-NOT-DEFINED variable-name -
Specifies that the current test should be passed automatically when the variable is or is not defined. -
PAUSE "message" -
Displays the provided message and waits for the user to press a key to continue. -
REQUEST-ID number -
REQUEST-ID random -
Specifies the request-id value to use in the request, either an integer or the word "random" to use a randomly generated value (the default). -
RESOURCE path -
Specifies an alternate resource path that is used for the HTTP POST request. The default is the resource from the URI provided to the -ipptool(8) +

+

MONITOR-PRINTER-STATE [ printer-uri ] { EXPECT attribute-name [ predicate(s) ] }
+Specifies printer state monitoring tests to run in parallel with the test operation. +The monitoring tests will run until all of the EXPECT conditions are satisfied or the primary test operation has completed, whichever occurs first. +

+

NAME "literal string"
+Specifies the human-readable name of the test. +

+

OPERATION operation-code
+Specifies the operation to be performed. +

+

PASS-IF-DEFINED variable-name
+

+

PASS-IF-NOT-DEFINED variable-name
+Specifies that the current test should be passed automatically when the variable is or is not defined. +

+

PAUSE "message"
+Displays the provided message and waits for the user to press a key to continue. +

+

REQUEST-ID number
+

+

REQUEST-ID random
+Specifies the request-id value to use in the request, either an integer or the word "random" to use a randomly generated value (the default). +

+

RESOURCE path
+Specifies an alternate resource path that is used for the HTTP POST request. The default is the resource from the URI provided to the +ipptool(8) + program. -

SKIP-IF-DEFINED variable-name -
SKIP-IF-NOT-DEFINED variable-name -
Specifies that the current test should be skipped when the variable is or is not defined. -
SKIP-PREVIOUS-ERROR yes -
SKIP-PREVIOUS-ERROR no -
Specifies whether -ipptool(8) +

+

SKIP-IF-DEFINED variable-name
+

+

SKIP-IF-NOT-DEFINED variable-name
+Specifies that the current test should be skipped when the variable is or is not defined. +

+

SKIP-PREVIOUS-ERROR yes
+

+

SKIP-PREVIOUS-ERROR no
+Specifies whether +ipptool(8) + will skip the current test if the previous test resulted in an error/failure. -

STATUS status-code [ predicate ] -
Specifies an expected response status-code value. Additional requirements can be added as predicates - see the "STATUS PREDICATES" section for more information on predicates. -
TEST-ID "identifier" -
Specifies an identifier string for the current test. -
TRANSFER auto -
Specifies that this test will use "Transfer-Encoding: chunked" if it has an attached file or "Content-Length:" otherwise. -
TRANSFER chunked -
Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked" header. -
TRANSFER length -
Specifies that this test will use the HTTP/1.0 "Content-Length:" header. -
VERSION 1.0 -
VERSION 1.1 -
VERSION 2.0 -
VERSION 2.1 -
VERSION 2.2 -
Specifies the IPP version number to use for this test. -
-

Expect Predicates

-The following predicates are understood following the EXPECT test directive: -
-
COUNT number -
Requires the EXPECT attribute to have the specified number of values. -
DEFINE-MATCH variable-name -
Defines the variable to "1" when the EXPECT condition matches. -A side-effect of this predicate is that this EXPECT will never fail a test. -
DEFINE-NO-MATCH variable-name -
Defines the variable to "1" when the EXPECT condition does not match. -A side-effect of this predicate is that this EXPECT will never fail a test. -
DEFINE-VALUE variable-name -
Defines the variable to the value of the attribute when the EXPECT condition matches. -A side-effect of this predicate is that this EXPECT will never fail a test. -
DISPLAY-MATCH "message" -
Displays the specified message when the EXPECT condition matches. -
IF-DEFINED variable-name -
Makes the EXPECT conditions apply only if the specified variable is defined. -
IF-NOT-DEFINED variable-name -
Makes the EXPECT conditions apply only if the specified variable is not defined. -
IN-GROUP tag -
Requires the EXPECT attribute to be in the specified group tag. -
OF-TYPE tag[(limits)|tag|...] -
Requires the EXPECT attribute to use one of the specified value tag(s). -Most value tags also support the specification of limits in parenthesis, for example "name(42)" would allow nameWith/WithoutLanguage strings up to 42 octets in length, "name(4:MAX)" would allow nameWith/WithoutLanguage strings between 4 and 255 octets in length, and "integer(-273:MAX)" would allow integers between -273 and 2147483647. -
REPEAT-LIMIT number -

-Specifies the maximum number of times to repeat if the REPEAT-MATCH or REPEAT-NO-MATCH predicate is specified. The default value is 1000. -
REPEAT-MATCH -
REPEAT-NO-MATCH -
Specifies that the current test should be repeated when the EXPECT condition matches or does not match. -
SAME-COUNT-AS attribute-name -
Requires the EXPECT attribute to have the same number of values as the specified parallel attribute. -
WITH-ALL-HOSTNAMES "literal string" -
WITH-ALL-HOSTNAMES "/regular expression/" -
Requires that all URI values contain a matching hostname. -
WITH-ALL-RESOURCES "literal string" -
WITH-ALL-RESOURCES "/regular expression/" -
Requires that all URI values contain a matching resource (including leading /). -
WITH-ALL-SCHEMES "literal string" -
WITH-ALL-SCHEMES "/regular expression/" -
Requires that all URI values contain a matching scheme. -
WITH-ALL-VALUES "literal string" -
Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive. -
WITH-ALL-VALUES <number -
WITH-ALL-VALUES =number -
WITH-ALL-VALUES >number -
WITH-ALL-VALUES number[,...,number] -
Requires that all values of the EXPECT attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range. -
WITH-ALL-VALUES "false" -
WITH-ALL-VALUES "true" -
Requires that all values of the EXPECT attribute match the boolean value given. -
WITH-ALL-VALUES "/regular expression/" -
Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. +

+

STATUS status-code [ predicate ]
+Specifies an expected response status-code value. Additional requirements can be added as predicates - see the "STATUS PREDICATES" section for more information on predicates. +

+

TEST-ID "identifier"
+Specifies an identifier string for the current test. +

+

TRANSFER auto
+Specifies that this test will use "Transfer-Encoding: chunked" if it has an attached file or "Content-Length:" otherwise. +

+

TRANSFER chunked
+Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked" header. +

+

TRANSFER length
+Specifies that this test will use the HTTP/1.0 "Content-Length:" header. +

+

VERSION 1.0
+

+

VERSION 1.1
+

+

VERSION 2.0
+

+

VERSION 2.1
+

+

VERSION 2.2
+Specifies the IPP version number to use for this test. +

+

Expect Predicates

+

The following predicates are understood following the EXPECT test directive: +

+

COUNT number
+Requires the EXPECT attribute to have the specified number of values. +

+

DEFINE-MATCH variable-name
+Defines the variable to "1" when the EXPECT condition matches. +A side-effect of this predicate is that this EXPECT will never fail a test. +

+

DEFINE-NO-MATCH variable-name
+Defines the variable to "1" when the EXPECT condition does not match. +A side-effect of this predicate is that this EXPECT will never fail a test. +

+

DEFINE-VALUE variable-name
+Defines the variable to the value of the attribute when the EXPECT condition matches. +A side-effect of this predicate is that this EXPECT will never fail a test. +

+

DISPLAY-MATCH "message"
+Displays the specified message when the EXPECT condition matches. +

+

IF-DEFINED variable-name
+Makes the EXPECT conditions apply only if the specified variable is defined. +

+

IF-NOT-DEFINED variable-name
+Makes the EXPECT conditions apply only if the specified variable is not defined. +

+

IN-GROUP tag
+Requires the EXPECT attribute to be in the specified group tag. +

+

OF-TYPE tag[(limits)|tag|...]
+Requires the EXPECT attribute to use one of the specified value tag(s). +Most value tags also support the specification of limits in parenthesis, for example "name(42)" would allow nameWith/WithoutLanguage strings up to 42 octets in length, "name(4:MAX)" would allow nameWith/WithoutLanguage strings between 4 and 255 octets in length, and "integer(-273:MAX)" would allow integers between -273 and 2147483647. +

+

REPEAT-LIMIT number
+
+Specifies the maximum number of times to repeat if the REPEAT-MATCH or REPEAT-NO-MATCH predicate is specified. The default value is 1000. +

+

REPEAT-MATCH
+

+

REPEAT-NO-MATCH
+Specifies that the current test should be repeated when the EXPECT condition matches or does not match. +

+

SAME-COUNT-AS attribute-name
+Requires the EXPECT attribute to have the same number of values as the specified parallel attribute. +

+

WITH-ALL-HOSTNAMES "literal string"
+

+

WITH-ALL-HOSTNAMES "/regular expression/"
+Requires that all URI values contain a matching hostname. +

+

WITH-ALL-RESOURCES "literal string"
+

+

WITH-ALL-RESOURCES "/regular expression/"
+Requires that all URI values contain a matching resource (including leading /). +

+

WITH-ALL-SCHEMES "literal string"
+

+

WITH-ALL-SCHEMES "/regular expression/"
+Requires that all URI values contain a matching scheme. +

+

WITH-ALL-VALUES "literal string"
+Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive. +

+

WITH-ALL-VALUES <number
+

+

WITH-ALL-VALUES =number
+

+

WITH-ALL-VALUES >number
+

+

WITH-ALL-VALUES number[,...,number]
+Requires that all values of the EXPECT attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range. +

+

WITH-ALL-VALUES "false"
+

+

WITH-ALL-VALUES "true"
+Requires that all values of the EXPECT attribute match the boolean value given. +

+

WITH-ALL-VALUES "/regular expression/"
+Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive. -

WITH-DISTINCT-VALUES -
Requires that all values of the EXPECT attribute are unique. +

+

WITH-DISTINCT-VALUES
+Requires that all values of the EXPECT attribute are unique. Comparisons are case-sensitive. Only charset, collection, enum, integer, keyword, mimeMediaType, naturalLanguage, rangeOfInteger, resolution, uriScheme attributes support this predicate. -

WITH-HOSTNAME "literal string" -
WITH-HOSTNAME "/regular expression/" -
Requires that at least one URI value contains a matching hostname. -
WITH-RESOURCE "literal string" -
WITH-RESOURCE "/regular expression/" -
Requires that at least one URI value contains a matching resource (including leading /). -
WITH-SCHEME "literal string" -
WITH-SCHEME "/regular expression/" -
Requires that at least one URI value contains a matching scheme. -
WITH-VALUE "literal string" -
Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive. -
WITH-VALUE <number -
WITH-VALUE =number -
WITH-VALUE >number -
WITH-VALUE number[,...,number] -
Requires that at least one value of the EXPECT attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range. -
WITH-VALUE "false" -
WITH-VALUE "true" -
Requires that at least one value of the EXPECT attribute matches the boolean value given. -
WITH-VALUE "/regular expression/" -
Requires that at least one value of the EXPECT attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive. -
WITH-VALUE-FROM attribute-name -
Requires that the value(s) of the EXPECT attribute matches the value(s) in the specified attribute. -For example, "EXPECT job-sheets WITH-VALUE-FROM job-sheets-supported" requires that the "job-sheets" value is listed as a value of the "job-sheets-supported" attribute. -
-

Status Predicates

-The following predicates are understood following the STATUS test directive: -
-
DEFINE-MATCH variable-name -
Defines the variable to "1" when the STATUS matches. A side-effect of this predicate is that this STATUS will never fail a test. -
DEFINE-NO-MATCH variable-name -
Defines the variable to "1" when the STATUS does not match. A side-effect of this predicate is that this STATUS will never fail a test. -
IF-DEFINED variable-name -
Makes the STATUS apply only if the specified variable is defined. -
IF-NOT-DEFINED variable-name -
Makes the STATUS apply only if the specified variable is not defined. -
REPEAT-LIMIT number -

+

+

WITH-HOSTNAME "literal string"
+

+

WITH-HOSTNAME "/regular expression/"
+Requires that at least one URI value contains a matching hostname. +

+

WITH-RESOURCE "literal string"
+

+

WITH-RESOURCE "/regular expression/"
+Requires that at least one URI value contains a matching resource (including leading /). +

+

WITH-SCHEME "literal string"
+

+

WITH-SCHEME "/regular expression/"
+Requires that at least one URI value contains a matching scheme. +

+

WITH-VALUE "literal string"
+Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive. +

+

WITH-VALUE <number
+

+

WITH-VALUE =number
+

+

WITH-VALUE >number
+

+

WITH-VALUE number[,...,number]
+Requires that at least one value of the EXPECT attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range. +

+

WITH-VALUE "false"
+

+

WITH-VALUE "true"
+Requires that at least one value of the EXPECT attribute matches the boolean value given. +

+

WITH-VALUE "/regular expression/"
+Requires that at least one value of the EXPECT attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive. +

+

WITH-VALUE-FROM attribute-name
+Requires that the value(s) of the EXPECT attribute matches the value(s) in the specified attribute. +For example, "EXPECT job-sheets WITH-VALUE-FROM job-sheets-supported" requires that the "job-sheets" value is listed as a value of the "job-sheets-supported" attribute. +

+

Status Predicates

+

The following predicates are understood following the STATUS test directive: +

+

DEFINE-MATCH variable-name
+Defines the variable to "1" when the STATUS matches. A side-effect of this predicate is that this STATUS will never fail a test. +

+

DEFINE-NO-MATCH variable-name
+Defines the variable to "1" when the STATUS does not match. A side-effect of this predicate is that this STATUS will never fail a test. +

+

IF-DEFINED variable-name
+Makes the STATUS apply only if the specified variable is defined. +

+

IF-NOT-DEFINED variable-name
+Makes the STATUS apply only if the specified variable is not defined. +

+

REPEAT-LIMIT number
+
Specifies the maximum number of times to repeat. The default value is 1000. -

REPEAT-MATCH -
REPEAT-NO-MATCH -
Specifies that the current test should be repeated when the response status-code matches or does not match the value specified by the STATUS directive. -
-

Operation Codes

-Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of names supported by -ipptool(8): -
+

+

REPEAT-MATCH
+

+

REPEAT-NO-MATCH
+Specifies that the current test should be repeated when the response status-code matches or does not match the value specified by the STATUS directive. +

+

Operation Codes

+

Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of names supported by +ipptool(8): + +

+
     Acknowledge-Document
     Acknowledge-Identify-Printer
     Acknowledge-Job
@@ -434,10 +558,12 @@ Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RF
     Validate-Document
     Validate-Job
 
-

Status Codes

-Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of the names supported by -ipptool(8): -
+    

Status Codes

+

Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of the names supported by +ipptool(8): + +

+
     client-error-account-authorization-failed
     client-error-account-closed
     client-error-account-info-needed
@@ -497,9 +623,10 @@ Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8
     successful-ok-ignored-subscriptions
     successful-ok-too-many-events
 
-

Tags

-Value and group tags correspond to the names from RFC 8011 and other IPP extension specifications. Here are the group tags: -
+    

Tags

+

Value and group tags correspond to the names from RFC 8011 and other IPP extension specifications. Here are the group tags: +

+
     document-attributes-tag
     event-notification-attributes-tag
     job | job-attributes-tag
@@ -510,8 +637,9 @@ Value and group tags correspond to the names from RFC 8011 and other IPP extensi
     system-attributes-tag
     unsupported-attributes-tag
 
-

Here are the value tags: -

+    

Here are the value tags: +

+
     admin-define
     boolean
     charset
@@ -536,62 +664,87 @@ Value and group tags correspond to the names from RFC 8011 and other IPP extensi
     uri
     uriScheme
 
-

Variables

-The -ipptool(8) -program maintains a list of variables that can be used in any literal string or attribute value by specifying "$variable-name". Aside from variables defined using the -d option or DEFINE directive, the following pre-defined variables are available: -
-
$$ -
Inserts a single "$" character. -
$ENV[name] -
Inserts the value of the named environment variable, or an empty string if the environment variable is not defined. -
$date-current -
Inserts the current date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ"). -
$date-start -
Inserts the starting date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ"). -
$filename -
Inserts the filename provided to -ipptool(8) -with the -f option. -
$filetype -
Inserts the MIME media type for the filename provided to -ipptool(8) -with the -f option. -
$hostname -
Inserts the hostname from the URI provided to -ipptool(8). -
$job-id -
Inserts the last "job-id" attribute value returned in a test response or 0 if no "job-id" attribute has been seen. -
$job-uri -
Inserts the last "job-uri" attribute value returned in a test response or an empty string if no "job-uri" attribute has been seen. -
$notify-subscription-id -
Inserts the last "notify-subscription-id" attribute value returned in a test response or 0 if no "notify-subscription-id" attribute has been seen. -
$port -
Inserts the port number from the URI provided to -ipptool(8). -
$resource -
Inserts the resource path from the URI provided to -ipptool(8). -
$scheme -
Inserts the scheme from the URI provided to -ipptool(8). -
$uri -
Inserts the URI provided to -ipptool(8). -
$uriuser -
Inserts the username from the URI provided to -ipptool(8), +

Variables

+

The +ipptool(8) + +program maintains a list of variables that can be used in any literal string or attribute value by specifying "$variable-name". Aside from variables defined using the -d option or DEFINE directive, the following pre-defined variables are available: +

+

$$
+Inserts a single "$" character. +

+

$ENV[name]
+Inserts the value of the named environment variable, or an empty string if the environment variable is not defined. +

+

$date-current
+Inserts the current date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ"). +

+

$date-start
+Inserts the starting date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ"). +

+

$filename
+Inserts the filename provided to +ipptool(8) + +with the -f option. +

+

$filetype
+Inserts the MIME media type for the filename provided to +ipptool(8) + +with the -f option. +

+

$hostname
+Inserts the hostname from the URI provided to +ipptool(8). + +

+

$job-id
+Inserts the last "job-id" attribute value returned in a test response or 0 if no "job-id" attribute has been seen. +

+

$job-uri
+Inserts the last "job-uri" attribute value returned in a test response or an empty string if no "job-uri" attribute has been seen. +

+

$notify-subscription-id
+Inserts the last "notify-subscription-id" attribute value returned in a test response or 0 if no "notify-subscription-id" attribute has been seen. +

+

$port
+Inserts the port number from the URI provided to +ipptool(8). + +

+

$resource
+Inserts the resource path from the URI provided to +ipptool(8). + +

+

$scheme
+Inserts the scheme from the URI provided to +ipptool(8). + +

+

$uri
+Inserts the URI provided to +ipptool(8). + +

+

$uriuser
+Inserts the username from the URI provided to +ipptool(8), + if any. -

$user -
Inserts the current user's login name. -
-

See Also

-ipptool(1), +

+

$user
+Inserts the current user's login name. +

+

See Also

+

ipptool(1), + IANA IPP Registry (https://www.iana.org/assignments/ipp-registrations), PWG Internet Printing Protocol Workgroup (https://www.pwg.org/ipp), RFC 8011 (https://datatracker.ietf.org/doc/html/rfc8011) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lp.html b/doc/help/man-lp.html index b7754b468b..d0bfca528e 100644 --- a/doc/help/man-lp.html +++ b/doc/help/man-lp.html @@ -1,201 +1,248 @@ - + - - - - lp(1) - - -

lp(1)

-

Name

-lp - print files -

Synopsis

-lp + + + lp(1) + + +

lp(1)

+

Name

+

lp - print files +

+

Synopsis

+

lp [ --h hostname[:port] +-h hostname[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ --c +-c ] [ --d destination[/instance] +-d destination[/instance] ] [ --m +-m ] [ --n -num-copies +-n +num-copies ] [ --o option[=value] +-o option[=value] ] [ --q -priority +-q +priority ] [ --s +-s ] [ --t -title +-t +title ] [ --H -handling +-H +handling ] [ --P -page-list +-P +page-list ] [ --- +-- ] [ -file(s) +file(s) ]
-lp +lp [ --h hostname[:port] +-h hostname[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ --c +-c ] [ --i -job-id +-i +job-id ] [ --n -num-copies +-n +num-copies ] [ --o option[=value] +-o option[=value] ] [ --q -priority +-q +priority ] [ --t -title +-t +title ] [ --H -handling +-H +handling ] [ --P -page-list +-P +page-list ] -

Description

-lp submits files for printing or alters a pending job. -Use a filename of "-" to force printing from the standard input. -

The Default Destination

-CUPS provides many ways to set the default destination. The LPDEST and PRINTER environment variables are consulted first. +

+

Description

+

lp submits files for printing or alters a pending job. +Use a filename of "-" to force printing from the standard input. +

+

The Default Destination

+

CUPS provides many ways to set the default destination. The LPDEST and PRINTER environment variables are consulted first. If neither are set, the current default set using the -lpoptions(1) +lpoptions(1) + command is used, followed by the default set using the -lpadmin(8) +lpadmin(8) + command. -

Options

-The following options are recognized by lp: -
-
-- -
Marks the end of options; use this to print a file whose name begins with a dash (-). -
-E -
Forces encryption when connecting to the server. -
-U username -
Specifies the username to use when connecting to the server. -
-c -
This option is provided for backwards-compatibility only. On systems that support it, this option forces the print file to be copied to the spool directory before printing. +

+

Options

+

The following options are recognized by lp: +

+

--
+Marks the end of options; use this to print a file whose name begins with a dash (-). +

+

-E
+Forces encryption when connecting to the server. +

+

-U username
+Specifies the username to use when connecting to the server. +

+

-c
+This option is provided for backwards-compatibility only. On systems that support it, this option forces the print file to be copied to the spool directory before printing. In CUPS, print files are always sent to the scheduler via IPP which has the same effect. -

-d destination -
Prints files to the named printer. -
-h hostname[:port] -
Chooses an alternate server. +

+

-d destination
+Prints files to the named printer. +

+

-h hostname[:port]
+Chooses an alternate server. Note: This option must occur before all others. -

-i job-id -
Specifies an existing job to modify. -
-m -
Sends an email when the job is completed. -
-n copies -
Sets the number of copies to print. -
-o "name=value [ ... name=value ]" -
Sets one or more job options. -See "COMMON JOB OPTIONS" below. -
-q priority -
Sets the job priority from 1 (lowest) to 100 (highest). +

+

-i job-id
+Specifies an existing job to modify. +

+

-m
+Sends an email when the job is completed. +

+

-n copies
+Sets the number of copies to print. +

+

-o "name=value [ ... name=value ]"
+Sets one or more job options. +See "COMMON JOB OPTIONS" below. +

+

-q priority
+Sets the job priority from 1 (lowest) to 100 (highest). The default priority is 50. -

-s -
Do not report the resulting job IDs (silent mode.) -
-t "name" -
Sets the job name. -
-H hh:mm -
-H hold -
-H immediate -
-H restart -
-H resume -
Specifies when the job should be printed. -A value of immediate will print the file immediately, a value of hold will hold the job indefinitely, and a UTC time value (HH:MM) will hold the job until the specified UTC (not local) time. -Use a value of resume with the -i option to resume a held job. -Use a value of restart with the -i option to restart a completed job. -
-P page-list -
Specifies which pages to print in the document. -The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16". -The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages. -
-

Common Job Options

-Aside from the printer-specific options reported by the -lpoptions(1) +

+

-s
+Do not report the resulting job IDs (silent mode.) +

+

-t "name"
+Sets the job name. +

+

-H hh:mm
+

+

-H hold
+

+

-H immediate
+

+

-H restart
+

+

-H resume
+Specifies when the job should be printed. +A value of immediate will print the file immediately, a value of hold will hold the job indefinitely, and a UTC time value (HH:MM) will hold the job until the specified UTC (not local) time. +Use a value of resume with the -i option to resume a held job. +Use a value of restart with the -i option to restart a completed job. +

+

-P page-list
+Specifies which pages to print in the document. +The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16". +The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages. +

+

Common Job Options

+

Aside from the printer-specific options reported by the +lpoptions(1) + command, the following generic options are available: -

-
-o job-sheets=name -
Prints a cover page (banner) with the document. -The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified". -
-o media=size -
Sets the page size to size. Most printers support at least the size names "a4", "letter", and "legal". -
-o number-up={2|4|6|9|16} -
Prints 2, 4, 6, 9, or 16 document (input) pages on each output page. -
-o orientation-requested=4 -
Prints the job in landscape (rotated 90 degrees counter-clockwise). -
-o orientation-requested=5 -
Prints the job in landscape (rotated 90 degrees clockwise). -
-o orientation-requested=6 -
Prints the job in reverse portrait (rotated 180 degrees). -
-o print-quality=3 -
-o print-quality=4 -
-o print-quality=5 -
Specifies the output quality - draft (3), normal (4), or best (5). -
-o sides=one-sided -
Prints on one side of the paper. -
-o sides=two-sided-long-edge -
Prints on both sides of the paper for portrait output. -
-o sides=two-sided-short-edge -
Prints on both sides of the paper for landscape output. -
-

Conforming To

-Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". -Also, printer and class names are not case-sensitive. -

The -q option accepts a different range of values than the Solaris lp command, matching the IPP job priority values (1-100, 100 is highest priority) instead of the Solaris values (0-39, 0 is highest priority). -

Examples

-Print two copies of a document to the default printer: -
+

+

-o job-sheets=name
+Prints a cover page (banner) with the document. +The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified". +

+

-o media=size
+Sets the page size to size. Most printers support at least the size names "a4", "letter", and "legal". +

+

-o number-up={2|4|6|9|16}
+Prints 2, 4, 6, 9, or 16 document (input) pages on each output page. +

+

-o orientation-requested=4
+Prints the job in landscape (rotated 90 degrees counter-clockwise). +

+

-o orientation-requested=5
+Prints the job in landscape (rotated 90 degrees clockwise). +

+

-o orientation-requested=6
+Prints the job in reverse portrait (rotated 180 degrees). +

+

-o print-quality=3
+

+

-o print-quality=4
+

+

-o print-quality=5
+Specifies the output quality - draft (3), normal (4), or best (5). +

+

-o sides=one-sided
+Prints on one side of the paper. +

+

-o sides=two-sided-long-edge
+Prints on both sides of the paper for portrait output. +

+

-o sides=two-sided-short-edge
+Prints on both sides of the paper for landscape output. +

+

Conforming To

+

Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". +Also, printer and class names are not case-sensitive. +

+

The -q option accepts a different range of values than the Solaris lp command, matching the IPP job priority values (1-100, 100 is highest priority) instead of the Solaris values (0-39, 0 is highest priority). +

+

Examples

+

Print two copies of a document to the default printer: +

+
     lp -n 2 filename
 
 
-Print a double-sided legal document to a printer called "foo": -
+

Print a double-sided legal document to a printer called "foo": +

+
     lp -d foo -o media=legal -o sides=two-sided-long-edge filename
 
 
-Print a presentation document 2-up to a printer called "bar": -
+

Print a presentation document 2-up to a printer called "bar": +

+
     lp -d bar -o number-up=2 filename
 
-

See Also

-cancel(1), -lpadmin(8), -lpoptions(1), -lpq(1), -lpr(1), -lprm(1), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

cancel(1), + +lpadmin(8), + +lpoptions(1), - +lpq(1), + +lpr(1), + +lprm(1), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpadmin.html b/doc/help/man-lpadmin.html index 8ef2ecc8d7..0e50c8decf 100644 --- a/doc/help/man-lpadmin.html +++ b/doc/help/man-lpadmin.html @@ -1,197 +1,252 @@ - + - - - - lpadmin(8) - - -

lpadmin(8)

-

Name

-lpadmin - configure cups printers and classes -

Synopsis

-lpadmin + + + lpadmin(8) + + +

lpadmin(8)

+

Name

+

lpadmin - configure cups printers and classes +

+

Synopsis

+

lpadmin [ --E +-E ] [ --U -username +-U +username ] [ --h server[:port] +-h server[:port] ] --d -destination +-d +destination
-lpadmin +lpadmin [ --E +-E ] [ --U -username +-U +username ] [ --h server[:port] +-h server[:port] ] --p -destination +-p +destination [ --R -name-default +-R +name-default ] -option(s) +option(s)
-lpadmin +lpadmin [ --E +-E ] [ --U -username +-U +username ] [ --h server[:port] +-h server[:port] ] --x -destination -

Description

-lpadmin configures printer and class queues provided by CUPS. +-x +destination +

+

Description

+

lpadmin configures printer and class queues provided by CUPS. It can also be used to set the server default printer or class. -

When specified before the -d, -p, or -x options, the -E option forces encryption when connecting to the server. -

The first form of the command (-d) sets the default printer or class to destination. +

+

When specified before the -d, -p, or -x options, the -E option forces encryption when connecting to the server. +

+

The first form of the command (-d) sets the default printer or class to destination. Subsequent print jobs submitted via the -lp(1) +lp(1) + or -lpr(1) +lpr(1) + commands will use this destination unless the user specifies otherwise with the -lpoptions(1) +lpoptions(1) + command. -

The second form of the command (-p) configures the named printer or class. The additional options are described below. -

The third form of the command (-x) deletes the printer or class destination. +

+

The second form of the command (-p) configures the named printer or class. The additional options are described below. +

+

The third form of the command (-x) deletes the printer or class destination. Any jobs that are pending for the destination will be removed and any job that is currently printed will be aborted. -

Options

-The following options are recognized when configuring a printer queue: -
-
-c class -
Adds the named printer to class. -If class does not exist it is created automatically. -
-m model -
Sets a standard PPD file for the printer from the model directory or using one of the driver interfaces. -Use the -m option with the -lpinfo(8) +

+

Options

+

The following options are recognized when configuring a printer queue: +

+

-c class
+Adds the named printer to class. +If class does not exist it is created automatically. +

+

-m model
+Sets a standard PPD file for the printer from the model directory or using one of the driver interfaces. +Use the -m option with the +lpinfo(8) + command to get a list of supported models. -The model "raw" clears any existing PPD file and the model "everywhere" queries the printer referred to by the specified IPP device-uri. -Note: Models other than "everywhere" are deprecated and will not be supported in a future version of CUPS. -

-o cupsIPPSupplies=true -
-o cupsIPPSupplies=false -
Specifies whether IPP supply level values should be reported. -
-o cupsSNMPSupplies=true -
-o cupsSNMPSupplies=false -
Specifies whether SNMP supply level (RFC 3805) values should be reported. -
-o job-k-limit=value -
Sets the kilobyte limit for per-user quotas. +The model "raw" clears any existing PPD file and the model "everywhere" queries the printer referred to by the specified IPP device-uri. +Note: Models other than "everywhere" are deprecated and will not be supported in a future version of CUPS. +

+

-o cupsIPPSupplies=true
+

+

-o cupsIPPSupplies=false
+Specifies whether IPP supply level values should be reported. +

+

-o cupsSNMPSupplies=true
+

+

-o cupsSNMPSupplies=false
+Specifies whether SNMP supply level (RFC 3805) values should be reported. +

+

-o job-k-limit=value
+Sets the kilobyte limit for per-user quotas. The value is an integer number of kilobytes; one kilobyte is 1024 bytes. -

-o job-page-limit=value -
Sets the page limit for per-user quotas. +

+

-o job-page-limit=value
+Sets the page limit for per-user quotas. The value is the integer number of pages that can be printed; double-sided pages are counted as two pages. -

-o job-quota-period=value -
Sets the accounting period for per-user quotas. +

+

-o job-quota-period=value
+Sets the accounting period for per-user quotas. The value is an integer number of seconds; 86,400 seconds are in one day. -

-o job-sheets-default=banner -
-o job-sheets-default=banner,banner -
Sets the default banner page(s) to use for print jobs. -
-o name=value -
Sets a PPD option for the printer. -PPD options can be listed using the -l option with the -lpoptions(1) +

+

-o job-sheets-default=banner
+

+

-o job-sheets-default=banner,banner
+Sets the default banner page(s) to use for print jobs. +

+

-o name=value
+Sets a PPD option for the printer. +PPD options can be listed using the -l option with the +lpoptions(1) + command. -

-o name-default=value -
Sets a default server-side option for the destination. -Any print-time option can be defaulted, e.g., "-o number-up-default=2" to set the default "number-up" option value to 2. -
-o port-monitor=name -
Sets the binary communications program to use when printing, "none", "bcp", or "tbcp". -The default program is "none". +

+

-o name-default=value
+Sets a default server-side option for the destination. +Any print-time option can be defaulted, e.g., "-o number-up-default=2" to set the default "number-up" option value to 2. +

+

-o port-monitor=name
+Sets the binary communications program to use when printing, "none", "bcp", or "tbcp". +The default program is "none". The specified port monitor must be listed in the printer's PPD file. -

-o printer-error-policy=name -
Sets the policy for errors such as printers that cannot be found or accessed, don't support the format being printed, fail during submission of the print data, or cause one or more filters to crash. -The name must be one of "abort-job" (abort the job on error), "retry-job" (retry the job at a future time), "retry-current-job" (retry the current job immediately), or "stop-printer" (stop the printer on error). -The default error policy is "stop-printer" for printers and "retry-current-job" for +

+

-o printer-error-policy=name
+Sets the policy for errors such as printers that cannot be found or accessed, don't support the format being printed, fail during submission of the print data, or cause one or more filters to crash. +The name must be one of "abort-job" (abort the job on error), "retry-job" (retry the job at a future time), "retry-current-job" (retry the current job immediately), or "stop-printer" (stop the printer on error). +The default error policy is "stop-printer" for printers and "retry-current-job" for classes. -

-o printer-is-shared=true -
-o printer-is-shared=false -
Sets the destination to shared/published or unshared/unpublished. -Shared/published destinations are publicly announced by the server on the LAN based on the browsing configuration in cupsd.conf, while unshared/unpublished destinations are not announced. -The default value is "true". -
-o printer-op-policy=name -
Sets the IPP operation policy associated with the destination. -The name must be defined in the cupsd.conf in a Policy section. -The default operation policy is "default". -
-R name-default -
Deletes the named option from printer. -
-r class -
Removes the named printer from class. +

+

-o printer-is-shared=true
+

+

-o printer-is-shared=false
+Sets the destination to shared/published or unshared/unpublished. +Shared/published destinations are publicly announced by the server on the LAN based on the browsing configuration in cupsd.conf, while unshared/unpublished destinations are not announced. +The default value is "true". +

+

-o printer-op-policy=name
+Sets the IPP operation policy associated with the destination. +The name must be defined in the cupsd.conf in a Policy section. +The default operation policy is "default". +

+

-R name-default
+Deletes the named option from printer. +

+

-r class
+Removes the named printer from class. If the resulting class becomes empty it is removed. -

-u allow:{user|@group}{,user|,@group}* -
-u deny:{user|@group}{,user|,@group}* -
-u allow:all -
-u deny:none -
Sets user-level access control on a destination. -Names starting with "@" are interpreted as UNIX groups. +

+

-u allow:{user|@group}{,user|,@group}*
+

+

-u deny:{user|@group}{,user|,@group}*
+

+

-u allow:all
+

+

-u deny:none
+Sets user-level access control on a destination. +Names starting with "@" are interpreted as UNIX groups. The latter two forms turn user-level access control off. -Note: The user 'root' is not granted special access - using "-u allow:foo,bar" will allow users 'foo' and 'bar' to access the printer but NOT 'root'. -

-v "device-uri" -
Sets the device-uri attribute of the printer queue. -Use the -v option with the -lpinfo(8) +Note: The user 'root' is not granted special access - using "-u allow:foo,bar" will allow users 'foo' and 'bar' to access the printer but NOT 'root'. +

+

-v "device-uri"
+Sets the device-uri attribute of the printer queue. +Use the -v option with the +lpinfo(8) + command to get a list of supported device URIs and schemes. -

-D "info" -
Provides a textual description of the destination. -
-E -
When specified before the -d, -p, or -x options, forces the use of TLS encryption on the connection to the scheduler. +

+

-D "info"
+Provides a textual description of the destination. +

+

-E
+When specified before the -d, -p, or -x options, forces the use of TLS encryption on the connection to the scheduler. Otherwise, enables the destination and accepts jobs; this is the same as running the -cupsaccept(8) +cupsaccept(8) + and -cupsenable(8) +cupsenable(8) + programs on the destination. -

-L "location" -
Provides a textual location of the destination. -
-

Deprecated Options

-The following lpadmin options are deprecated: -
-
-i filename -
This option historically has been used to provide either a System V interface script or (as an implementation side-effect) a PPD file. +

+

-L "location"
+Provides a textual location of the destination. +

+

Deprecated Options

+

The following lpadmin options are deprecated: +

+

-i filename
+This option historically has been used to provide either a System V interface script or (as an implementation side-effect) a PPD file. Note: Interface scripts are not supported by CUPS. PPD files and printer drivers are deprecated and will not be supported in a future version of CUPS. -

-P ppd-file -
Specifies a PostScript Printer Description (PPD) file to use with the printer. +

+

-P ppd-file
+Specifies a PostScript Printer Description (PPD) file to use with the printer. Note: PPD files and printer drivers are deprecated and will not be supported in a future version of CUPS. -

-

Conforming To

-Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". -Also, printer and class names are not case-sensitive. -

Finally, the CUPS version of lpadmin may ask the user for an access password depending on the printing system configuration. +

+

Conforming To

+

Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". +Also, printer and class names are not case-sensitive. +

+

Finally, the CUPS version of lpadmin may ask the user for an access password depending on the printing system configuration. This differs from the System V version which requires the root user to execute this command. -

Notes

-CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Notes

+

CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

The CUPS version of lpadmin does not support all of the System V or Solaris printing system configuration options. -

Interface scripts are not supported for security reasons. -

The double meaning of the -E option is an unfortunate historical oddity. -

The lpadmin command communicates with the scheduler (cupsd) to make changes to the printing system configuration. -This configuration information is stored in several files including printers.conf and classes.conf. +ippeveprinter(1). + +

+

The CUPS version of lpadmin does not support all of the System V or Solaris printing system configuration options. +

+

Interface scripts are not supported for security reasons. +

+

The double meaning of the -E option is an unfortunate historical oddity. +

+

The lpadmin command communicates with the scheduler (cupsd) to make changes to the printing system configuration. +This configuration information is stored in several files including printers.conf and classes.conf. These files should not be edited directly and are an implementation detail of CUPS that is subject to change at any time. -

Example

-Create an IPP Everywhere print queue: -
+

+

Example

+

Create an IPP Everywhere print queue: +

+
     lpadmin -p myprinter -E -v ipp://myprinter.local/ipp/print -m everywhere
 
 
-

See Also

-cupsaccept(8), -cupsenable(8), -lpinfo(8), -lpoptions(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

cupsaccept(8), + +cupsenable(8), - +lpinfo(8), + +lpoptions(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpc.html b/doc/help/man-lpc.html index 8a4764439c..40cacb8b71 100644 --- a/doc/help/man-lpc.html +++ b/doc/help/man-lpc.html @@ -1,55 +1,73 @@ - + - - - - lpc(8) - - -

lpc(8)

-

Name

-lpc - line printer control program (deprecated) -

Synopsis

-lpc + + + lpc(8) + + +

lpc(8)

+

Name

+

lpc - line printer control program (deprecated) +

+

Synopsis

+

lpc [ -command +command [ -parameter(s) +parameter(s) ] ] -

Description

-lpc provides limited control over printer and class queues provided by CUPS. It can also be used to query the state of queues. -

If no command is specified on the command-line, lpc displays a prompt and accepts commands from the standard input. -

Commands

-The lpc program accepts a subset of commands accepted by the Berkeley lpc program of the same name: -
-
exit -
Exits the command interpreter. -
help [command] -
? [command] -
Displays a short help message. -
quit -
Exits the command interpreter. -
status [queue] -
Displays the status of one or more printer or class queues. -
-

Notes

-This program is deprecated and will be removed in a future feature release of CUPS. -

Since lpc is geared towards the Berkeley printing system, it is impossible to use lpc to configure printer or class queues provided by CUPS. +

+

Description

+

lpc provides limited control over printer and class queues provided by CUPS. It can also be used to query the state of queues. +

+

If no command is specified on the command-line, lpc displays a prompt and accepts commands from the standard input. +

+

Commands

+

The lpc program accepts a subset of commands accepted by the Berkeley lpc program of the same name: +

+

exit
+Exits the command interpreter. +

+

help [command]
+

+

? [command]
+Displays a short help message. +

+

quit
+Exits the command interpreter. +

+

status [queue]
+Displays the status of one or more printer or class queues. +

+

Notes

+

This program is deprecated and will be removed in a future feature release of CUPS. +

+

Since lpc is geared towards the Berkeley printing system, it is impossible to use lpc to configure printer or class queues provided by CUPS. To configure printer or class queues you must use the -lpadmin(8) +lpadmin(8) + command or another CUPS-compatible client with that functionality. -

See Also

-cancel(1), -cupsaccept(8), -cupsenable(8), -lp(1), -lpadmin(8), -lpr(1), -lprm(1), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

See Also

+

cancel(1), + +cupsaccept(8), + +cupsenable(8), + +lp(1), - +lpadmin(8), + +lpr(1), + +lprm(1), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpinfo.html b/doc/help/man-lpinfo.html index 4d973bce9d..0c08b0bc36 100644 --- a/doc/help/man-lpinfo.html +++ b/doc/help/man-lpinfo.html @@ -1,117 +1,135 @@ - + - - - - lpinfo(8) - - -

lpinfo(8)

-

Name

-lpinfo - show available devices or drivers (deprecated) -

Synopsis

-lpinfo + + + lpinfo(8) + + +

lpinfo(8)

+

Name

+

lpinfo - show available devices or drivers (deprecated) +

+

Synopsis

+

lpinfo [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --l +-l ] [ ---device-id -device-id-string +--device-id +device-id-string ] [ ---exclude-schemes -scheme-list +--exclude-schemes +scheme-list ] [ ---include-schemes -scheme-list +--include-schemes +scheme-list ] [ ---language -locale +--language +locale ] [ ---make-and-model -name +--make-and-model +name ] [ ---product -name +--product +name ] --m +-m
-lpinfo +lpinfo [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --l +-l ] [ ---exclude-schemes -scheme-list +--exclude-schemes +scheme-list ] [ ---include-schemes -scheme-list +--include-schemes +scheme-list ] [ ---timeout -seconds +--timeout +seconds ] --v -

Description

-lpinfo lists the available devices or drivers known to the CUPS server. -The first form (-m) lists the available drivers, while the second form (-v) lists the available devices. -

Options

-lpinfo accepts the following options: -
-
-E -
Forces encryption when connecting to the server. -
-h server[:port] -
Selects an alternate server. +-v +

+

Description

+

lpinfo lists the available devices or drivers known to the CUPS server. +The first form (-m) lists the available drivers, while the second form (-v) lists the available devices. +

+

Options

+

lpinfo accepts the following options: +

+

-E
+Forces encryption when connecting to the server. +

+

-h server[:port]
+Selects an alternate server. Note: This option must occur before all others. -

-l -
Shows a "long" listing of devices or drivers. -
--device-id device-id-string -
Specifies the IEEE-1284 device ID to match when listing drivers with the -m option. -
--exclude-schemes scheme-list -
Specifies a comma-delimited list of device or PPD schemes that should be excluded from the results. -Static PPD files use the "file" scheme. -
--include-schemes scheme-list -
Specifies a comma-delimited list of device or PPD schemes that should be included in the results. -Static PPD files use the "file" scheme. -
--language locale -
Specifies the language to match when listing drivers with the -m option. -
--make-and-model name -
Specifies the make and model to match when listing drivers with the -m option. -
--product name -
Specifies the product to match when listing drivers with the -m option. -
--timeout seconds -
Specifies the timeout when listing devices with the -v option. -
-

Conforming To

-The lpinfo command is unique to CUPS. -

Examples

-List all devices: -
+

+

-l
+Shows a "long" listing of devices or drivers. +

+

--device-id device-id-string
+Specifies the IEEE-1284 device ID to match when listing drivers with the -m option. +

+

--exclude-schemes scheme-list
+Specifies a comma-delimited list of device or PPD schemes that should be excluded from the results. +Static PPD files use the "file" scheme. +

+

--include-schemes scheme-list
+Specifies a comma-delimited list of device or PPD schemes that should be included in the results. +Static PPD files use the "file" scheme. +

+

--language locale
+Specifies the language to match when listing drivers with the -m option. +

+

--make-and-model name
+Specifies the make and model to match when listing drivers with the -m option. +

+

--product name
+Specifies the product to match when listing drivers with the -m option. +

+

--timeout seconds
+Specifies the timeout when listing devices with the -v option. +

+

Conforming To

+

The lpinfo command is unique to CUPS. +

+

Examples

+

List all devices: +

+
     lpinfo -v
 
 
-List all drivers: -
+

List all drivers: +

+
     lpinfo -m
 
 
-List drivers matching "HP LaserJet": -
-    lpinfo --make-and-model "HP LaserJet" -m
+

List drivers matching "HP LaserJet": +

+
+    lpinfo --make-and-model "HP LaserJet" -m
 
-

Notes

-CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. +

Notes

+

CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-lpadmin(8), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

lpadmin(8), - +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpmove.html b/doc/help/man-lpmove.html index 9ccbe52b9d..49648e3dcc 100644 --- a/doc/help/man-lpmove.html +++ b/doc/help/man-lpmove.html @@ -1,74 +1,84 @@ - + - - - - lpmove(8) - - -

lpmove(8)

-

Name

-lpmove - move a job or all jobs to a new destination -

Synopsis

-lpmove + + + lpmove(8) + + +

lpmove(8)

+

Name

+

lpmove - move a job or all jobs to a new destination +

+

Synopsis

+

lpmove [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --U -username +-U +username ] -job -destination +job +destination
-lpmove +lpmove [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --U -username +-U +username ] -source -destination -

Description

-lpmove moves the specified job or all jobs from source to destination. job can be the job ID number or the old destination and job ID. -

Options

-The lpmove command supports the following options: -
-
-E -
Forces encryption when connecting to the server. -
-U username -
Specifies an alternate username. -
-h server[:port] -
Specifies an alternate server. +source +destination +

+

Description

+

lpmove moves the specified job or all jobs from source to destination. job can be the job ID number or the old destination and job ID. +

+

Options

+

The lpmove command supports the following options: +

+

-E
+Forces encryption when connecting to the server. +

+

-U username
+Specifies an alternate username. +

+

-h server[:port]
+Specifies an alternate server. Note: This option must occur before all others. -

-

Examples

-Move job 123 from "oldprinter" to "newprinter": -
+

+

Examples

+

Move job 123 from "oldprinter" to "newprinter": +

+
     lpmove 123 newprinter
 
-            or
+            or
 
     lpmove oldprinter-123 newprinter
 
 
-Move all jobs from "oldprinter" to "newprinter": -
+

Move all jobs from "oldprinter" to "newprinter": +

+
     lpmove oldprinter newprinter
 
-

See Also

-cancel(1), -lp(1), -lpr(1), -lprm(1), +

See Also

+

cancel(1), + +lp(1), + +lpr(1), + +lprm(1), +
CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. - - +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpoptions.html b/doc/help/man-lpoptions.html index a29937da24..474da81e04 100644 --- a/doc/help/man-lpoptions.html +++ b/doc/help/man-lpoptions.html @@ -1,112 +1,136 @@ - + - - - - lpoptions(1) - - -

lpoptions(1)

-

Name

-lpoptions - display or set printer options and defaults -

Synopsis

-lpoptions + + + lpoptions(1) + + +

lpoptions(1)

+

Name

+

lpoptions - display or set printer options and defaults +

+

Synopsis

+

lpoptions [ --h server[:port] +-h server[:port] ] [ --E +-E ] --d destination[/instance] +-d destination[/instance] [ --l +-l ]
-lpoptions +lpoptions [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --p destination[/instance] +-p destination[/instance] ] --o option[=value] ... +-o option[=value] ...
-lpoptions +lpoptions [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --p destination[/instance] +-p destination[/instance] ] --r -option +-r +option
-lpoptions +lpoptions [ --h server[:port] +-h server[:port] ] [ --E +-E ] --x destination[/instance] -

Description

-lpoptions displays or sets printer options and defaults. -If no printer is specified using the -p option, the default printer is used as described in -lp(1). -

If no -l, -o, or -r options are specified, the current options are reported on the standard output. -

Options set with the lpoptions command are used by the -lp(1) +-x destination[/instance] +

+

Description

+

lpoptions displays or sets printer options and defaults. +If no printer is specified using the -p option, the default printer is used as described in +lp(1). + +

+

If no -l, -o, or -r options are specified, the current options are reported on the standard output. +

+

Options set with the lpoptions command are used by the +lp(1) + and -lpr(1) +lpr(1) + commands when submitting jobs. -

When run by the root user, lpoptions gets and sets default options and instances for all users in the /etc/cups/lpoptions file. -Otherwise, the per-user defaults are managed in the ~/.cups/lpoptions file. -

Options

-lpoptions supports the following options: -
-
-E -
Enables encryption when communicating with the CUPS server. -
-d destination[/instance] -
Sets the user default printer to destination. -If instance is supplied then that particular instance is used. +

+

When run by the root user, lpoptions gets and sets default options and instances for all users in the /etc/cups/lpoptions file. +Otherwise, the per-user defaults are managed in the ~/.cups/lpoptions file. +

+

Options

+

lpoptions supports the following options: +

+

-E
+Enables encryption when communicating with the CUPS server. +

+

-d destination[/instance]
+Sets the user default printer to destination. +If instance is supplied then that particular instance is used. This option overrides the system default printer for the current user. -

-h server[:port] -
Uses an alternate server. +

+

-h server[:port]
+Uses an alternate server. Note: This option must occur before all others. -

-l -
Lists the printer specific options and their current settings. -
-o option[=value] -
Specifies a new option for the named destination. -
-p destination[/instance] -
Sets the destination and instance, if specified, for any options that follow. +

+

-l
+Lists the printer specific options and their current settings. +

+

-o option[=value]
+Specifies a new option for the named destination. +

+

-p destination[/instance]
+Sets the destination and instance, if specified, for any options that follow. If the named instance does not exist then it is created. Destinations can only be created using the -lpadmin(8) +lpadmin(8) + program. -

-r option -
Removes the specified option from the named destination. -
-x destination[/instance] -
Removes the options for the named destination and instance, if specified. +

+

-r option
+Removes the specified option from the named destination. +

+

-x destination[/instance]
+Removes the options for the named destination and instance, if specified. If the named instance does not exist then this does nothing. Destinations can only be removed using the -lpadmin(8) +lpadmin(8) + command. -

-

Files

-~/.cups/lpoptions - user defaults and instances created by non-root users. +

+

Files

+

~/.cups/lpoptions - user defaults and instances created by non-root users.
-/etc/cups/lpoptions - system-wide defaults and instances created by the root user. -

Conforming To

-The lpoptions command is unique to CUPS. -

See Also

-cancel(1), -lp(1), -lpadmin(8), -lpr(1), -lprm(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +/etc/cups/lpoptions - system-wide defaults and instances created by the root user. +

+

Conforming To

+

The lpoptions command is unique to CUPS. +

+

See Also

+

cancel(1), - +lp(1), + +lpadmin(8), + +lpr(1), + +lprm(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpq.html b/doc/help/man-lpq.html index a791d075a5..80c2478049 100644 --- a/doc/help/man-lpq.html +++ b/doc/help/man-lpq.html @@ -1,62 +1,76 @@ - + - - - - lpq(1) - - -

lpq(1)

-

Name

-lpq - show printer queue status -

Synopsis

-lpq + + + lpq(1) + + +

lpq(1)

+

Name

+

lpq - show printer queue status +

+

Synopsis

+

lpq [ --h server[:port] +-h server[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ --P destination[/instance] +-P destination[/instance] ] [ --a +-a ] [ --l +-l ] [ -+interval ++interval + ] -

Description

-lpq shows the current print queue status on the named printer. +

+

Description

+

lpq shows the current print queue status on the named printer. Jobs queued on the default destination will be shown if no printer or class is specified on the command-line. -

The +interval option allows you to continuously report the jobs in the queue until the queue is empty; the list of jobs is shown once every interval seconds. -

Options

-lpq supports the following options: -
-
-E -
Forces encryption when connecting to the server. -
-P destination[/instance] -
Specifies an alternate printer or class name. -
-U username -
Specifies an alternate username. -
-a -
Reports jobs on all printers. -
-h server[:port] -
Specifies an alternate server. +

+

The +interval option allows you to continuously report the jobs in the queue until the queue is empty; the list of jobs is shown once every interval seconds. +

+

Options

+

lpq supports the following options: +

+

-E
+Forces encryption when connecting to the server. +

+

-P destination[/instance]
+Specifies an alternate printer or class name. +

+

-U username
+Specifies an alternate username. +

+

-a
+Reports jobs on all printers. +

+

-h server[:port]
+Specifies an alternate server. Note: This option must occur before all others. -

-l -
Requests a more verbose (long) reporting format. -
-

See Also

-cancel(1), -lp(1), -lpr(1), -lprm(1), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

-l
+Requests a more verbose (long) reporting format. +

+

See Also

+

cancel(1), + +lp(1), + +lpr(1), - +lprm(1), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpr.html b/doc/help/man-lpr.html index ee2679ac81..2d4c303b59 100644 --- a/doc/help/man-lpr.html +++ b/doc/help/man-lpr.html @@ -1,158 +1,200 @@ - + - - - - lpr(1) - - -

lpr(1)

-

Name

-lpr - print files -

Synopsis

-lpr + + + lpr(1) + + +

lpr(1)

+

Name

+

lpr - print files +

+

Synopsis

+

lpr [ --H server[:port] +-H server[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ --P destination[/instance] +-P destination[/instance] ] [ --# -num-copies +-# +num-copies [ --h +-h ] [ --l +-l ] [ --m +-m ] [ --o option[=value] +-o option[=value] ] [ --p +-p ] [ --q +-q ] [ --r +-r ] [ --C -title +-C +title ] [ --J -title +-J +title ] [ --T -title +-T +title ] [ -file(s) +file(s) ] -

Description

-lpr submits files for printing. +

+

Description

+

lpr submits files for printing. Files named on the command line are sent to the named printer or the default destination if no destination is specified. -If no files are listed on the command-line, lpr reads the print file from the standard input. -

The Default Destination

-CUPS provides many ways to set the default destination. The LPDEST and PRINTER environment variables are consulted first. +If no files are listed on the command-line, lpr reads the print file from the standard input. +

+

The Default Destination

+

CUPS provides many ways to set the default destination. The LPDEST and PRINTER environment variables are consulted first. If neither are set, the current default set using the -lpoptions(1) +lpoptions(1) + command is used, followed by the default set using the -lpadmin(8) +lpadmin(8) + command. -

Options

-The following options are recognized by lpr: -
-
-E -
Forces encryption when connecting to the server. -
-H server[:port] -
Specifies an alternate server. +

+

Options

+

The following options are recognized by lpr: +

+

-E
+Forces encryption when connecting to the server. +

+

-H server[:port]
+Specifies an alternate server. Note: This option must occur before all others. -

-C "name" -
-J "name" -
-T "name" -
Sets the job name/title. -
-P destination[/instance] -
Prints files to the named printer. -
-U username -
Specifies an alternate username. -
-# copies -
Sets the number of copies to print. -
-h -
Disables banner printing. This option is equivalent to -o job-sheets=none. -
-l -
Specifies that the print file is already formatted for the destination and should be sent without filtering. -This option is equivalent to -o raw. -
-m -
Send an email on job completion. -
-o option[=value] -
Sets a job option. -See "COMMON JOB OPTIONS" below. -
-p -
Specifies that the print file should be formatted with a shaded header with the date, time, job name, and page number. -This option is equivalent to -o prettyprint and is only useful when printing text files. -
-q -
Hold job for printing. -
-r -
Specifies that the named print files should be deleted after submitting them. -
-

Common Job Options

-Aside from the printer-specific options reported by the -lpoptions(1) +

+

-C "name"
+

+

-J "name"
+

+

-T "name"
+Sets the job name/title. +

+

-P destination[/instance]
+Prints files to the named printer. +

+

-U username
+Specifies an alternate username. +

+

-# copies
+Sets the number of copies to print. +

+

-h
+Disables banner printing. This option is equivalent to -o job-sheets=none. +

+

-l
+Specifies that the print file is already formatted for the destination and should be sent without filtering. +This option is equivalent to -o raw. +

+

-m
+Send an email on job completion. +

+

-o option[=value]
+Sets a job option. +See "COMMON JOB OPTIONS" below. +

+

-p
+Specifies that the print file should be formatted with a shaded header with the date, time, job name, and page number. +This option is equivalent to -o prettyprint and is only useful when printing text files. +

+

-q
+Hold job for printing. +

+

-r
+Specifies that the named print files should be deleted after submitting them. +

+

Common Job Options

+

Aside from the printer-specific options reported by the +lpoptions(1) + command, the following generic options are available: -

-
-o job-sheets=name -
Prints a cover page (banner) with the document. -The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified". -
-o media=size -
Sets the page size to size. Most printers support at least the size names "a4", "letter", and "legal". -
-o number-up={2|4|6|9|16} -
Prints 2, 4, 6, 9, or 16 document (input) pages on each output page. -
-o orientation-requested=4 -
Prints the job in landscape (rotated 90 degrees counter-clockwise). -
-o orientation-requested=5 -
Prints the job in landscape (rotated 90 degrees clockwise). -
-o orientation-requested=6 -
Prints the job in reverse portrait (rotated 180 degrees). -
-o print-quality=3 -
-o print-quality=4 -
-o print-quality=5 -
Specifies the output quality - draft (3), normal (4), or best (5). -
-o sides=one-sided -
Prints on one side of the paper. -
-o sides=two-sided-long-edge -
Prints on both sides of the paper for portrait output. -
-o sides=two-sided-short-edge -
Prints on both sides of the paper for landscape output. -
-

Notes

-The -c, -d, -f, -g, -i, -n, -t, -v, and -w options are not supported by CUPS and produce a warning message if used. -

Examples

-Print two copies of a document to the default printer: -
+

+

-o job-sheets=name
+Prints a cover page (banner) with the document. +The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified". +

+

-o media=size
+Sets the page size to size. Most printers support at least the size names "a4", "letter", and "legal". +

+

-o number-up={2|4|6|9|16}
+Prints 2, 4, 6, 9, or 16 document (input) pages on each output page. +

+

-o orientation-requested=4
+Prints the job in landscape (rotated 90 degrees counter-clockwise). +

+

-o orientation-requested=5
+Prints the job in landscape (rotated 90 degrees clockwise). +

+

-o orientation-requested=6
+Prints the job in reverse portrait (rotated 180 degrees). +

+

-o print-quality=3
+

+

-o print-quality=4
+

+

-o print-quality=5
+Specifies the output quality - draft (3), normal (4), or best (5). +

+

-o sides=one-sided
+Prints on one side of the paper. +

+

-o sides=two-sided-long-edge
+Prints on both sides of the paper for portrait output. +

+

-o sides=two-sided-short-edge
+Prints on both sides of the paper for landscape output. +

+

Notes

+

The -c, -d, -f, -g, -i, -n, -t, -v, and -w options are not supported by CUPS and produce a warning message if used. +

+

Examples

+

Print two copies of a document to the default printer: +

+
     lpr -# 2 filename
 
 
-Print a double-sided legal document to a printer called "foo": -
+

Print a double-sided legal document to a printer called "foo": +

+
     lpr -P foo -o media=legal -o sides=two-sided-long-edge filename
 
 
-Print a presentation document 2-up to a printer called "foo": -
+

Print a presentation document 2-up to a printer called "foo": +

+
     lpr -P foo -o number-up=2 filename
 
-

See Also

-cancel(1), -lp(1), -lpadmin(8), -lpoptions(1), -lpq(1), -lprm(1), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

cancel(1), + +lp(1), + +lpadmin(8), - +lpoptions(1), + +lpq(1), + +lprm(1), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lprm.html b/doc/help/man-lprm.html index 93547d4469..9e725dada7 100644 --- a/doc/help/man-lprm.html +++ b/doc/help/man-lprm.html @@ -1,79 +1,94 @@ - + - - - - lprm(1) - - -

lprm(1)

-

Name

-lprm - cancel print jobs -

Synopsis

-lprm + + + lprm(1) + + +

lprm(1)

+

Name

+

lprm - cancel print jobs +

+

Synopsis

+

lprm [ --h hostname[:port] +-h hostname[:port] ] [ --E +-E ] [ --U -username +-U +username ] [ --P -destination[/instance] +-P +destination[/instance] + ] [ -- +- ] [ -job-id(s) +job-id(s) ] -

Description

-lprm +

+

Description

+

lprm cancels print jobs that have been queued for printing. If no arguments are supplied, the current job on the default destination is canceled. -You can specify one or more job ID numbers to cancel those jobs or use the - option to cancel all jobs. -

Options

-The -lprm +You can specify one or more job ID numbers to cancel those jobs or use the - option to cancel all jobs. +

+

Options

+

The +lprm command supports the following options: -

-
-E -
Forces encryption when connecting to the server. -
-P destination[/instance] -
Specifies the destination printer or class. -
-U username -
Specifies an alternate username. -
-h server[:port] -
Specifies an alternate server. +

+

-E
+Forces encryption when connecting to the server. +

+

-P destination[/instance]
+Specifies the destination printer or class. +

+

-U username
+Specifies an alternate username. +

+

-h server[:port]
+Specifies an alternate server. Note: This option must occur before all others. -

-

Conforming To

-The CUPS version of -lprm +

+

Conforming To

+

The CUPS version of +lprm is compatible with the standard Berkeley command of the same name. -

Examples

-Cancel the current job on the default printer: -
+

+

Examples

+

Cancel the current job on the default printer: +

+
     lprm
 
 
-Cancel job 1234: -
+

Cancel job 1234: +

+
     lprm 1234
 
 
-Cancel all jobs: -
+

Cancel all jobs: +

+
     lprm -
 
-

See Also

-cancel(1), -lp(1), -lpq(1), -lpr(1), -lpstat(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

cancel(1), + +lp(1), + +lpq(1), - +lpr(1), + +lpstat(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-lpstat.html b/doc/help/man-lpstat.html index ce7f48a49a..b694d5b9c6 100644 --- a/doc/help/man-lpstat.html +++ b/doc/help/man-lpstat.html @@ -1,134 +1,161 @@ - + - - - - lpstat(1) - - -

lpstat(1)

-

Name

-lpstat - print cups status information -

Synopsis

-lpstat + + + lpstat(1) + + +

lpstat(1)

+

Name

+

lpstat - print cups status information +

+

Synopsis

+

lpstat [ --h hostname[:port] +-h hostname[:port] ] [ --E +-E ] [ --H +-H ] [ --U -username +-U +username ] [ --l +-l ] [ --W -which-jobs +-W +which-jobs ] [ --a +-a [ -destination(s) +destination(s) ] ] [ --c +-c [ -class(es) +class(es) ] ] [ --d +-d ] [ --e +-e ] [ --o +-o [ -destination(s) +destination(s) ] ] [ --p +-p [ -printer(s) +printer(s) ] ] [ --r +-r ] [ --R +-R ] [ --s +-s ] [ --t +-t ] [ --u +-u [ -user(s) +user(s) ] ] [ --v +-v [ -printer(s) +printer(s) ] ] -

Description

-lpstat displays status information about the current classes, jobs, and printers. -When run with no arguments, lpstat will list active jobs queued by the current user. -

Options

-The lpstat command supports the following options: -
-
-E -
Forces encryption when connecting to the server. -
-H -
Shows the server hostname and port. -
-R -
Shows the ranking of print jobs. -
-U username -
Specifies an alternate username. -
-W which-jobs -
Specifies which jobs to show, "completed" or "not-completed" (the default). -This option must appear before the -o option and/or any printer names, otherwise the default ("not-completed") value will be used in the request to the scheduler. -
-a [printer(s)] -
Shows the accepting state of printer queues. +

+

Description

+

lpstat displays status information about the current classes, jobs, and printers. +When run with no arguments, lpstat will list active jobs queued by the current user. +

+

Options

+

The lpstat command supports the following options: +

+

-E
+Forces encryption when connecting to the server. +

+

-H
+Shows the server hostname and port. +

+

-R
+Shows the ranking of print jobs. +

+

-U username
+Specifies an alternate username. +

+

-W which-jobs
+Specifies which jobs to show, "completed" or "not-completed" (the default). +This option must appear before the -o option and/or any printer names, otherwise the default ("not-completed") value will be used in the request to the scheduler. +

+

-a [printer(s)]
+Shows the accepting state of printer queues. If no printers are specified then all printers are listed. -

-c [class(es)] -
Shows the printer classes and the printers that belong to them. +

+

-c [class(es)]
+Shows the printer classes and the printers that belong to them. If no classes are specified then all classes are listed. -

-d -
Shows the current default destination. -
-e -
Shows all available destinations on the local network. -
-h server[:port] -
Specifies an alternate server. +

+

-d
+Shows the current default destination. +

+

-e
+Shows all available destinations on the local network. +

+

-h server[:port]
+Specifies an alternate server. Note: This option must occur before all others. -

-l -
Shows a long listing of printers, classes, or jobs. -
-o [destination(s)] -
Shows the jobs queued on the specified destinations. +

+

-l
+Shows a long listing of printers, classes, or jobs. +

+

-o [destination(s)]
+Shows the jobs queued on the specified destinations. If no destinations are specified all jobs are shown. -

-p [printer(s)] -
Shows the printers and whether they are enabled for printing. +

+

-p [printer(s)]
+Shows the printers and whether they are enabled for printing. If no printers are specified then all printers are listed. -

-r -
Shows whether the CUPS server is running. -
-s -
Shows a status summary, including the default destination, a list of classes and their member printers, and a list of printers and their associated devices. -This is equivalent to using the -d, -c, and -v options. -
-t -
Shows all status information. -This is equivalent to using the -r, -d, -c, -v, -a, -p, and -o options. -
-u [user(s)] -
Shows a list of print jobs queued by the specified users. +

+

-r
+Shows whether the CUPS server is running. +

+

-s
+Shows a status summary, including the default destination, a list of classes and their member printers, and a list of printers and their associated devices. +This is equivalent to using the -d, -c, and -v options. +

+

-t
+Shows all status information. +This is equivalent to using the -r, -d, -c, -v, -a, -p, and -o options. +

+

-u [user(s)]
+Shows a list of print jobs queued by the specified users. If no users are specified, lists the jobs queued by the current user. -

-v [printer(s)] -
Shows the printers and what device they are attached to. +

+

-v [printer(s)]
+Shows the printers and what device they are attached to. If no printers are specified then all printers are listed. -

-

Conforming To

-Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", and "#". -Also, printer and class names are not case-sensitive. -

The -h, -e, -E, -U, and -W options are unique to CUPS. -

The Solaris -f, -P, and -S options are silently ignored. -

See Also

-cancel(1), -lp(1), -lpq(1), -lpr(1), -lprm(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

Conforming To

+

Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", and "#". +Also, printer and class names are not case-sensitive. +

+

The -h, -e, -E, -U, and -W options are unique to CUPS. +

+

The Solaris -f, -P, and -S options are silently ignored. +

+

See Also

+

cancel(1), + +lp(1), + +lpq(1), - +lpr(1), + +lprm(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-mailto.conf.html b/doc/help/man-mailto.conf.html index 1cf4275650..6984169ed7 100644 --- a/doc/help/man-mailto.conf.html +++ b/doc/help/man-mailto.conf.html @@ -1,42 +1,48 @@ - + - - - - mailto.conf(5) - - -

mailto.conf(5)

-

Name

-mailto.conf - configuration file for cups email notifier -

Description

-The mailto.conf file defines the local mail server and email notification preferences for CUPS. -

Each line in the file can be a configuration directive, a blank line, or a comment. + + + mailto.conf(5) + + +

mailto.conf(5)

+

Name

+

mailto.conf - configuration file for cups email notifier +

+

Description

+

The mailto.conf file defines the local mail server and email notification preferences for CUPS. +

+

Each line in the file can be a configuration directive, a blank line, or a comment. Configuration directives typically consist of a name and zero or more values separated by whitespace. The configuration directive name and values are case-insensitive. Comment lines start with the # character. -

Directives

-
-
Cc cc-address@domain.com -
Specifies an additional recipient for all email notifications. -
From from-address@domain.com -
Specifies the sender of email notifications. -
Sendmail sendmail command and options -
Specifies the sendmail command to use when sending email notifications. -Only one Sendmail or SMTPServer line may be present in the mailto.conf file. +

+

Directives

+

Cc cc-address@domain.com
+Specifies an additional recipient for all email notifications. +

+

From from-address@domain.com
+Specifies the sender of email notifications. +

+

Sendmail sendmail command and options
+Specifies the sendmail command to use when sending email notifications. +Only one Sendmail or SMTPServer line may be present in the mailto.conf file. If multiple lines are present, only the last one is used. -

SMTPServer servername -
Specifies a SMTP server to send email notifications to. -Only one Sendmail or SMTPServer line may be present in the mailto.conf file. +

+

SMTPServer servername
+Specifies a SMTP server to send email notifications to. +Only one Sendmail or SMTPServer line may be present in the mailto.conf file. If multiple lines are present, only the last one is used. -

Subject subject-prefix -
Specifies a prefix string for the subject line of an email notification. -
-

See Also

-cupsd(8), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

Subject subject-prefix
+Specifies a prefix string for the subject line of an email notification. +

+

See Also

+

cupsd(8), - +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-mime.convs.html b/doc/help/man-mime.convs.html index 7917c10a7b..738aab8651 100644 --- a/doc/help/man-mime.convs.html +++ b/doc/help/man-mime.convs.html @@ -1,57 +1,73 @@ - + - - - - mime.convs(5) - - -

mime.convs(5)

-

Name

-mime.convs - mime type conversion file for cups (deprecated) -

Description

-The mime.convs file defines the filters that are available for converting files from one format to another. + + + mime.convs(5) + + +

mime.convs(5)

+

Name

+

mime.convs - mime type conversion file for cups (deprecated) +

+

Description

+

The mime.convs file defines the filters that are available for converting files from one format to another. The standard filters support text, PDF, PostScript, and many types of image files. -

Additional filters are specified in files with the extension .convs in the CUPS configuration directory. -

Each line in the mime.convs file is a comment, blank, or filter +

+

Additional filters are specified in files with the extension .convs in the CUPS configuration directory. +

+

Each line in the mime.convs file is a comment, blank, or filter line. Comment lines start with the # character. Filter lines specify the source and destination MIME types along with a relative cost associated with the filter and the filter to run: -

+

+
     source/type destination/type cost filter
 
 
-The source/type field specifies the source MIME media type that is consumed by the filter. -

The destination/type field specifies the destination MIME media type that is produced by the filter. -

The cost field specifies the relative cost for running the filter. +

The source/type field specifies the source MIME media type that is consumed by the filter. +

+

The destination/type field specifies the destination MIME media type that is produced by the filter. +

+

The cost field specifies the relative cost for running the filter. A value of 100 means that the filter uses a large amount of resources while a value of 0 means that the filter uses very few resources. -

The filter field specifies the filter program filename. +

+

The filter field specifies the filter program filename. Filenames are relative to the CUPS filter directory. -

Files

-/etc/cups - Typical CUPS configuration directory. +

+

Files

+

/etc/cups - Typical CUPS configuration directory.
-/usr/lib/cups/filter - Typical CUPS filter directory. +/usr/lib/cups/filter - Typical CUPS filter directory.
-/usr/libexec/cups/filter - CUPS filter directory on macOS. -

Examples

-Define a filter that converts PostScript documents to CUPS Raster format: -
+/usr/libexec/cups/filter - CUPS filter directory on macOS.
+

+

Examples

+

Define a filter that converts PostScript documents to CUPS Raster format: +

+
     application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster
 
 
-

Notes

-CUPS filters are deprecated and will no longer be supported in a future feature release of CUPS. +

Notes

+

CUPS filters are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-cups-files.conf(5), -cupsd.conf(5), -cupsd(8), -cupsfilter(8), -mime.types(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

cups-files.conf(5), + +cupsd.conf(5), + +cupsd(8), - +cupsfilter(8), + +mime.types(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-mime.types.html b/doc/help/man-mime.types.html index 6f6702e1f8..10a69f63a9 100644 --- a/doc/help/man-mime.types.html +++ b/doc/help/man-mime.types.html @@ -1,94 +1,120 @@ - + - - - - mime.types(5) - - -

mime.types(5)

-

Name

-mime.types - mime type description file for cups -

Description

-The mime.types file defines the recognized file types. -

Additional file types are specified in files with the extension .types in the CUPS configuration directory. -

Each line in the mime.types file is a comment, blank, or rule line. + + + mime.types(5) + + +

mime.types(5)

+

Name

+

mime.types - mime type description file for cups +

+

Description

+

The mime.types file defines the recognized file types. +

+

Additional file types are specified in files with the extension .types in the CUPS configuration directory. +

+

Each line in the mime.types file is a comment, blank, or rule line. Comment lines start with the # character. Rule lines start with the MIME media type and are optionally followed by a series of file recognition rules: -

-    mime/type [ rule ... rule ]
+

+
+    mime/type [ rule ... rule ]
 
 
-Rules can be extended over multiple lines using the backslash character (\): -
-    mime/type [ really-really-really-long-rule ... \
-      rule ]
+

Rules can be extended over multiple lines using the backslash character (\): +

+
+    mime/type [ really-really-really-long-rule ... \
+      rule ]
 
 
-MIME media types specified by the mime/type field are case-insensitive and are sorted in ascending alphanumeric order for the purposes of matching. -See the "TYPE MATCHING AND PRIORITY" section for more information. -

The rules may be grouped using parenthesis, joined using "+" for a logical AND, joined using "," or whitespace for a logical OR, and negated using "!". -

Rules

-Rules take two forms - a filename extension by itself and functions with test +

MIME media types specified by the mime/type field are case-insensitive and are sorted in ascending alphanumeric order for the purposes of matching. +See the "TYPE MATCHING AND PRIORITY" section for more information. +

+

The rules may be grouped using parenthesis, joined using "+" for a logical AND, joined using "," or whitespace for a logical OR, and negated using "!". +

+

Rules

+

Rules take two forms - a filename extension by itself and functions with test values inside parenthesis. The following functions are available: -

-
match("pattern") -
True if the filename matches the given shell wildcard pattern. -
ascii(offset,length) -
True if the length bytes starting at offset are valid printable ASCII (CR, NL, TAB, BS, 32-126). -
printable(offset,length) -
True if the length bytes starting at offset are printable 8-bit chars (CR, NL, TAB, BS, 32-126, 128-254). -
priority(number) -
Specifies the relative priority of this MIME media type. +

+

match("pattern")
+True if the filename matches the given shell wildcard pattern. +

+

ascii(offset,length)
+True if the length bytes starting at offset are valid printable ASCII (CR, NL, TAB, BS, 32-126). +

+

printable(offset,length)
+True if the length bytes starting at offset are printable 8-bit chars (CR, NL, TAB, BS, 32-126, 128-254). +

+

priority(number)
+Specifies the relative priority of this MIME media type. The default priority is 100. Larger values have higher priority while smaller values have lower priority. -

string(offset,"string") -
True if the bytes starting at offset are identical to string. -
istring(offset,"string") -
True if the bytes starting at offset match string without respect to case. -
char(offset,value) -
True if the byte at offset is identical to value. -
short(offset,value) -
True if the 16-bit big-endian integer at offset is identical to value. -
int(offset,value) -
True if the 32-bit big-endian integer at offset is identical to value. -
locale("string") -
True if current locale matches string. -
contains(offset,range,"string") -
True if the bytes starting at offset for range bytes contains string. -
-

String Constants

-String constants can be specified inside quotes ("") for strings containing whitespace and angle brackets (<>) for hexadecimal strings. -

Type Matching And Priority

-When CUPS needs to determine the MIME media type of a given file, it checks every MIME media type defined in the .types files. +

+

string(offset,"string")
+True if the bytes starting at offset are identical to string. +

+

istring(offset,"string")
+True if the bytes starting at offset match string without respect to case. +

+

char(offset,value)
+True if the byte at offset is identical to value. +

+

short(offset,value)
+True if the 16-bit big-endian integer at offset is identical to value. +

+

int(offset,value)
+True if the 32-bit big-endian integer at offset is identical to value. +

+

locale("string")
+True if current locale matches string. +

+

contains(offset,range,"string")
+True if the bytes starting at offset for range bytes contains string. +

+

String Constants

+

String constants can be specified inside quotes ("") for strings containing whitespace and angle brackets (<>) for hexadecimal strings. +

+

Type Matching And Priority

+

When CUPS needs to determine the MIME media type of a given file, it checks every MIME media type defined in the .types files. When two or more types match a given file, the type chosen will depend on the type name and priority, with higher-priority types being used over lower-priority ones. If the types have the same priority, the type names are sorted alphanumerically in ascending order and the first type is chosen. -

For example, if two types "text/bar" and "text/foo" are defined as matching the -extension "doc", normally the type "text/bar" will be chosen since its name is -alphanumerically smaller than "text/foo". -However, if "text/foo" also defines a higher priority than "text/bar", "text/foo" will be chosen instead. -

Files

-/etc/cups - Typical CUPS configuration directory. -

Examples

-Define two MIME media types for raster data, with one being a subset with higher priority: -
-    application/vnd.cups-raster  string(0,"RaSt") string(0,"tSaR") \
-                                  string(0,"RaS2") string(0,"2SaR") \
-                                  string(0,"RaS3") string(0,"3SaR")
+

+

For example, if two types "text/bar" and "text/foo" are defined as matching the +extension "doc", normally the type "text/bar" will be chosen since its name is +alphanumerically smaller than "text/foo". +However, if "text/foo" also defines a higher priority than "text/bar", "text/foo" will be chosen instead. +

+

Files

+

/etc/cups - Typical CUPS configuration directory. +

+

Examples

+

Define two MIME media types for raster data, with one being a subset with higher priority: +

+
+    application/vnd.cups-raster  string(0,"RaSt") string(0,"tSaR") \
+                                  string(0,"RaS2") string(0,"2SaR") \
+                                  string(0,"RaS3") string(0,"3SaR")
 
-    image/pwg-raster              string(0,"RaS2") + \
+    image/pwg-raster              string(0,"RaS2") + \
                                   string(4,PwgRaster<00>) priority(150)
 
-

See Also

-cups-files.conf(5), -cupsd.conf(5), -cupsd(8), -cupsfilter(8), -mime.convs(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

See Also

+

cups-files.conf(5), + +cupsd.conf(5), + +cupsd(8), - +cupsfilter(8), + +mime.convs(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-notifier.html b/doc/help/man-notifier.html index 4da22f1337..27ad39fe5f 100644 --- a/doc/help/man-notifier.html +++ b/doc/help/man-notifier.html @@ -1,37 +1,45 @@ - + - - - - notifier(7) - - -

notifier(7)

-

Name

-notifier - cups notification interface -

Synopsis

-notifier -recipient + + + notifier(7) + + +

notifier(7)

+

Name

+

notifier - cups notification interface +

+

Synopsis

+

notifier +recipient [ -user-data +user-data ] -

Description

-The CUPS notifier interface provides a standard method for adding support for new event notification methods to CUPS. +

+

Description

+

The CUPS notifier interface provides a standard method for adding support for new event notification methods to CUPS. Each notifier delivers one or more IPP events from the standard input to the specified recipient. -

Notifiers MUST read IPP messages from the standard input using the -ippNew() +

+

Notifiers MUST read IPP messages from the standard input using the +ippNew() + and -ippReadFile() +ippReadFile() + functions and exit on error. Notifiers are encouraged to exit after a suitable period of inactivity, however they may exit after reading the first message or stay running until an error is seen. Notifiers inherit the environment and can use the logging mechanism documented in -filter(7). -

See Also

-cupsd(8), -filter(7), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +filter(7). - +

+

See Also

+

cupsd(8), + +filter(7), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ppdc.html b/doc/help/man-ppdc.html index f12d23f1ca..053f53ed61 100644 --- a/doc/help/man-ppdc.html +++ b/doc/help/man-ppdc.html @@ -1,95 +1,114 @@ - + - - - - ppdc(1) - - -

ppdc(1)

-

Name

-ppdc - cups ppd compiler (deprecated) -

Synopsis

-ppdc + + + ppdc(1) + + +

ppdc(1)

+

Name

+

ppdc - cups ppd compiler (deprecated) +

+

Synopsis

+

ppdc [ --D name[=value] +-D name[=value] ] [ --I -include-directory +-I +include-directory ] [ --c -message-catalog +-c +message-catalog ] [ --d -output-directory +-d +output-directory ] [ --l -language(s) +-l +language(s) ] [ --m +-m ] [ --t +-t ] [ --v +-v ] [ --z +-z ] [ ---cr +--cr ] [ ---crlf +--crlf ] [ ---lf +--lf ] -source-file -

Description

-ppdc compiles PPDC source files into one or more PPD files. -This program is deprecated and will be removed in a future release of CUPS. -

Options

-ppdc supports the following options: -
-
-D name[=value] -
Sets the named variable for use in the source file. -It is equivalent to using the #define directive in the source file. -
-I include-directory -
Specifies an alternate include directory. -Multiple -I options can be supplied to add additional directories. -
-c message-catalog -
Specifies a single message catalog file in GNU gettext (filename.po) or Apple strings (filename.strings) format to be used for localization. -
-d output-directory -
Specifies the output directory for PPD files. -The default output directory is "ppd". -
-l language(s) -
Specifies one or more languages to use when localizing the PPD file(s). -The default language is "en" (English). -Separate multiple languages with commas, for example "de_DE,en_UK,es_ES,es_MX,es_US,fr_CA,fr_FR,it_IT" will create PPD files with German, UK English, Spanish (Spain, Mexico, and US), French (France and Canada), and Italian languages in each file. -
-m -
Specifies that the output filename should be based on the ModelName value instead of FileName or PCFileName. -
-t -
Specifies that PPD files should be tested instead of generated. -
-v -
Specifies verbose output, basically a running status of which files are being loaded or written. --z +source-file +

+

Description

+

ppdc compiles PPDC source files into one or more PPD files. +This program is deprecated and will be removed in a future release of CUPS. +

+

Options

+

ppdc supports the following options: +

+

-D name[=value]
+Sets the named variable for use in the source file. +It is equivalent to using the #define directive in the source file. +

+

-I include-directory
+Specifies an alternate include directory. +Multiple -I options can be supplied to add additional directories. +

+

-c message-catalog
+Specifies a single message catalog file in GNU gettext (filename.po) or Apple strings (filename.strings) format to be used for localization. +

+

-d output-directory
+Specifies the output directory for PPD files. +The default output directory is "ppd". +

+

-l language(s)
+Specifies one or more languages to use when localizing the PPD file(s). +The default language is "en" (English). +Separate multiple languages with commas, for example "de_DE,en_UK,es_ES,es_MX,es_US,fr_CA,fr_FR,it_IT" will create PPD files with German, UK English, Spanish (Spain, Mexico, and US), French (France and Canada), and Italian languages in each file. +

+

-m
+Specifies that the output filename should be based on the ModelName value instead of FileName or PCFileName. +

+

-t
+Specifies that PPD files should be tested instead of generated. +

+

-v
+Specifies verbose output, basically a running status of which files are being loaded or written. +-z Generates compressed PPD files (filename.ppd.gz). The default is to generate uncompressed PPD files. -

--cr -
--crlf -
--lf -
Specifies the line ending to use - carriage return, carriage return and line feed, or line feed alone. +

+

--cr
+

+

--crlf
+

+

--lf
+Specifies the line ending to use - carriage return, carriage return and line feed, or line feed alone. The default is to use the line feed character alone. -

-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-ppdhtml(1), -ppdi(1), -ppdmerge(1), -ppdpo(1), -ppdcfile(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

ppdhtml(1), + +ppdi(1), + +ppdmerge(1), - +ppdpo(1), + +ppdcfile(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ppdcfile.html b/doc/help/man-ppdcfile.html index b6e84ea650..64111a4132 100644 --- a/doc/help/man-ppdcfile.html +++ b/doc/help/man-ppdcfile.html @@ -1,99 +1,172 @@ - + - - - - ppdcfile(5) - - -

ppdcfile(5)

-

Name

-ppdcfile - cups ppd compiler source file format (deprecated) -

Description

-The CUPS PPD compiler reads meta files that contain descriptions of one or more PPD files to be generated by -ppdc(1). + + + ppdcfile(5) + + +

ppdcfile(5)

+

Name

+

ppdcfile - cups ppd compiler source file format (deprecated) +

+

Description

+

The CUPS PPD compiler reads meta files that contain descriptions of one or more PPD files to be generated by +ppdc(1). + This man page provides a quick reference to the supported keywords and should be used in conjunction with the online help for CUPS. -

The source file format is plain ASCII text that can be edited using your favorite text editor. Comments are supported using the C (/* ... */) and C++ (// ...) comment mechanisms. -

Printer driver information can be grouped and shared using curly braces ({ ... }); PPD files are written when a close brace or end-of-file is seen and a PCFileName directive has been defined. -

Directives may be placed anywhere on a line and are followed by one or more values. The following is a list of the available directives and the values they accept: -

-
#define name value -
#elif {name | value} -
#else -
#endif -
#font name encoding "version" charset status -
#if {name | value} -
#include <filename> -
#include "filename" -
#media name width length -
#media "name/text" width length -
#po locale "filename" -
Attribute name "" value -
Attribute name keyword value -
Attribute name "keyword/text" value -
Choice name "code" -
Choice "name/text" "code" -
ColorDevice boolean-value -
ColorModel name colorspace colororder compression -
ColorModel "name/text" colorspace colororder compression -
ColorProfile resolution/mediatype gamma density matrix -
Copyright "text" -
CustomMedia name width length left bottom right top "size-code" "region-code" -
CustomMedia "name/text" width length left bottom right top "size-code" "region-code" -
Cutter boolean-value -
Darkness temperature name -
Darkness temperature "name/text" -
DriverType type -
Duplex type -
Filter mime-type cost program -
Finishing name -
Finishing "name/text" -
Font * -
Font name encoding "version" charset status -
Group name -
Group "name/text" -
HWMargins left bottom right top -
InputSlot position name -
InputSlot position "name/text" -
Installable name -
Installable "name/text" -
LocAttribute name "keyword/text" value -
ManualCopies boolean-value -
Manufacturer "name" -
MaxSize width length -
MediaSize name -
MediaType type name -
MediaType type "name/text" -
MinSize width length -
ModelName "name" -
ModelNumber number -
Option name type section order -
Option "name/text" type section order -
PCFileName "filename.ppd" -
Resolution colorspace bits-per-color row-count row-feed row-step name -
Resolution colorspace bits-per-color row-count row-feed row-step "name/text" -
SimpleColorProfile resolution/mediatype density yellow-density red-density gamma red-adjust green-adjust blue-adjust -
Throughput pages-per-minute -
UIConstraints "*Option1 *Option2" -
UIConstraints "*Option1 Choice1 *Option2" -
UIConstraints "*Option1 *Option2 Choice2" -
UIConstraints "*Option1 Choice1 *Option2 Choice2" -
VariablePaperSize boolean-value -
Version number -
-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +

+

The source file format is plain ASCII text that can be edited using your favorite text editor. Comments are supported using the C (/* ... */) and C++ (// ...) comment mechanisms. +

+

Printer driver information can be grouped and shared using curly braces ({ ... }); PPD files are written when a close brace or end-of-file is seen and a PCFileName directive has been defined. +

+

Directives may be placed anywhere on a line and are followed by one or more values. The following is a list of the available directives and the values they accept: +

+

#define name value
+

+

#elif {name | value}
+

+

#else
+

+

#endif
+

+

#font name encoding "version" charset status
+

+

#if {name | value}
+

+

#include <filename>
+

+

#include "filename"
+

+

#media name width length
+

+

#media "name/text" width length
+

+

#po locale "filename"
+

+

Attribute name "" value
+

+

Attribute name keyword value
+

+

Attribute name "keyword/text" value
+

+

Choice name "code"
+

+

Choice "name/text" "code"
+

+

ColorDevice boolean-value
+

+

ColorModel name colorspace colororder compression
+

+

ColorModel "name/text" colorspace colororder compression
+

+

ColorProfile resolution/mediatype gamma density matrix
+

+

Copyright "text"
+

+

CustomMedia name width length left bottom right top "size-code" "region-code"
+

+

CustomMedia "name/text" width length left bottom right top "size-code" "region-code"
+

+

Cutter boolean-value
+

+

Darkness temperature name
+

+

Darkness temperature "name/text"
+

+

DriverType type
+

+

Duplex type
+

+

Filter mime-type cost program
+

+

Finishing name
+

+

Finishing "name/text"
+

+

Font *
+

+

Font name encoding "version" charset status
+

+

Group name
+

+

Group "name/text"
+

+

HWMargins left bottom right top
+

+

InputSlot position name
+

+

InputSlot position "name/text"
+

+

Installable name
+

+

Installable "name/text"
+

+

LocAttribute name "keyword/text" value
+

+

ManualCopies boolean-value
+

+

Manufacturer "name"
+

+

MaxSize width length
+

+

MediaSize name
+

+

MediaType type name
+

+

MediaType type "name/text"
+

+

MinSize width length
+

+

ModelName "name"
+

+

ModelNumber number
+

+

Option name type section order
+

+

Option "name/text" type section order
+

+

PCFileName "filename.ppd"
+

+

Resolution colorspace bits-per-color row-count row-feed row-step name
+

+

Resolution colorspace bits-per-color row-count row-feed row-step "name/text"
+

+

SimpleColorProfile resolution/mediatype density yellow-density red-density gamma red-adjust green-adjust blue-adjust
+

+

Throughput pages-per-minute
+

+

UIConstraints "*Option1 *Option2"
+

+

UIConstraints "*Option1 Choice1 *Option2"
+

+

UIConstraints "*Option1 *Option2 Choice2"
+

+

UIConstraints "*Option1 Choice1 *Option2 Choice2"
+

+

VariablePaperSize boolean-value
+

+

Version number
+

+

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-ppdc(1), -ppdhtml(1), -ppdi(1), -ppdmerge(1), -ppdpo(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

ppdc(1), + +ppdhtml(1), - +ppdi(1), + +ppdmerge(1), + +ppdpo(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ppdhtml.html b/doc/help/man-ppdhtml.html index f618b22f26..27d7bb867c 100644 --- a/doc/help/man-ppdhtml.html +++ b/doc/help/man-ppdhtml.html @@ -1,49 +1,59 @@ - + - - - - ppdhtml(1) - - -

ppdhtml(1)

-

Name

-ppdhtml - cups html summary generator (deprecated) -

Synopsis

-ppdhtml + + + ppdhtml(1) + + +

ppdhtml(1)

+

Name

+

ppdhtml - cups html summary generator (deprecated) +

+

Synopsis

+

ppdhtml [ --D name[=value] +-D name[=value] ] [ --I -include-directory +-I +include-directory ] -source-file -

Description

-ppdhtml reads a driver information file and produces a HTML summary page that lists all of the drivers in a file and the supported options. -This program is deprecated and will be removed in a future release of CUPS. -

Options

-ppdhtml supports the following options: -
-
-D name[=value] -
Sets the named variable for use in the source file. -It is equivalent to using the #define directive in the source file. -
-I include-directory -
Specifies an alternate include directory. -Multiple -I options can be supplied to add additional directories. -
-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +source-file +

+

Description

+

ppdhtml reads a driver information file and produces a HTML summary page that lists all of the drivers in a file and the supported options. +This program is deprecated and will be removed in a future release of CUPS. +

+

Options

+

ppdhtml supports the following options: +

+

-D name[=value]
+Sets the named variable for use in the source file. +It is equivalent to using the #define directive in the source file. +

+

-I include-directory
+Specifies an alternate include directory. +Multiple -I options can be supplied to add additional directories. +

+

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-ppdc(1), -ppdcfile(5), -ppdi(1), -ppdmerge(1), -ppdpo(1), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

ppdc(1), + +ppdcfile(5), + +ppdi(1), - +ppdmerge(1), + +ppdpo(1), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ppdi.html b/doc/help/man-ppdi.html index bbbc44c9e6..9373af42d5 100644 --- a/doc/help/man-ppdi.html +++ b/doc/help/man-ppdi.html @@ -1,56 +1,66 @@ - + - - - - ppdi(1) - - -

ppdi(1)

-

Name

-ppdi - import ppd files (deprecated) -

Synopsis

-ppdi + + + ppdi(1) + + +

ppdi(1)

+

Name

+

ppdi - import ppd files (deprecated) +

+

Synopsis

+

ppdi [ --I -include-directory +-I +include-directory ] [ --o -source-file +-o +source-file ] -ppd-file +ppd-file [ ... -ppd-file +ppd-file ] -

Description

-ppdi imports one or more PPD files into a PPD compiler source file. +

+

Description

+

ppdi imports one or more PPD files into a PPD compiler source file. Multiple languages of the same PPD file are merged into a single printer definition to facilitate accurate changes for all localizations. -This program is deprecated and will be removed in a future release of CUPS. -

Options

-ppdi supports the following options: -
-
-I include-directory -
Specifies an alternate include directory. -Multiple -I options can be supplied to add additional directories. -
-o source-file -
Specifies the PPD source file to update. +This program is deprecated and will be removed in a future release of CUPS. +

+

Options

+

ppdi supports the following options: +

+

-I include-directory
+Specifies an alternate include directory. +Multiple -I options can be supplied to add additional directories. +

+

-o source-file
+Specifies the PPD source file to update. If the source file does not exist, a new source file is created. Otherwise the existing file is merged with the new PPD file(s) on the command-line. -If no source file is specified, the filename ppdi.drv is used. -

-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +If no source file is specified, the filename ppdi.drv is used. +

+

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-ppdc(1), -ppdhtml(1), -ppdmerge(1), -ppdpo(1), -ppdcfile(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

ppdc(1), + +ppdhtml(1), + +ppdmerge(1), - +ppdpo(1), + +ppdcfile(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ppdmerge.html b/doc/help/man-ppdmerge.html index 650622be19..1308f89791 100644 --- a/doc/help/man-ppdmerge.html +++ b/doc/help/man-ppdmerge.html @@ -1,52 +1,62 @@ - + - - - - ppdmerge(1) - - -

ppdmerge(1)

-

Name

-ppdmerge - merge ppd files (deprecated) -

Synopsis

-ppdmerge + + + ppdmerge(1) + + +

ppdmerge(1)

+

Name

+

ppdmerge - merge ppd files (deprecated) +

+

Synopsis

+

ppdmerge [ --o -output-ppd-file +-o +output-ppd-file ] -ppd-file -ppd-file +ppd-file +ppd-file [ ... -ppd-file +ppd-file ] -

Description

-ppdmerge merges two or more PPD files into a single, multi-language +

+

Description

+

ppdmerge merges two or more PPD files into a single, multi-language PPD file. -This program is deprecated and will be removed in a future release of CUPS. -

Options

-ppdmerge supports the following options: -
-
-o output-ppd-file -
Specifies the PPD file to create. +This program is deprecated and will be removed in a future release of CUPS. +

+

Options

+

ppdmerge supports the following options: +

+

-o output-ppd-file
+Specifies the PPD file to create. If not specified, the merged PPD file is written to the standard output. If the output file already exists, it is silently overwritten. -

-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +

+

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

ppdmerge does not check whether the merged PPD files are for the same device. +ippeveprinter(1). + +

+

ppdmerge does not check whether the merged PPD files are for the same device. Merging of different device PPDs will yield unpredictable results. -

See Also

-ppdc(1), -ppdhtml(1), -ppdi(1), -ppdpo(1), -ppdcfile(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

See Also

+

ppdc(1), + +ppdhtml(1), + +ppdi(1), - +ppdpo(1), + +ppdcfile(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-ppdpo.html b/doc/help/man-ppdpo.html index 824d1eaabc..b53c57599c 100644 --- a/doc/help/man-ppdpo.html +++ b/doc/help/man-ppdpo.html @@ -1,55 +1,66 @@ - + - - - - ppdpo(1) - - -

ppdpo(1)

-

Name

-ppdpo - ppd message catalog generator (deprecated) -

Synopsis

-ppdpo + + + ppdpo(1) + + +

ppdpo(1)

+

Name

+

ppdpo - ppd message catalog generator (deprecated) +

+

Synopsis

+

ppdpo [ --D name[=value] +-D name[=value] ] [ --I -include-directory +-I +include-directory ] [ --o -output-file +-o +output-file ] -source-file -

Description

-ppdpo extracts UI strings from PPDC source files and updates either a GNU gettext or macOS strings format message catalog source file for translation. -This program is deprecated and will be removed in a future release of CUPS. -

Options

-ppdpo supports the following options: -
-
-D name[=value] -
Sets the named variable for use in the source file. -It is equivalent to using the #define directive in the source file. -
-I include-directory -
Specifies an alternate include directory. -Multiple -I options can be supplied to add additional directories. -
-o output-file -
Specifies the output file. -The supported extensions are .po or .po.gz for GNU gettext format message catalogs and .strings for macOS strings files. -
-

Notes

-PPD files are deprecated and will no longer be supported in a future feature release of CUPS. +source-file +

+

Description

+

ppdpo extracts UI strings from PPDC source files and updates either a GNU gettext or macOS strings format message catalog source file for translation. +This program is deprecated and will be removed in a future release of CUPS. +

+

Options

+

ppdpo supports the following options: +

+

-D name[=value]
+Sets the named variable for use in the source file. +It is equivalent to using the #define directive in the source file. +

+

-I include-directory
+Specifies an alternate include directory. +Multiple -I options can be supplied to add additional directories. +

+

-o output-file
+Specifies the output file. +The supported extensions are .po or .po.gz for GNU gettext format message catalogs and .strings for macOS strings files. +

+

Notes

+

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. Printers that do not support IPP can be supported using applications such as -ippeveprinter(1). -

See Also

-ppdc(1), -ppdhtml(1), -ppdi(1), -ppdmerge(1), -ppdcfile(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +ippeveprinter(1). + +

+

See Also

+

ppdc(1), + +ppdhtml(1), + +ppdi(1), - +ppdmerge(1), + +ppdcfile(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-printers.conf.html b/doc/help/man-printers.conf.html index 1935b4c850..a91adb07c7 100644 --- a/doc/help/man-printers.conf.html +++ b/doc/help/man-printers.conf.html @@ -1,31 +1,41 @@ - + - - - - printers.conf(5) - - -

printers.conf(5)

-

Name

-printers.conf - printer configuration file for cups -

Description

-The printers.conf file defines the local printers that are available. It is normally located in the /etc/cups directory and is maintained by the -cupsd(8) + + + printers.conf(5) + + +

printers.conf(5)

+

Name

+

printers.conf - printer configuration file for cups +

+

Description

+

The printers.conf file defines the local printers that are available. It is normally located in the /etc/cups directory and is maintained by the +cupsd(8) + program. This file is not intended to be edited or managed manually. -

Notes

-The name, location, and format of this file are an implementation detail that will change in future releases of CUPS. -

See Also

-classes.conf(5), -cups-files.conf(5), -cupsd(8), -cupsd.conf(5), -mime.convs(5), -mime.types(5), -subscriptions.conf(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

Notes

+

The name, location, and format of this file are an implementation detail that will change in future releases of CUPS. +

+

See Also

+

classes.conf(5), + +cups-files.conf(5), + +cupsd(8), + +cupsd.conf(5), - +mime.convs(5), + +mime.types(5), + +subscriptions.conf(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/doc/help/man-subscriptions.conf.html b/doc/help/man-subscriptions.conf.html index 9ac69df0d7..c47a5eb51a 100644 --- a/doc/help/man-subscriptions.conf.html +++ b/doc/help/man-subscriptions.conf.html @@ -1,33 +1,43 @@ - + - - - - subscriptions.conf(5) - - -

subscriptions.conf(5)

-

Name

-subscriptions.conf - subscription configuration file for cups -

Description

-The subscriptions.conf file defines the local event notification subscriptions that are active. -It is normally located in the /etc/cups directory and is maintained by the -cupsd(8) + + + subscriptions.conf(5) + + +

subscriptions.conf(5)

+

Name

+

subscriptions.conf - subscription configuration file for cups +

+

Description

+

The subscriptions.conf file defines the local event notification subscriptions that are active. +It is normally located in the /etc/cups directory and is maintained by the +cupsd(8) + program. This file is not intended to be edited or managed manually. -

Notes

-The name, location, and format of this file are an implementation detail that will change in future releases of CUPS. -

See Also

-classes.conf(5), -cups-files.conf(5), -cupsd(8), -cupsd.conf(5), -mime.convs(5), -mime.types(5), -printers.conf(5), -CUPS Online Help (http://localhost:631/help) -

Copyright

-Copyright © 2021-2023 by OpenPrinting. +

+

Notes

+

The name, location, and format of this file are an implementation detail that will change in future releases of CUPS. +

+

See Also

+

classes.conf(5), + +cups-files.conf(5), + +cupsd(8), + +cupsd.conf(5), - +mime.convs(5), + +mime.types(5), + +printers.conf(5), + +CUPS Online Help (http://localhost:631/help) +

+

Copyright

+

Copyright © 2021-2023 by OpenPrinting. + diff --git a/man/Makefile b/man/Makefile index 621fe60c17..327544da5b 100644 --- a/man/Makefile +++ b/man/Makefile @@ -1,6 +1,9 @@ # # Man page makefile for CUPS. # +# The "html" target depends on "mantohtml" from https://www.msweet.org/mantohtml +# +# Copyright © 2023 by OpenPrinting. # Copyright © 2007-2019 by Apple Inc. # Copyright © 1993-2006 by Easy Software Products. # @@ -203,25 +206,21 @@ local: html # Make html versions of man pages... # -html: $(MAN1) $(MAN5) $(MAN7) $(MAN8) mantohtml +html: $(MAN1) $(MAN5) $(MAN7) $(MAN8) echo Converting man pages to HTML... for file in $(MAN1); do \ echo " $$file..."; \ - ./mantohtml $$file >../doc/help/man-`basename $$file .1`.html; \ + mantohtml $$file >../doc/help/man-`basename $$file .1`.html; \ done for file in $(MAN5); do \ echo " $$file..."; \ - ./mantohtml $$file >../doc/help/man-`basename $$file .5`.html; \ + mantohtml $$file >../doc/help/man-`basename $$file .5`.html; \ done for file in $(MAN7); do \ echo " $$file..."; \ - ./mantohtml $$file >../doc/help/man-`basename $$file .7`.html; \ + mantohtml $$file >../doc/help/man-`basename $$file .7`.html; \ done for file in $(MAN8); do \ echo " $$file..."; \ - ./mantohtml $$file >../doc/help/man-`basename $$file .8`.html; \ + mantohtml $$file >../doc/help/man-`basename $$file .8`.html; \ done - -mantohtml: mantohtml.o ../cups/$(LIBCUPSSTATIC) - $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ mantohtml.o $(LINKCUPSSTATIC) - $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ diff --git a/man/cups-files.conf.5 b/man/cups-files.conf.5 index a4a01844f4..81b09d85bb 100644 --- a/man/cups-files.conf.5 +++ b/man/cups-files.conf.5 @@ -132,7 +132,6 @@ Bad startup file permissions are fatal, for example shared TLS certificate and k \fBGroup \fIgroup-name-or-number\fR Specifies the group name or ID that will be used when executing external programs. The default group is operating system specific but is usually "lp" or "nobody". -.RE .\"#LogFileGroup .TP 5 \fBLogFileGroup \fIgroup-name-or-number\fR diff --git a/man/mantohtml.c b/man/mantohtml.c deleted file mode 100644 index ceac098998..0000000000 --- a/man/mantohtml.c +++ /dev/null @@ -1,1228 +0,0 @@ -/* - * Man page to HTML conversion program. - * - * Copyright 2007-2017 by Apple Inc. - * Copyright 2004-2006 by Easy Software Products. - * - * Licensed under Apache License v2.0. See the file "LICENSE" for more information. - */ - -/* - * Include necessary headers. - */ - -#include -#include -#include - - -/* - * Local globals... - */ - -static const char /* Start/end tags for fonts */ - * const start_fonts[] = { "", "", "" }, - * const end_fonts[] = { "", "", "" }; - - -/* - * Local functions... - */ - -static void html_alternate(const char *s, const char *first, const char *second, FILE *fp); -static void html_fputs(const char *s, int *font, FILE *fp); -static void html_putc(int ch, FILE *fp); -static void strmove(char *d, const char *s); - - -/* - * 'main()' - Convert a man page to HTML. - */ - -int /* O - Exit status */ -main(int argc, /* I - Number of command-line args */ - char *argv[]) /* I - Command-line arguments */ -{ - FILE *infile, /* Input file */ - *outfile; /* Output file */ - char line[1024], /* Line from file */ - *lineptr, /* Pointer into line */ - anchor[1024], /* Anchor */ - name[1024], /* Man page name */ - ddpost[256]; /* Tagged list post markup */ - int section = -1, /* Man page section */ - pre = 0, /* Preformatted */ - font = 0, /* Current font */ - linenum = 0; /* Current line number */ - float list_indent = 0.0f, /* Current list indentation */ - nested_indent = 0.0f; /* Nested list indentation, if any */ - const char *list = NULL, /* Current list, if any */ - *nested = NULL; /* Nested list, if any */ - const char *post = NULL; /* Text to add after the current line */ - - - /* - * Check arguments... - */ - - if (argc > 3) - { - fputs("Usage: mantohtml [filename.man [filename.html]]\n", stderr); - return (1); - } - - /* - * Open files as needed... - */ - - if (argc > 1) - { - if ((infile = fopen(argv[1], "r")) == NULL) - { - perror(argv[1]); - return (1); - } - } - else - infile = stdin; - - if (argc > 2) - { - if ((outfile = fopen(argv[2], "w")) == NULL) - { - perror(argv[2]); - fclose(infile); - return (1); - } - } - else - outfile = stdout; - - /* - * Read from input and write the output... - */ - - fputs("\n" - "\n" - "\n" - "\n" - "\t\n", outfile); - - anchor[0] = '\0'; - - while (fgets(line, sizeof(line), infile)) - { - size_t linelen = strlen(line); /* Length of line */ - - if (linelen > 0 && line[linelen - 1] == '\n') - line[linelen - 1] = '\0'; - - linenum ++; - - if (line[0] == '.') - { - /* - * Strip leading whitespace... - */ - - while (line[1] == ' ' || line[1] == '\t') - strmove(line + 1, line + 2); - - /* - * Process man page commands... - */ - - if (!strncmp(line, ".TH ", 4) && section < 0) - { - /* - * Grab man page title... - */ - - sscanf(line + 4, "%s%d", name, §ion); - - fprintf(outfile, - "\t%s(%d)\n" - "\n" - "\n" - "

%s(%d)

\n" - "%s", - name, section, name, section, start_fonts[font]); - } - else if (section < 0) - continue; - else if (!strncmp(line, ".SH ", 4) || !strncmp(line, ".SS ", 4)) - { - /* - * Grab heading... - */ - - int first = 1; - - fputs(end_fonts[font], outfile); - font = 0; - - if (list) - { - fprintf(outfile, "\n", list); - list = NULL; - } - - if (line[2] == 'H') - fputs("

", outfile); - - for (lineptr = line + 4; *lineptr; lineptr ++) - { - if (*lineptr == '\"') - continue; - else if (*lineptr == ' ') - { - html_putc(' ', outfile); - - first = 1; - } - else - { - if (first) - html_putc(*lineptr, outfile); - else - html_putc(tolower(*lineptr & 255), outfile); - - first = 0; - } - } - - if (line[2] == 'H') - fputs("

\n", outfile); - else - fputs("\n", outfile); - } - else if (!strncmp(line, ".B ", 3)) - { - /* - * Grab bold text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 3, "b", "b", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".I ", 3)) - { - /* - * Grab italic text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 3, "i", "i", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".BI ", 4)) - { - /* - * Alternating bold and italic text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, "b", "i", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".BR ", 4)) - { - /* - * Alternating bold and roman (plain) text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, "b", NULL, outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".IB ", 4)) - { - /* - * Alternating italic and bold text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, "i", "b", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".IR ", 4)) - { - /* - * Alternating italic and roman (plain) text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, "i", NULL, outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".RB ", 4)) - { - /* - * Alternating roman (plain) and bold text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, NULL, "b", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".RI ", 4)) - { - /* - * Alternating roman (plain) and italic text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, NULL, "i", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".SB ", 4)) - { - /* - * Alternating small and bold text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, "small", "b", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strncmp(line, ".SM ", 4)) - { - /* - * Small text... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (anchor[0]) - fprintf(outfile, "", anchor); - - html_alternate(line + 4, "small", "small", outfile); - - if (anchor[0]) - { - fputs("", outfile); - anchor[0] = '\0'; - } - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - else if (!strcmp(line, ".LP") || !strcmp(line, ".PP") || !strcmp(line, ".P")) - { - /* - * New paragraph... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - if (list) - { - fprintf(outfile, "\n", list); - list = NULL; - } - - fputs("

", outfile); - - if (anchor[0]) - { - fprintf(outfile, "", anchor); - anchor[0] = '\0'; - } - } - else if (!strcmp(line, ".RS") || !strncmp(line, ".RS ", 4)) - { - /* - * Indent... - */ - - float amount = 3.0f; /* Indentation */ - - if (line[3]) - amount = (float)atof(line + 4); - - fputs(end_fonts[font], outfile); - font = 0; - - if (list) - { - nested = list; - list = NULL; - nested_indent = list_indent; - list_indent = 0.0f; - } - - fprintf(outfile, "

\n", amount - nested_indent); - } - else if (!strcmp(line, ".RE")) - { - /* - * Unindent... - */ - - fputs(end_fonts[font], outfile); - font = 0; - - fputs("
\n", outfile); - - if (nested) - { - list = nested; - nested = NULL; - - list_indent = nested_indent; - nested_indent = 0.0f; - } - } - else if (!strcmp(line, ".HP") || !strncmp(line, ".HP ", 4)) - { - /* - * Hanging paragraph... - * - * .HP i - */ - - float amount = 3.0f; /* Indentation */ - - if (line[3]) - amount = (float)atof(line + 4); - - fputs(end_fonts[font], outfile); - font = 0; - - if (list) - { - fprintf(outfile, "\n", list); - list = NULL; - } - - fprintf(outfile, "

", amount, -amount); - - if (anchor[0]) - { - fprintf(outfile, "", anchor); - anchor[0] = '\0'; - } - - if (line[1] == 'T') - post = "
\n"; - } - else if (!strcmp(line, ".TP") || !strncmp(line, ".TP ", 4)) - { - /* - * Tagged list... - * - * .TP i - */ - - float amount = 3.0f; /* Indentation */ - - if (line[3]) - amount = (float)atof(line + 4); - - fputs(end_fonts[font], outfile); - font = 0; - - if (list && strcmp(list, "dl")) - { - fprintf(outfile, "\n", list); - list = NULL; - } - - if (!list) - { - fputs("

\n", outfile); - list = "dl"; - list_indent = amount; - } - - fputs("
", outfile); - snprintf(ddpost, sizeof(ddpost), "
", amount); - post = ddpost; - - if (anchor[0]) - { - fprintf(outfile, "", anchor); - anchor[0] = '\0'; - } - } - else if (!strncmp(line, ".IP ", 4)) - { - /* - * Indented paragraph... - * - * .IP x i - */ - - float amount = 3.0f; /* Indentation */ - const char *newlist = NULL; /* New list style */ - const char *newtype = NULL; /* New list numbering type */ - - fputs(end_fonts[font], outfile); - font = 0; - - lineptr = line + 4; - while (isspace(*lineptr & 255)) - lineptr ++; - - if (!strncmp(lineptr, "\\(bu", 4) || !strncmp(lineptr, "\\(em", 4)) - { - /* - * Bullet list... - */ - - newlist = "ul"; - } - else if (isdigit(*lineptr & 255)) - { - /* - * Numbered list... - */ - - newlist = "ol"; - } - else if (islower(*lineptr & 255)) - { - /* - * Lowercase alpha list... - */ - - newlist = "ol"; - newtype = "a"; - } - else if (isupper(*lineptr & 255)) - { - /* - * Lowercase alpha list... - */ - - newlist = "ol"; - newtype = "A"; - } - - while (!isspace(*lineptr & 255)) - lineptr ++; - while (isspace(*lineptr & 255)) - lineptr ++; - - if (isdigit(*lineptr & 255)) - amount = (float)atof(lineptr); - - if (newlist && list && strcmp(newlist, list)) - { - fprintf(outfile, "\n", list); - list = NULL; - } - - if (newlist && !list) - { - if (newtype) - fprintf(outfile, "<%s type=\"%s\">\n", newlist, newtype); - else - fprintf(outfile, "<%s>\n", newlist); - - list = newlist; - } - - if (list) - fprintf(outfile, "
  • ", amount); - else - fprintf(outfile, "

    ", amount); - - if (anchor[0]) - { - fprintf(outfile, "", anchor); - anchor[0] = '\0'; - } - } - else if (!strncmp(line, ".br", 3)) - { - /* - * Grab line break... - */ - - fputs("
    \n", outfile); - } - else if (!strncmp(line, ".de ", 4)) - { - /* - * Define macro - ignore... - */ - - while (fgets(line, sizeof(line), infile)) - { - linenum ++; - - if (!strncmp(line, "..", 2)) - break; - } - } - else if (!strncmp(line, ".ds ", 4) || !strncmp(line, ".rm ", 4) || - !strncmp(line, ".tr ", 4) || !strncmp(line, ".hy ", 4) || - !strncmp(line, ".IX ", 4) || !strncmp(line, ".PD", 3) || - !strncmp(line, ".Sp", 3)) - { - /* - * Ignore unused commands... - */ - } - else if (!strncmp(line, ".Vb", 3) || !strncmp(line, ".nf", 3) || !strncmp(line, ".EX", 3)) - { - /* - * Start preformatted... - */ - - fputs(end_fonts[font], outfile); - font = 0; - -// if (list) -// { -// fprintf(outfile, "\n", list); -// list = NULL; -// } - - pre = 1; - fputs("

    \n", outfile);
    -      }
    -      else if (!strncmp(line, ".Ve", 3) || !strncmp(line, ".fi", 3) || !strncmp(line, ".EE", 3))
    -      {
    -       /*
    -        * End preformatted...
    -	*/
    -
    -	fputs(end_fonts[font], outfile);
    -	font = 0;
    -
    -        if (pre)
    -	{
    -          pre = 0;
    -	  fputs("
    \n", outfile); - } - } - else if (!strncmp(line, ".\\}", 3)) - { - /* - * Ignore close block... - */ - } - else if (!strncmp(line, ".ie", 3) || !strncmp(line, ".if", 3) || - !strncmp(line, ".el", 3)) - { - /* - * If/else - ignore... - */ - - if (strchr(line, '{') != NULL) - { - /* - * Skip whole block... - */ - - while (fgets(line, sizeof(line), infile)) - { - linenum ++; - - if (strchr(line, '}') != NULL) - break; - } - } - } -#if 0 - else if (!strncmp(line, ". ", 4)) - { - /* - * Grab ... - */ - } -#endif /* 0 */ - else if (!strncmp(line, ".\\\"#", 4)) - { - /* - * Anchor for HTML output... - */ - - cupsCopyString(anchor, line + 4, sizeof(anchor)); - } - else if (strncmp(line, ".\\\"", 3)) - { - /* - * Unknown... - */ - - if ((lineptr = strchr(line, ' ')) != NULL) - *lineptr = '\0'; - else if ((lineptr = strchr(line, '\n')) != NULL) - *lineptr = '\0'; - - fprintf(stderr, "mantohtml: Unknown man page command \'%s\' on line %d.\n", line, linenum); - } - - /* - * Skip continuation lines... - */ - - lineptr = line + strlen(line) - 1; - if (lineptr >= line && *lineptr == '\\') - { - while (fgets(line, sizeof(line), infile)) - { - linenum ++; - lineptr = line + strlen(line) - 2; - - if (lineptr < line || *lineptr != '\\') - break; - } - } - } - else - { - /* - * Process man page text... - */ - - if (pre == 1) - { - pre ++; - if (!line[0]) - continue; // Skip initial blank line - } - - html_fputs(line, &font, outfile); - putc('\n', outfile); - - if (post) - { - fputs(post, outfile); - post = NULL; - } - } - } - - fprintf(outfile, "%s\n", end_fonts[font]); - font = 0; - - if (list) - { - fprintf(outfile, "\n", list); - list = NULL; - } - - fputs("\n" - "\n", outfile); - - /* - * Close files... - */ - - if (infile != stdin) - fclose(infile); - - if (outfile != stdout) - fclose(outfile); - - /* - * Return with no errors... - */ - - return (0); -} - - -/* - * 'html_alternate()' - Alternate words between two styles of text. - */ - -static void -html_alternate(const char *s, /* I - String */ - const char *first, /* I - First style or NULL */ - const char *second, /* I - Second style of NULL */ - FILE *fp) /* I - File */ -{ - int i = 0; /* Which style */ - int quote = 0; /* Saw quote? */ - int dolinks, /* Do hyperlinks to other man pages? */ - link = 0; /* Doing a link now? */ - - - /* - * Skip leading whitespace... - */ - - while (isspace(*s & 255)) - s ++; - - dolinks = first && !strcmp(first, "b") && !second; - - while (*s) - { - if (!i && dolinks) - { - /* - * See if we need to make a link to a man page... - */ - - const char *end; /* End of current word */ - const char *next; /* Start of next word */ - - for (end = s; *end && !isspace(*end & 255); end ++); - for (next = end; isspace(*next & 255); next ++); - - if (isalnum(*s & 255) && *next == '(') - { - // "name (section)" - see if the man file is available locally... - char name[1024], // Name - manfile[1024], // Man page filename - manurl[1024]; // Man page URL - - cupsCopyString(name, s, sizeof(name)); - if ((size_t)(end - s) < sizeof(name)) - name[end - s] = '\0'; - - snprintf(manurl, sizeof(manurl), "man-%s.html?TOPIC=Man+Pages", name); - snprintf(manfile, sizeof(manfile), "%s.%d", name, atoi(next + 1)); - if (!access(manfile, 0)) - { - // Local man page, do a link... - fprintf(fp, "", manurl); - link = 1; - } - } - } - - if (!i && first) - fprintf(fp, "<%s>", first); - else if (i && second) - fprintf(fp, "<%s>", second); - - while ((!isspace(*s & 255) || quote) && *s) - { - if (*s == '\"') - quote = !quote; - - if (*s == '\\' && s[1]) - { - s ++; - html_putc(*s++, fp); - } - else - html_putc(*s++, fp); - } - - if (!i && first) - fprintf(fp, "", first); - else if (i && second) - fprintf(fp, "", second); - - if (i && link) - { - fputs("", fp); - link = 0; - } - - i ^= 1; - - /* - * Skip trailing whitespace... - */ - - while (isspace(*s & 255)) - s ++; - } - - putc('\n', fp); -} - -/* - * 'html_fputs()' - Output a string, quoting as needed HTML entities. - */ - -static void -html_fputs(const char *s, /* I - String */ - int *font, /* IO - Font */ - FILE *fp) /* I - File */ -{ - while (*s) - { - if (*s == '\\') - { - s ++; - if (!*s) - break; - - if (*s == 'f') - { - int newfont; /* New font */ - - s ++; - if (!*s) - break; - - if (!font) - { - s ++; - continue; - } - - switch (*s++) - { - case 'R' : - case 'P' : - newfont = 0; - break; - - case 'b' : - case 'B' : - newfont = 1; - break; - - case 'i' : - case 'I' : - newfont = 2; - break; - - default : - fprintf(stderr, "mantohtml: Unknown font \"\\f%c\" ignored.\n", s[-1]); - newfont = *font; - break; - } - - if (newfont != *font) - { - fputs(end_fonts[*font], fp); - *font = newfont; - fputs(start_fonts[*font], fp); - } - } - else if (*s == '*') - { - /* - * Substitute macro... - */ - - s ++; - if (!*s) - break; - - switch (*s++) - { - case 'R' : - fputs("®", fp); - break; - - case '(' : - if (!strncmp(s, "lq", 2)) - fputs("“", fp); - else if (!strncmp(s, "rq", 2)) - fputs("”", fp); - else if (!strncmp(s, "Tm", 2)) - fputs("TM", fp); - else - fprintf(stderr, "mantohtml: Unknown macro \"\\*(%2s\" ignored.\n", s); - - if (*s) - s ++; - if (*s) - s ++; - break; - - default : - fprintf(stderr, "mantohtml: Unknown macro \"\\*%c\" ignored.\n", s[-1]); - break; - } - } - else if (*s == '(') - { - if (!strncmp(s, "(em", 3)) - { - fputs("—", fp); - s += 3; - } - else if (!strncmp(s, "(en", 3)) - { - fputs("–", fp); - s += 3; - } - else - { - putc(*s, fp); - s ++; - } - } - else if (*s == '[') - { - /* - * Substitute escaped character... - */ - - s ++; - if (!strncmp(s, "co]", 3)) - fputs("©", fp); - else if (!strncmp(s, "de]", 3)) - fputs("°", fp); - else if (!strncmp(s, "rg]", 3)) - fputs("®", fp); - else if (!strncmp(s, "tm]", 3)) - fputs("TM", fp); - - if (*s) - s ++; - if (*s) - s ++; - if (*s) - s ++; - } - else if (isdigit(s[0]) && isdigit(s[1]) && - isdigit(s[2])) - { - fprintf(fp, "&#%d;", ((s[0] - '0') * 8 + s[1] - '0') * 8 + s[2] - '0'); - s += 3; - } - else - { - if (*s != '\\' && *s != '\"' && *s != '\'' && *s != '-') - { - fprintf(stderr, "mantohtml: Unrecognized escape \"\\%c\" ignored.\n", *s); - html_putc('\\', fp); - } - - html_putc(*s++, fp); - } - } - else if (!strncmp(s, "http://", 7) || !strncmp(s, "https://", 8) || !strncmp(s, "ftp://", 6)) - { - /* - * Embed URL... - */ - - char temp[1024], // Temporary string - *tempptr; // Pointer into temporary string - - for (tempptr = temp; *s && !isspace(*s & 255) && tempptr < (temp + sizeof(temp) - 1); s ++) - { - if (strchr(",.)", *s) && strchr(",. \n\r\t", s[1])) - { - // End of URL - break; - } - else if (*s == '\\' && s[1]) - { - // Escaped character - s ++; - *tempptr++ = *s; - } - else - { - // Regular character... - *tempptr++ = *s; - } - } - - *tempptr = '\0'; - fprintf(fp, "%s", temp, temp); - } - else - html_putc(*s++ & 255, fp); - } -} - - -/* - * 'html_putc()' - Put a single character, using entities as needed. - */ - -static void -html_putc(int ch, /* I - Character */ - FILE *fp) /* I - File */ -{ - if (ch == '&') - fputs("&", fp); - else if (ch == '<') - fputs("<", fp); - else - putc(ch, fp); -} - - -/* - * 'strmove()' - Move characters within a string. - */ - -static void -strmove(char *d, /* I - Destination */ - const char *s) /* I - Source */ -{ - while (*s) - *d++ = *s++; - - *d = '\0'; -}