Oracle® Solaris Cluster リファレンスマニュアル

印刷ビューの終了

更新: 2014 年 7 月、E51742-01
 
 

scds_initialize(3HA)

名前

scds_initialize - DSDL 環境の割り当てと初期化

形式

cc [flags…] –I /usr/cluster/include file –L /usr/cluster/lib –l dsdev#include <rgm/libdsdev.h>
     scha_err_t scds_initialize(scds_handle_t *handleint argc, char *argv[]);

説明

scds_initialize() 関数は、DSDL 環境を初期化します。個々のプログラムまたは DSDL 関数を使用する障害モニターの開始時に、必ずこの関数を呼び出します。

scds_initialize() 関数は次のとおりです。

  • フレームワークが呼び出し元プログラムに渡すコマンド行引数 (argc および argv[]) で、scds_initialize() にも渡す必要があるコマンド行引数のチェックと処理。呼び出し元プログラムは、コマンド行引数の処理以外を行う必要はありません。例 を参照してください。

  • DSDL 内のほかの関数に必要な情報を使って、内部データ構造の初期設定を行います。リソース、リソースタイプ、リソースグループのプロパティー値を取得し、これらのデータ構造に格納します。argv[] 引数を使用してコマンド行で指定するプロパティーの値は、RGM から取得される値より優先されます。つまり、コマンド行引数 (argv[]) で指定したプロパティーの新しい値がデータサービスメソッドに渡されると、この関数が該当するプロパティー値を取得し、この新しい値を返します。それ以外の場合は、RGM から取得した既存の値を返します。

  • データサービス障害モニタリング情報を初期化します。

  • ロギング環境を初期化します。すべての syslog メッセージには、次の接頭辞がつきます。SC[<resourceTypeName>,< resourceGroupName>,<resourceName>,< methodName>

    syslog にメッセージを送信する関数は、scha_cluster_getlogfacility() から返されるデータを使用します。これらのメッセージは、適切なログファイルとユーザーに転送することができます。詳細は、syslog.conf(4) を参照してください。

  • 障害モニターの検証設定の妥当性を検査します。Retry_intervalThorough_probe_interval * Retry_count 以上かどうかを確認し、そうでない場合は syslog に適切なメッセージを送信します。Retry_interval が Thorough_probe_interval * Retry_count 以上でない場合は、syslog に適切なメッセージを送信します。この障害モニタープローブ設定の妥当性検査で、VALIDATE メソッド内で scds_initialize() および scds_close() を呼び出すことができます。VALIDATE メソッド内でその他の DSDL 関数を呼び出す必要はありません。

scds_initialize() の実行に成功した場合、呼び出し元プログラムを終了する前に scds_close() を呼び出す必要があります。

scds_initialize() の実行に失敗した場合、クリーンアップを行うために scds_close() を呼び出すことはできません。また、scds_initialize() の実行に失敗した場合、その他の DSDL 関数を呼び出してはいけません。それ以外の場合、SCHA_ERR_INVAL または NULL 値を返します。その代わりに、非ゼロの引数を指定して exit() を呼び出してください。

パラメータ

次のパラメータがサポートされます。

handle

scds_initialize() によって初期化され、その他の DSDL 関数によって使用されるハンドルです。

argc

呼び出し元プログラムに渡される引数の数です。

argv

呼び出し元プログラムに渡される引数配列へのポインタです。

エラー

SCHA_ERR_NOERR

関数の実行に成功。

その他のエラーコードについては、scha_calls(3HA) を参照してください。

使用例 1 scds_initialize() の使用法
int main(int argc, char *argv[]){
 scds_handle_t handle;

 if (scds_initialize(&handle, argc, argv) !=
 SCHA_ERR_NOERR)
 exit(1);
 ...
 /* data service code */
...
 scds_close(&handle);
}

ファイル

/usr/cluster/include/rgm/libdsdev.h

インクルードファイル

/usr/cluster/lib/libdsdev.so

ライブラリ

属性

次の属性については、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
ha-cluster/developer/api
インタフェースの安定性
発展中

関連項目

scds_close(3HA), scds_property_functions(3HA), scha_calls(3HA), scha_cluster_getlogfacility(3HA ), syslog.conf(4), r_properties(5)