このマニュアルでは、リモートプロシージャ呼び出し (RPC) と、米国 Sun Microsystems, Inc. (以下「Sun」とします) が開発した ONC+TM 分散サービスに含まれるネットワークネームサービスである NIS+ のためのプログラミングインタフェースについて説明します。
このマニュアルで説明するインタフェースは SunOSTM と SolarisTM とで共通であるため、ここでは SunOS と Solaris とは同じ意味で使用しています。Solaris 9 は Sun の分散コンピューティングオペレーティング環境です。これは、SunOS リリース 5.9 に ONC+ 技術、OpenWindowsTM、ToolTalkTM、DeskSetTM、OPEN LOOK、およびその他のユーティリティを統合したものです。
このマニュアルで説明するユーティリティ (オプションのユーティリティも含む)、ライブラリ関数は、すべて最新の Solaris 用のものです。Solaris は、Sun で開発したシステムソフトウェアです。旧バージョンの Solaris システムソフトウェア上でユーティリティやライブラリ関数をご使用になると、その動作が異なる場合があります。
このマニュアルは、単独のコンピュータ用アプリケーションをネットワークに対応する分散アプリケーションに変換するユーザー、または分散アプリケーションの開発と実装を行うユーザーを対象にしています。
このマニュアルでは、基本的なプログラミングの能力と、C 言語および UNIX オペレーティングシステムの使用経験を前提としています。ネットワークプログラミングの経験は、あれば役立ちますが、このマニュアルの使用においては必須ではありません。
第 1 章「ONC+ 入門」では、ONC+ 分散コンピューティングプラットフォームとサービスについて詳しく紹介します。
第 2 章「TI-RPC 入門」では TI-RPC を紹介します。
第 3 章「rpcgen プログラミングガイド」では、rpcgen ツールを使用してクライアントとサーバーのスタブを作成する方法を説明します。
第 4 章「RPC プログラマインタフェース」では、プログラミング環境での RPC の使用方法について説明します。
第 5 章「RPC プログラミングの高度なテクニック」では、RPC の下位レベルインタフェースを使用するさまざまなプログラミング方法について説明します。
第 6 章「TS-RPC から TI-RPC への移行について」では、TS-RPC アプリケーションを TI-RPC へ移行するための方法について説明します。
第 7 章「マルチスレッド RPC プログラミング」では、マルチスレッド RPC プログラミングについて説明します。ここでは、マルチスレッドプログラミングの Solaris 実装についての基本的な事柄は説明していません。
第 8 章「Sun RPC ライブラリの拡張」では、Sun RPC ライブラリに追加された新しい拡張機能について説明します。
第 9 章「NIS+ プログラミングガイド」では、NIS+ アプリケーションプログラミングインタフェースについて説明します。
付録 A 「XDR テクニカルノート」 では、データのフォーマットと型変換のために XDR を使用する方法を説明します。
付録 B 「RPC プロトコルおよび言語の仕様」 では、RPC 用プロトコルについて、構文と制限事項を説明します。
付録 C 「XDR プロトコル仕様」 では、XDR プロトコルと言語について説明します。
付録 D 「RPC コーディング例」 では、このマニュアルで使用するサンプルプログラムの一部について、全リストを収録します。
付録 E 「portmap ユーティリティ」 では、portmap ユーティリティとその機能を説明します。 旧バージョンの SunOS で作成したアプリケーションを現バージョンで使用するときに参照してください。
付録 F 「SAF を使用したポートモニタープログラムの作成」 では、アプリケーション開発の参考として、SAF を使用する呼び出し側プログラムの作成方法を示します。
NFS 分散コンピューティングファイルシステムについては、以下を参照してください。
『NFS: Network File System Version 3 Protocol Specification』Sun Microsystems, 1993。PostScript ファイルが anonymous ftp で入手できます。
ftp.uu.net:/networking/ip/nfs/NFS3.spec.ps.Z
bcm.tmc.edu:
/nfs/nfsv3.ps.Z
gatekeeper.dec.com:/pub/standards/nfs/nfsv3.ps.Z
1094 NFS: Network File System Protocol Specification Version 2
1813 NFS Version 3 Protocol Specification
1831 RPC: Remote Procedure Call Protocol Specification Version 2
1832 XDR: External Data Representation Standard
以下の一般図書と記事には、ネットワークプログラミングについての説明があります。
Brent Callaghan.NFS Illustrated, Addision-Wesley Professional Computing Series. ISBN: 0201325705
W. Richard Stevens. “Networking APIs: Sockets and XTI in UNIX Network Programming Volume 1. Englewood Cliffs, N.J. : Prentice Hall Software Series, 1990. UNIX ネットワークプログラミングについての説明とサンプルコードがあります。IPv4 と IPv6、ソケットと XTI、TCP と UDP、 raw ソケット、プログラミング技術、マルチキャスト、およびブロードキャストなどが取り上げられています。
John Bloomer. Power Programming with RPC Sebastopol, Calif.: O'Reilly & Associates, Inc, 1992.
docs.sun.comSM では、Sun が提供しているオンラインマニュアルを参照することができます。マニュアルのタイトルや特定の主題などをキーワードとして、検索を行うこともできます。URL は、http://docs.sun.com です。
このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。
表 P–1 表記上の規則
字体または記号 |
意味 |
例 |
---|---|---|
AaBbCc123 |
コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コード例を示します。 |
.login ファイルを編集します。 ls -a を使用してすべてのファイルを表示します。 system% |
AaBbCc123 |
ユーザーが入力する文字を、画面上のコンピュータ出力と区別して示します。 |
system% su password: |
AaBbCc123 |
変数を示します。実際に使用する特定の名前または値で置き換えます。 |
ファイルを削除するには、rm filename と入力します。 |
『 』 |
参照する書名を示します。 |
『コードマネージャ・ユーザーズガイド』を参照してください。 |
「 」 |
参照する章、節、ボタンやメニュー名、強調する単語を示します。 |
第 5 章「衝突の回避」を参照してください。 この操作ができるのは、「スーパーユーザー」だけです。 |
\ |
枠で囲まれたコード例で、テキストがページ行幅を超える場合に、継続を示します。 |
sun% grep `^#define \ XV_VERSION_STRING' |
コード例は次のように表示されます。
[ ] は省略可能な項目を示します。上記の例は、filename は省略してもよいことを示しています。
| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。
キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。
ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-D は Control キーを押したまま D キーを押すことを意味します。
このマニュアルでは、「IA」という用語は、Intel 32 ビットのプロセッサアーキテクチャを意味します。これには、Pentium、Pentium Pro、Pentium II、Pentium II Xeon、Celeron、Pentium III、Pentium III Xeon の各プロセッサ、および AMD、Cyrix が提供する互換マイクロプロセッサチップが含まれます。