Perl インタフェースによって、exacct フレームワークで作成されたアカウンティングファイルを読み取ることのできる、Perl スクリプトを作成できます。exacct ファイルを作成する Perl スクリプトも作成できます。
このインタフェースの機能は、基礎となる C 言語の API と同様です。可能な場合は、基礎となる C 言語の API から取得したデータを Perl データタイプとして表示します。この機能によって、データアクセスが簡単になり、バッファーのパック/アンパック操作が不要になります。さらに、あらゆるメモリー管理が Perl ライブラリによって実行されます。
各種のプロジェクト、タスク、exacct 関連機能はいくつかのグループに分けられます。各機能グループは、別々の Perl モジュールに配置されます。各モジュールは、Sun の標準である Sun::Solaris:: Perl パッケージ接頭辞で始まります。Perl exacct ライブラリが提供するクラスはすべて、Sun::Solaris::Exacct モジュールの下にあります。
配下の libexacct(3LIB) ライブラリは、exacct 形式のファイル、カタログタグ、および exacct オブジェクトに対する操作を実行します。exacct オブジェクトは、次の 2 つのタイプに分けられます。
アイテム (単一データ値 [スカラー])
グループ (項目のリスト)
次の表に各モジュールの概要を示します。
モジュール (空白文字は使用不可) |
説明 |
詳細 |
---|---|---|
Sun::Solaris::Project |
このモジュールは、次のプロジェクト操作関数にアクセスする機能を提供します。getprojid(2)、endprojent(3PROJECT)、fgetprojent(3PROJECT)、getdefaultproj(3PROJECT)、getprojbyid(3PROJECT)、getprojbyname(3PROJECT)、getprojent(3PROJECT)、getprojidbyname(3PROJECT)、inproj(3PROJECT)、project_walk(3PROJECT)、setproject(3PROJECT)、および setprojent(3PROJECT) です。 |
Project(3PERL) |
Sun::Solaris::Task |
このモジュールは、タスク操作関数である gettaskid(2) と settaskid(2) にアクセスする機能を提供します。 |
Task(3PERL) |
Sun::Solaris::Exacct |
最上位レベルの exacct モジュール。このモジュールは、exacct 関連のシステムコールである getacct(2)、putacct(2)、および wracct(2) にアクセスする機能を提供します。このモジュールは、libexacct(3LIB) ライブラリ関数である ea_error(3EXACCT) にアクセスする機能も提供します。exacct EO_*、EW_*、EXR_*、P_*、および TASK_* マクロのすべてに対応する定数も、このモジュールで提供されます。 |
Exacct(3PERL) |
Sun::Solaris::Exacct:: Catalog |
このモジュールは、exacct カタログタグ内のビットフィールドにアクセスする、オブジェクト指向型メソッドを提供します。このモジュールによって、EXC_*、EXD_*、および EXD_* マクロの定数にもアクセスできます。 |
Exacct::Catalog(3PERL) |
Sun::Solaris::Exacct:: File |
このモジュールは、次の libexacct アカウンティングファイル関数にアクセスする、オブジェクト指向型メソッドを提供します。ea_open(3EXACCT)、ea_close(3EXACCT)、ea_get_creator(3EXACCT)、ea_get_hostname(3EXACCT)、ea_next_object(3EXACCT)、ea_previous_object(3EXACCT)、および ea_write_object(3EXACCT) です。 |
Exacct::File(3PERL) |
Sun::Solaris::Exacct:: Object |
このモジュールは、個々の exacct アカウンティングファイルオブジェクトにアクセスする、オブジェクト指向型メソッドを提供します。exacct オブジェクトは、該当する Sun::Solaris::Exacct::Object サブクラスに与えられた、隠された参照として表されます。このモジュールはさらに、アイテムかグループかのオブジェクトタイプに分けられます。このレベルで、ea_match_object_catalog(3EXACCT) および ea_attach_to_object(3EXACCT) 関数にアクセスするメソッドがあります。 |
Exacct::Object(3PERL) |
Sun::Solaris::Exacct:: Object::Item |
このモジュールは、独立した exacct アカウンティングファイルアイテムにアクセスする、オブジェクト指向型メソッドを提供します。このタイプのオブジェクトは、Sun::Solaris::Exacct::Object から継承します。 |
Exacct::Object::Item(3PERL) |
Sun::Solaris::Exacct:: Object::Group |
このモジュールは、独立した exacct アカウンティングファイルグループにアクセスする、オブジェクト指向型メソッドを提供します。このタイプのオブジェクトは、Sun::Solaris::Exacct::Object から継承します。これらのオブジェクトによって、ea_attach_to_group(3EXACCT) 関数にアクセスできます。グループ内のアイテムは Perl 配列として表されます。 |
Exacct::Object::Group(3PERL) |
Sun::Solaris::Kstat |
このモジュールは、kstat 機能に対する Perl のタイハッシュインタフェースを提供します。このモジュールの使用例については、Perl で記述された /bin/kstat を参照してください。 |
Kstat(3PERL) |
表で説明したモジュールの使用例については、「libexacct に対する Perl インタフェースの使用」を参照してください。