Documentation Home
> ONC+ 開発ガイド
ONC+ 開発ガイド
Book Information
はじめに
パート I 入門
第 1 章 ONC+ 入門
ONC+ の概要
TI-RPC
XDR
NFS
NIS+
パート II 遠隔手続き呼び出し (RPC)
第 2 章 TI-RPC 入門
TI-RPC の概要
TI-RPC の問題
パラメータの引き渡し
結合
トランスポートプロトコル
呼び出しセマンティクス
データ表現
プログラム、バージョン、手続き番号
インタフェースルーチンの概要
単純インタフェースのルーチン
標準インタフェースのルーチン
トップレベルのルーチン
中間レベルのインタフェース
エキスパートレベルのインタフェース
ボトムレベルのインタフェース
ネットワーク選択
トランスポート選択
名前からアドレスへの変換
アドレスルックアップサービス
アドレス登録
RPC 情報の取り出し
第 3 章 rpcgen プログラミングガイド
rpcgen の概要
SunOS 5.X の機能
テンプレートの生成
C 形式モード
マルチスレッド対応コード
マルチスレッド自動モード
ライブラリの選択
ANSI C 準拠のコード
rpcgen チュートリアル
ローカル手続きを遠隔手続きに変換
複雑なデータ構造の引き渡し
前処理命令
cpp 命令
コンパイル時に指定するフラグ
クライアント側とサーバー側のテンプレート
C 形式モード
マルチスレッド対応のコード
自動マルチスレッド対応モード
TI-RPC または TS-RPC のライブラリ選択
ANSI C に準拠したコードの生成
xdr_inline() カウント
rpcgen プログラミングテクニック
ネットワークタイプ / トランスポート選択
コマンド行の定義文
ブロードキャスト呼び出しへのサーバーからの応答
ポートモニタのサポート
タイムアウト値の変更
クライアントの認証
ディスパッチテーブル
rpcgen の 64 ビットの場合の考慮事項
rpcgen の IPv6 の場合の考慮事項
アプリケーションのデバッグ
第 4 章 RPC プログラマインタフェース
マルチスレッド対応の RPC
単純インタフェース
クライアント側
サーバー側
ユーザーが作成する登録ルーチン
任意のデータ型の引き渡し
標準インタフェース
トップレベルのインタフェース
クライアント側
中間レベルのインタフェース
クライアント側
サーバー側
エキスパートレベルのインタフェース
クライアント側
サーバー側
ボトムレベルのインタフェース
クライアント側
サーバー側
サーバーのキャッシュ
下位レベルのデータ構造
下位レベルの Raw RPC を使用したプログラムテスト
RPC プログラミングの高度なテクニック
サーバー側の poll( )
ブロードキャスト RPC
バッチ処理
バッチ処理のパフォーマンス
認証
AUTH_SYS タイプの認証
AUTH_DES タイプの認証
AUTH_KERB 認証形式
時刻の同期化
周知の名前
暗号化
RPCSEC_GSS を使用した認証
RPCSEC_GSS API
RPCSEC_GSS ルーチン
コンテキストの作成
値の変更とコンテキストの破棄
主体名
サーバー主体名の設定
クライアント主体名の作成
主体名の解放
サーバーで資格を受信する
Cookies
コールバック
最大データサイズ
その他の関数
関連ファイル
gsscred テーブル
/etc/gss/qop と /etc/gss/mech
ポートモニタの使用
inetd の使用
リスナの使用
サーバーのバージョン
クライアントのバージョン
一時的な RPC プログラム番号の使用
マルチスレッド RPC プログラミング
マルチスレッドクライアントの概要
マルチスレッドサーバーの概要
サービス・トランスポート・ハンドルの共有
マルチスレッド自動モード
マルチスレッド・ユーザー・モード
ユーザーモードでのライブラリリソースの解放
接続型トランスポート
XDR によるメモリー割り当て
TS-RPC から TI-RPC への移行について
アプリケーションの移行
移行の必要性
RPC の場合の IPv6 の考慮事項
特殊事項
libnsl ライブラリ
旧インタフェース
名前 - アドレス変換機能
TI-RPC と TS-RPC の相違点
関数の互換性のリスト
クライアントハンドルの作成
サービスの作成と廃棄
サービスの登録と登録削除
SunOS 4.x との互換性呼び出し
ブロードキャスト
アドレス管理
認証
その他の関数
旧バージョンとの比較
パート III NIS+
第 5 章 NIS+ プログラミングガイド
NIS+ の概要
ドメイン
サーバー
テーブル
NIS+ のセキュリティ
ネームサービススイッチ
NIS+ の管理コマンド
NIS+ の API
NIS+ サンプルプログラム
サポートされないマクロの使用
サンプルプログラムで使用する関数
プログラムのコンパイル
付録 A XDR テクニカルノート
XDR の概要
データの標準形式
XDR ライブラリ
XDR ライブラリのプリミティブ
XDR ルーチンで必要なメモリー
整数フィルタ
浮動小数点フィルタ
列挙型フィルタ
データなしルーチン
合成データ型フィルタ
文字列
バイト配列
配列
配列変換サンプルプログラム 1
配列変換サンプルプログラム 2
配列変換サンプルプログラム 3
隠されたデータ
固定長配列
識別型の共用体
識別型の共用体サンプルプログラム
練習
ポインタ
練習
ポインタのサンプルプログラム
ポインタセマンティクス
フィルタ以外のプリミティブ
処理内容
ストリームへのアクセス
標準入出力ストリーム
メモリーストリーム
レコード (TCP/IP) ストリーム
XDR ストリームの作成
XDR オブジェクト
高度な機能
リンクリスト
付録 B RPC プロトコルおよび言語の仕様
プロトコルの概要
RPC モデル
トランスポートとセマンティクス
結合と相互認識の独立性
プログラムと手続き番号
プログラム番号の割り当て
プログラム番号の登録
RPC プロトコルのその他の使用方法
バッチ
ブロードキャスト RPC
RPC メッセージプロトコル
レコードマーク標準
認証プロトコル
AUTH_NONE
AUTH_SYS
AUTH_SHORT タイプのベリファイア
AUTH_DES タイプの認証
AUTH_DES 認証のベリファイア
ニックネームとクロック同期
DES 認証プロトコル (XDR 言語で記述)
Diffie-Hellman の暗号化手法
AUTH_KERB 認証プロトコル
NFS マウント例
KERB 認証プロトコル (XDR 言語で記述)
RPC 言語の仕様
RPC 言語で記述されたサービスの例
RPCL 構文
列挙法
定数
型定義
宣言
単純宣言
固定長配列宣言
可変長配列宣言
ポインタ宣言
構造体
共用体
プログラム
RPC 言語規則の例外
C 形式 モード
ブール値
文字列
隠されたデータ
Voids
rpcbind プロトコル
rpcbind の操作
RPCBPROC_NULL
RPCBPROC_SET
RPCBPROC_UNSET
RPCBPROC_GETADDR
RPCBPROC_DUMP
RPCBPROC_CALLIT
RPCBPROC_GETTIME
RPCBPROC_UADDR2TADDR
RPCBPROC_TADDR2UADDR
rpcbind のバージョン 4
RPCBPROC_BCAST
RPCBPROC_GETVERSADDR
RPCBPROC_INDIRECT
RPCBPROC_GETADDRLIST
RPCBPROC_GETSTAT
参考文献
付録 C XDR プロトコル仕様
XDR プロトコルの概要
グラフィックボックス表現
基本ブロックサイズ
XDR のデータ型宣言
符号付き整数
説明
宣言
符号化
符号なし整数
説明
宣言
符号化
列挙型
説明
宣言
符号化
ブール型
説明
宣言
符号化
hyper 整数と符号なし hyper 整数
説明
宣言
符号化
浮動小数点
説明
宣言
符号化
4 倍精度浮動小数点
説明
宣言
符号化
固定長の隠されたデータ
説明
宣言
符号化
可変長の隠されたデータ
説明
宣言
符号化
カウント付きバイト文字列
説明
宣言
符号化
固定長配列
宣言
符号化
可変長配列
説明
宣言
符号化
構造体
説明
宣言
符号化
識別型の共用体
説明
宣言
符号化
Void
説明
宣言
定数
説明
宣言
Typedef
オプションデータ
XDR 言語仕様
表記方法
字句解析ノート
構文ノート
XDR データ記述
RPC 言語リファレンス
列挙型
定数
型定義
宣言
単純な宣言
固定長配列宣言
可変長配列宣言
ポインタ宣言
構造体
共用体
プログラム
特殊な場合
C 形式モード
ブール型
文字列
隠されたデータ
Voids
付録 D RPC サンプルプログラム
ディレクトリリストプログラムとその補助ルーチン (rpcgen)
時刻サーバープログラム (rpcgen)
2 つの数値の合計を求めるプログラム (rpcgen)
スプレイパケットプログラム (rpcgen)
メッセージ表示プログラムとその遠隔バージョン
バッチコードの例
バッチを使用しない例
付録 E portmap ユーティリティ
システム登録の概要
portmap プロトコル
portmap の操作
PMAPPROC_NULL
PMAPPROC_SET
PMAPPROC_UNSET
PMAPPROC_GETPORT
PMAPPROC_DUMP
PMAPPROC_CALLIT
参考文献
付録 F SAF を使用したポートモニタプログラムの作成
SAF の概要
SAC の概要
ポートモニタの基本機能
ポート管理
アクティビティの監視
ポートモニタのその他の機能
システムへのアクセス制限
utmpx エントリの作成
ポートモニタのプロセス ID とファイルのロック
サービス環境の変更: doconfig() の実行
ポートモニタの終了
SAF ファイル
ポートモニタの管理ファイル
サービスごとの構成ファイル
ポートモニタのプライベートファイル
SAC とポートモニタのインタフェース
メッセージ形式
sac メッセージ
ポートモニタメッセージ
メッセージクラス
ポートモニタの管理インタフェース
SAC の管理ファイル _sactab
ポートモニタの管理ファイル _pmtab
SAC 管理コマンド sacadm
ポートモニタの管理コマンド pmadm
モニタ固有の管理コマンド
ポートモニタとサービスのインタフェース
サービスの新規呼び出し
実行中のサービスの呼び出し
ポートモニタに必要な条件
起動時の環境
重要なファイル
ポートモニタの実行すべきタスク
構成ファイルとスクリプト
構成スクリプトのインタプリタ: doconfig()
システムごとの構成ファイル
ポートモニタごとの構成ファイル
サービスごとの構成ファイル
構成スクリプト言語
構成スクリプトの印刷、インストール、置き換え
システムごとの構成スクリプト
システムごとの構成スクリプトの例
ポートモニタごとの構成スクリプト
ポートモニタごとの構成スクリプトの例
サービスごとの構成スクリプト
サービスごとの構成スクリプトの例
ポートモニタのサンプルプログラム
論理ダイアグラムとディレクトリ構造
/etc/saf/_sysconfig
/etc/saf/_sactab
/etc/saf/pmtag
/etc/saf/pmtag/_config
/etc/saf/pmtag/_pmtab
/etc/saf/pmtag/svctag
/etc/saf/pmtag/_pid
/etc/saf/pmtag/_pmpipe
/var/saf/_log
/var/saf/pmtag
用語集
索引
数字・記号
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
X
あ
い
え
お
か
き
く
け
こ
さ
し
す
せ
そ
た
ち
つ
て
と
な
に
ね
は
ひ
ふ
へ
ほ
ま
め
も
ゆ
よ
ら
り
れ
ろ
© 2010, Oracle Corporation and/or its affiliates