JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
System Administration Guide: Printing     Oracle Solaris 10 8/11 Information Library
search filter icon
search icon

Document Information

About This Book

1.  Introduction to Printing in the Oracle Solaris Operating System

2.  Planning for Printing (Tasks)

3.  Setting Up Network Printing Services (Tasks)

4.  Setting Up and Administering Printers by Using Oracle Solaris Print Manager (Tasks)

5.  Setting Up Printers by Using LP Print Commands (Tasks)

6.  Administering Printers by Using LP Print Commands (Tasks)

7.  Customizing LP Printing Services and Printers (Tasks)

8.  Administering the LP Print Scheduler and Managing Print Requests (Tasks)

9.  Administering Printers on a Network (Tasks)

10.  Administering Character Sets, Filters, Forms, and Fonts (Tasks)

11.  Administering Printers by Using the PPD File Management Utility (Tasks)

12.  Printing in the Oracle Solaris Operating System (Reference)

13.  Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)

A.  Using the Internet Printing Protocol

Overview of Oracle Solaris IPP Support

Overview of the IPP Listening Service

How the IPP Listening Service Works

IPP Components

IPP Libraries

IPP Support Model

IPP Object Model

IPP Printer Object

IPP Job Object

IPP Server-Side Support

Configuration of IPP Server-Side Data

IPP Operation Keywords

IPP Client-Side Support

lpsched Support

IPP Attributes



Overview of the IPP Listening Service

The IPP Listening Service, also referred to as the listener, provides an IPP network protocol service that enables print client systems with a means of interacting with a print service on the system that is running the listener. This listener implements server-side IPP support, which includes a set of standard operations and attributes. The listener is implemented on Oracle Solaris as an Apache module and a series of shared libraries containing IPP operation and wire support. The IPP software stack is installed when the Oracle Solaris OS is installed on the system. The IPP listening service is an SMF service that depends on the print service to run. As a result, IPP is automatically enabled on a print server when the first print queue has been added . It is also disabled when the last print queue has been removed.

On the front end, IPP server support is layered on top of HTTP, Version 1.1. The server receives IPP operations through an HTTP POST request. The server then performs the requested operation and sends a response back to the client via HTTP. These operations include, but are not limited to, submitting and canceling a print job, and querying attributes of a printer, a print job, or all the print jobs that have been queued to a printer. On the back end, the IPP listener performs operations by communicating with a print spooler. In the Oracle Solaris OS, this spooler is currently the lpsched daemon.

How the IPP Listening Service Works

The IPP Listening Service implementation (server-side support) is embedded under the Apache web server. The web server receives IPP operations through HTTP POST requests. When an HTTP POST request is received, it is then passed on to the Apache IPP module ( Based on configuration, the Apache web service can also provide an authentication service and be used for encryption between print client and server. The listening service runs as its own dedicated instance of Apache.

This process is as follows:

  1. An IPP request is sent from the client to the server.

  2. The Apache web server accepts the connection.

  3. The Apache web server then hands the connection to mod_ipp.

  4. mod_ipp passes the connection and configuration data to libipp-listener.

  5. libipp-listener reads the request by using lipipp-core.

  6. libipp-listener dispatches the request to the operation handler located in lipipp-listener.

  7. The operation handler converts the request to a PAPI call and then makes the call.

  8. The PAPI call is translated to a print service specific request by using psm-lpsched.

  9. The print service responds to the request.

  10. The psm-lpsched command converts the response to PAPI results.

  11. The libpapi operation returns to the libipp-listener operation handler.

  12. The libipp-listener operation handler passes results to dispatcher.

  13. The libipp-listener dispatcher writes results to client by using the libipp-core library.

  14. The dispatcher returns the mod_ipp entry point.