Solaris のシステム管理 (印刷)

IPP コンポーネント

次の表は、Oracle Solaris OS での IPP サポートを構成しているコンポーネントを示しています。

表 A–1 IPP コンポーネント

コンポーネント 

機能 

httpd

Apache Web サーバー。tcp/631 の IANA 登録済み IPP ポート上で HTTP 要求を待機できる HTTP トランスポートリスナーを提供します。要求が受信されると、IPP Apache モジュールに渡されます。 

mod_ipp.so

Apache IPP モジュール。この Apache モジュールは、クライアントの HTTP 要求を調べて、その要求が IPP 要求 (application/ipp と HTTP POST 操作の MIME タイプ) であるかどうかを判断します。IPP 要求であると判断されると、IPP リスナーライブラリに渡されます。また、このモジュールは、IPP 固有の Apache 設定指令も導入して処理します。

libipp-listener.so

IPP リスナーライブラリ。このライブラリは、コア IPP マーシャリングライブラリを使用して IPP 要求をデコードし、それを IPP 操作実装機能のいずれかに振り分けます。これらの機能は、ローカル印刷サービスと対話するために IPP 要求を PAPI 呼び出しに変換します。呼び出しが終了すると、リスナーライブラリは結果をエンコードして、要求しているクライアントに戻します。 

libipp-core.so

IPP マーシャリングライブラリは、ワイヤ上での送受信のために IPP バイトストリームをデコードおよびエンコードします。 

libpapi.so

PAPI ライブラリは、IPP 待機サービスなどのアプリケーションに印刷サービスと対話するための手段を提供します。 

IPP ライブラリ

IPP 待機サービスライブラリ (libipp-listener) – 一連のプロトコル要求処理が発生する場所です。このライブラリは、コア IPP ライブラリ libipp-core.so を使用して要求の読み取りと検証を行います。要求が検証されると、その要求は一連のクライアント API 呼び出しに変換されます。次に、これらの呼び出しの結果が、コア IPP ライブラリを使用して適切な IPP 応答に変換されます。この応答は、Web サーバーによってクライアントシステムに返されます。待機サービスライブラリへのインタフェースは、IPP サーバー側の実装に固有のプロジェクト非公開インタフェースです。

IPP コアライブラリ (libipp-core.so) – クライアントとサーバーの操作の間で共有されます。IPP コアライブラリには、プロトコル要求および応答の読み取りと書き込みを可能にするルーチンが含まれています。このライブラリは、IPP 要求および応答データを、標準のバイナリ表現と共通データ構造のセットの間で変換します。最終的には、この共通データ表現が、要求を印刷サービスに依存しない表現との間で変換するために使用され、汎用印刷インタフェース libpapi.so 間で渡されます。この機能は、クライアント側とサーバー側の両方の IPP サポートが実行する必要があるため、クライアントとサーバーで共有されます。

PAPI ライブラリ (libpapi.so) – アプリケーションに、印刷サービスまたはプロトコルと対話するための印刷サービスに依存しない手段を提供します。この場合は、Apache IPP 待機サービスに、ローカル LP サービスと対話するための手段を提供します。このライブラリは、対話する相手の印刷サービスを、printers.conf 構成データベースに格納されているクライアント側の待ち行列設定データに基づいて決定します。