cc [flags…] –I /usr/cluster/include file –L /usr/cluster/lib
     –l dsdev#include <rgm/libdsdev.h>
     scha_err_t scds_get_ext_property(scds_handle_t handle, 
     const char *property_name, scha_prop_type_t property_type, 
     scha_extprop_value_t **property_value);
scds_get_ext_property() 関数は、指定の拡張プロパティーの値を取得します。
まず、メソッド引数リスト(argv[]。scds_initialize() によって解析される) 内に指定されたプロパティーリストからプロパティー名を検索します。プロパティー名がメソッド引数リスト内に見つからない場合は、Oracle Solaris Cluster API を使って検索を行ないます。scha_calls(3HA) を参照してください。
正常に完了すると、プロパティーの値は scha_extprop_value_t 構造の共用体で適切な変数に配置され、この構造へのポインタが property_value の呼び出し元へ戻されます。
ユーザーは、scds_free_ext_property() を使用してメモリーを解放しなくてはなりません。
データ型 scha_prop_type_t および scha_extprop_value_t に関する情報は、scha_calls(3HA) 内および scha_types.h ヘッダーファイル内にあります。
DSDL は、より頻繁に使用されるリソース拡張プロパティーの取得に便利な関数を提供します。scds_property_functions(3HA) のマニュアルページを参照してください。
次のパラメータがサポートされます。
scds_initialize(3HA) から返されるハンドルです。
取得されるプロパティー名です。
プロパティー値の型です。有効な型は、scha_calls(3HA) および property_attributes(5) で定義されています。
プロパティー値のポインタです。
scds_get_ext_property() 関数の戻り値は次のとおりです。
関数の実行に成功。
関数の実行に失敗。
RTR ファイルは指定のプロパティーを定義しない。
関数の実行に成功。
関数の実行に失敗。障害コードの意味については、scha_calls(3HA) を参照してください。
#include <scha_types.h>
#include <libdsdev.h>
#define INT_EXT_PROP “Int_extension_property”
...
int  retCode;
scha_extprop_value_t *intExtProp;
int retrievedValue;
...
    retCode = scds_get_ext_property(handle,
        INT_EXT_PROP, SCHA_PTYPE_INT, &intExtProp);
    if (retCode != SCHA_ERR_NOERR) {
        scds_syslog(LOG_ERR,
            "Failed to retrieve the extension property %s: %s.",
            INT_EXT_PROP, scds_error_string(retCode));
       ...
    } else {
        retrievedValue = intExtProp->val.val_int;
        ...
        scds_free_ext_property(intExtProp);
        ...
    }
   ...
インクルードファイル
ライブラリ
次の属性については、attributes(5) を参照してください。
  | 
scds_free_ext_property(3HA), scds_initialize(3HA), scds_property_functions(3HA), scha_calls(3HA), rt_reg(4), attributes(5), property_attributes(5)
この関数で取得できるのは、RTR ファイル内に定義された拡張プロパティー値だけです。rt_reg(4) を参照してください。