- 仮想化環境のドメインパラメータを返します。
cc [ flag... ] file... -lv12n [ library... ] #include <libv12n.h> int v12n_capabilities();
int v12n_domain_roles();
int v12n_domain_uuid(uuid_t uuid);
size_t v12n_domain_name(char *buf, size_t buflen);
size_t v12n_ctrl_domain(char *buf, size_t buflen);
size_t v12n_chassis_serialno(char *buf, size_t buflen);
v12n_capabilities() 関数は、現在のドメインの仮想化機能マスクを返します。仮想化機能ビットマスクは次の値で構成されます。
仮想化がこのドメインでサポートされています。
仮想化がこのドメインで有効になっています。
Logical Domains はサポートされている仮想化実装です。
v12n_domain_roles() 関数は仮想化ドメイン役割マスクを返します。仮想化ドメイン役割マスクは次の値で構成されます。
仮想化実装が Logical Domains であり、このビットが 1 の場合、現在のドメインが制御ドメインです。このビットが 0 の場合、現在のドメインがゲストドメインです。
現在のドメインが I/O ドメインです。
現在のドメインがサービスドメインです。
現在のドメインがルート I/O ドメインです。
v12n_domain_uuid() 関数は、uuid 引数の現在の仮想化ドメインの汎用一意識別子 (Universally Unique Identifier、UUID) を格納します。libuuid(3LIB) マニュアルページを参照してください。
v12n_domain_name() 関数は、buf によって指定された場所にある現在の仮想化ドメインの名前を格納します。buflen は、バッファーのサイズ (バイト単位) を指定します。完全な NULL で終わる名前を保持するにはバッファーが小さすぎる場合は、名前の最初の buflen バイトがバッファーに格納されます。V12N_NAME_MAX サイズのバッファーは、ドメイン名を保持するには十分です。buf が NULL であるか、buflen が 0 である場合、名前はバッファーにコピーされません。
v12n_ctrl_domain() 関数は、buf により指定された場所にある現在のドメインの制御ドメインまたは dom0 ネットワークノード名を格納します。ドメインの制御ドメインは、ドメインの移行時には流動的になります。ドメインが移行の処理中だった場合、この関数により返される情報は失効している可能性があります。buflen は、バッファーのサイズ (バイト単位) を指定します。完全な NULL で終わる名前を保持するにはバッファーが小さすぎる場合は、名前の最初の buflen バイトがバッファーに格納されます。V12N_NAME_MAX サイズのバッファーは、制御ドメインノード名の文字列を保持するには十分です。buf が NULL であるか、buflen が 0 である場合、名前はバッファーにコピーされません。
v12n_chassis_serialno() 関数は、現在のドメインが buf により指定された場所で実行されているプラットフォームのシャーシのシリアル番号を格納します。シャーシのシリアル番号は、ドメインの移行時には流動的になります。ドメインが移行の処理中だった場合、この関数により返される情報は失効している可能性があります。buflen は、バッファーのサイズ (バイト単位) を指定します。完全な NULL で終わる名前を保持するにはバッファーが小さすぎる場合は、名前の最初の buflen バイトがバッファーに格納されます。V12N_NAME_MAX サイズのバッファーは、シャーシのシリアル番号の文字列を保持するには十分です。buf が NULL であるか、buflen が 0 である場合、名前はバッファーにコピーされません。
正常に完了した場合、v12n_capabilties() および v12n_domain_roles() 関数は負でないビットマスクを返します。そうでない場合は、v12n_domain_roles() 関数が -1 を返し、エラーを示す errno を設定します。
正常に完了した場合、v12n_domain_uuid() 関数が 0 を返します。そうでない場合は、v12n_domain_uuid() 関数が -1 を返し、エラーを示す errno を設定します。
正常に完了した場合、v12n_domain_name()、v12n_ctrl_domain()、および v12n_chassis_serialno() 関数が完全な終端処理されていない文字列を保持するために必要なバッファーサイズを返します。そうでない場合は、これらの関数が -1 を返し、エラーを示す errno を設定します。
v12n_domain_roles() 関数は、呼び出し元のプロセスが特権ユーザー以外の ID を持つ場合には EPERM で失敗します。
次の場合に v12n_domain_name() 関数は失敗します。
呼び出し元のプロセスが特権ユーザー以外の ID を持っています。
仮想化はこのドメインでサポートされていないか、有効になっていません。
buf は不正なアドレスを指しています。
sun4v マシン記述にアクセスできないか、uuid ノードがありません。
次の場合に v12n_domain_uuid() 関数は失敗します。
呼び出し元のプロセスが特権ユーザー以外の ID を持っています。
仮想化はこのドメインでサポートされていないか、有効になっていません。
buf は不正なアドレスを指しています。
sun4v マシン記述にアクセスできないか、uuid ノードがありません。
次の場合に v12n_ctrl_domain() 関数は失敗します。
呼び出し元のプロセスが特権ユーザー以外の ID を持っています。
仮想化はこのドメインでサポートされていないか、有効になっていません。
buf は不正なアドレスを指しています。
制御ドメイン上のドメインサービスがタイムアウト値以内に応答しませんでした。
次の場合に v12n_chassis_serialno() 関数は失敗します。
呼び出し元のプロセスが特権ユーザー以外の ID を持っています。
仮想化はこのドメインでサポートされていないか、有効になっていません。
buf は不正なアドレスを指しています。
制御ドメイン上のドメインサービスがタイムアウト値以内に応答しませんでした。
次の属性の説明については、attributes(5) を参照してください。
|
virtinfo(1M)、libuuid(3LIB)、libv12n(3LIB)、attributes(5)