ONC+ 開発ガイド

はじめに

このマニュアルでは、リモートプロシージャ呼び出し (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 分散コンピューティングファイルシステムについては、以下を参照してください。

以下の一般図書と記事には、ネットワークプログラミングについての説明があります。

Sun のオンラインマニュアル

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-DControl キーを押したまま D キーを押すことを意味します。

一般規則