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

Glossary

Index

IPP Components

The following table describes the components that make up IPP support in the Oracle Solaris OS.

Table A-1 IPP Components

Component
Function
httpd
The Apache Web Server. This provides an HTTP transport listener that can listen for HTTP requests on the IANA registered IPP port of tcp/631. Once a request has been received, it is passed on to the IPP Apache module.
mod_ipp.so

The Apache IPP module. This Apache module looks at the clients HTTP request to determine if it looks like an IPP request (mime-type of application/ipp and HTTP POST operation). Once it has been determined to be an IPP request it is passed on to the IPP listener library. This module also introduces and processes IPP-specific Apache configuration directives.
libipp-listener.so

The IPP listener library. This library makes use of a core IPP marshaling library to decode the IPP request and dispatch it to one of its IPP operation implementation functions. These functions convert the IPP request into PAPI calls to interact with the local print service. Once serviced, the listener library encodes and sends the results back to the requesting client.
libipp-core.so

The IPP marshaling library decodes and encodes IPP byte streams for reception and transmission on the wire.
libpapi.so

The PAPI library provides applications like the IPP listening service a means of interacting with the print service.

IPP Libraries

The IPP Listening Service library (libipp-listener) – Is where the bulk of the protocol request processing occurs. The library reads and validates requests by using the core IPP library, libipp-core.so. After the request has been validated, the request is translated to a series of client API calls. The result of these calls are then translated into an appropriate IPP response by using the core IPP library. The response is returned to the client system by the web server. The interface to the listening service library is a project private interface that is specific to the IPP server-side implementation.

The IPP Core library (libipp-core.so) – Is shared between client and server operation. The IPP core library contains routines that enable it to read and write protocol requests and responses. The library converts IPP request and response data between the standard binary representation and a set of common data structures. Ultimately, this common data representation is used in translating requests to and from a print service neutral representation and passed between a generic printing interface, libpapi.so. Since both client-side and server-side IPP support must perform this function, this is shared by clients and servers.

The PAPI library (libpapi.so) – Provides applications a print service independent means of interacting with a print service or protocol. In this instance, it provides the Apache IPP listening service a means of interacting with the local LP service. It determines the print service to interact with based on client-side queue configuration data stored in the printers.conf configuration database.