IPP Client-Side Support
The IPP client-side support in Solaris is implemented underneath the PAPI. This support
enables any applications that are using the PAPI to use IPP, as well
as other print services and protocols.
Applications include the following:
GNOME Desktop Environment - Applications using libgnomeprint
BSD commands - BSD UNIX LPD print service commands:
LP commands - System V UNIX LP print service commands:
lp
lpstat
lpmove
accept
reject
enable
disable
The IPP client-side support for applications is provided through a loadable module, psm-ipp.so,
that is loaded at runtime, based on the printer-uri for the printer or
job that is being manipulated.
Because IPP is layered on top of an HTTP transport, both client-side and
server-side support need the ability to read and write HTTP protocol. On the
server-side, this support is provided by the Apache web server. On the client-side,
this support is provided by an HTTP library, libhttp-core.so.
lpsched Support
psm-lpsched provides a translation between the print service independent representation of the PAPI
and the LP print spooler (lpsched). It takes the PAPI attributes passed
into various PAPI functions and converts them into an internal lpsched representation of the
data. It then contacts lpsched to perform the requested operation. Once performed, it
converts the results back into a print service neutral PAPI representation and returns
them to the caller.
The LP print spooler (lpsched), provides a spooling service, translations of job data
to a printer ready format, and transmission of the job data to the
physical printer.