系统管理指南:打印

IPP 库

IPP 侦听服务库 (libipp-listener)-是进行大部分协议请求处理的位置。该库使用核心 IPP 库 libipp-core.so 读取和验证请求。在验证请求后,会将请求转换为一系列客户机 API 调用。然后,使用核心 IPP 库将这些调用的结果转换为相应的 IPP 响应。Web 服务器会将响应返回到客户机系统。侦听服务库的接口是一个特定于 IPP 服务器端实现的项目专用接口。

IPP 核心库 (libipp-core.so)-在客户机操作与服务器操作之间共享。IPP 核心库包含一些用于读取和写入协议请求和响应的例程。该库将在标准二进制表示形式和一组通用数据结构之间转换 IPP 请求和响应数据。从根本上讲,这种通用数据表示形式用于将请求转换为打印服务中立的表示形式,或者从打印服务中立的表示形式进行转换,并通过通用打印接口 libpapi.so 传递这种通用数据表示形式。由于客户端和服务器端 IPP 支持都必须执行此功能,因此,客户机和服务器共享此 IPP 核心库。

PAPI 库 (libpapi.so)-为应用程序提供了一种打印服务中立的方法,来与打印服务或协议进行交互。在本例中,PAPI 库为 Apache IPP 侦听服务提供一种与本地 LP 服务进行交互的方法。PAPI 库根据 printers.conf 配置数据库中存储的客户端队列配置数据,确定要与之交互的打印服务。