JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle VM Server for SPARC 2.1 リファレンスマニュアル     Oracle VM Server for SPARC (日本語)
search filter icon
search icon

ドキュメントの情報

システム管理

拡張ライブラリ関数

v12n(3EXT)

ライブラリインタフェースおよびヘッダー

v12n

, v12n_capabilities

, v12n_domain_roles

, v12n_domain_name

, v12n_domain_uuid

, v12n_ctrl_domain

, v12n_chassis_serialno

- 仮想化環境のドメインパラメータを返します。

形式

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() 関数は、現在のドメインの仮想化機能マスクを返します。仮想化機能ビットマスクは次の値で構成されます。

V12N_CAP_SUPPORTED

仮想化がこのドメインでサポートされています。

V12N_CAP_ENABLED

仮想化がこのドメインで有効になっています。

V12N_CAP_IMPL_LDOMS

Logical Domains はサポートされている仮想化実装です。

v12n_domain_roles() 関数は仮想化ドメイン役割マスクを返します。仮想化ドメイン役割マスクは次の値で構成されます。

V12N_ROLE_CONTROL

仮想化実装が Logical Domains であり、このビットが 1 の場合、現在のドメインが制御ドメインです。このビットが 0 の場合、現在のドメインがゲストドメインです。

V12N_ROLE_IO

現在のドメインが I/O ドメインです。

V12N_ROLE_SERVICE

現在のドメインがサービスドメインです。

V12N_ROLE_ROOT

現在のドメインがルート 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() 関数は失敗します。

EPERM

呼び出し元のプロセスが特権ユーザー以外の ID を持っています。

ENOTSUP

仮想化はこのドメインでサポートされていないか、有効になっていません。

EFAULT

buf は不正なアドレスを指しています。

ENOENT

sun4v マシン記述にアクセスできないか、uuid ノードがありません。

次の場合に v12n_domain_uuid() 関数は失敗します。

EPERM

呼び出し元のプロセスが特権ユーザー以外の ID を持っています。

ENOTSUP

仮想化はこのドメインでサポートされていないか、有効になっていません。

EFAULT

buf は不正なアドレスを指しています。

ENOENT

sun4v マシン記述にアクセスできないか、uuid ノードがありません。

次の場合に v12n_ctrl_domain() 関数は失敗します。

EPERM

呼び出し元のプロセスが特権ユーザー以外の ID を持っています。

ENOTSUP

仮想化はこのドメインでサポートされていないか、有効になっていません。

EFAULT

buf は不正なアドレスを指しています。

ETIME

制御ドメイン上のドメインサービスがタイムアウト値以内に応答しませんでした。

次の場合に v12n_chassis_serialno() 関数は失敗します。

EPERM

呼び出し元のプロセスが特権ユーザー以外の ID を持っています。

ENOTSUP

仮想化はこのドメインでサポートされていないか、有効になっていません。

EFAULT

buf は不正なアドレスを指しています。

ETIME

制御ドメイン上のドメインサービスがタイムアウト値以内に応答しませんでした。

属性

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

属性型
属性値
インタフェースの安定性
「確実」
MT-レベル
MT-安全

関連項目

virtinfo(1M)、libuuid(3LIB)libv12n(3LIB)、attributes(5)