Using the Internet Print Protocol

In the past, Unix and allied systems such as Linux did not do a very consistent job with printer interfaces. As companies such as AT&T, HP, and Sun created their own versions of Unix, they also created proprietary print interfaces. While Linux did well to adapt the LPD packages, the evolving industry standard is based on the Internet Print Protocol (IPP).

CUPS is the Linux and Unix way of working with IPP. It was developed by Novell and Xerox with four goals in mind ”to enable users to:

  • Find available printers on a network

  • Send print jobs to an IPP-configured printer

  • Read the status of their print jobs

  • Cancel any print jobs they may have created

CUPS allows you to send print jobs to a specific URI, such as parallel:/dev/lp0 .

Note  

A URI is a Uniform Resource Identifier. You re probably more familiar with URLs (Uniform Resource Locators), which are a subset of URIs. As you know, a URL is used in web browsers to point to sites such as ftp://ftp.redhat.com or http://www.sybex.com . A URI can point to more things, such as mailto:abc@def.ghi , smb://comp1/printername , or parallel:/dev/lp1 .

CUPS implements IPP in a number of different ways. Several of the standards, as shown in Table 25.1, probably seem familiar to those of you who know LPD. The standard actions shown are far from a comprehensive list. More detailed information is available from the developers of CUPS, Easy Software Products, at www.easysw.com .

Table 25.1: CUPS Functionality

Action

Description

Print

Sends a file to a printer at a specific URI

Validate

Makes sure that a job has the right priority, printer, etc.

Create

Sets up an empty print job

Send

Sends a file for processing as a print job

Cancel

Cancels a print job

Pause

Stops action by a printer

Resume

Resumes action by a printer

Purge

Clears jobs from a printer s spool

In addition, CUPS includes a number of administrative functions over and above the standard LPD system. Some of these functions are shown in Table 25.2. Once again, this is not a comprehensive list.

Table 25.2: Special CUPS Functions

Action

Description

CUPS-Get-Default

Finds the URI for the default printer

CUPS-Get-Printers

Finds the URIs for all printers configured on the network with CUPS

CUPS-Add-Modify-Printers

Adds or modifies a printer through CUPS

CUPS-Delete-Printer

Deletes a printer from a CUPS class

CUPS-Get-Classes

Finds the types of printers available in each CUPS class

CUPS-Add-Modify-Class

Adds a new printer class, or modifies an existing CUPS printer class

CUPS-Delete-Class

Deletes an existing class of CUPS printers

CUPS-Accept-Jobs

Sets a specific printer or print class to start accepting print jobs

CUPS-Reject-Jobs

Sets a specific printer or print class to start rejecting print jobs

With these basic concepts in mind, you re ready to learn how to configure CUPS on your computer and network.

 


Mastering Red Hat Linux 9
Building Tablet PC Applications (Pro-Developer)
ISBN: 078214179X
EAN: 2147483647
Year: 2005
Pages: 220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net