Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Perl-Schnittstelle für libexacct

Mit der Perl-Schnittstelle können Sie Perl-Skripten erstellen, die vom exacct-Framework erstellte Accounting-Dateien lesen können. Auch lassen sich Perl-Skripten zum Schreiben von exacct-Dateien erstellen.

Die Schnittstelle entspricht in der Funktion der zu Grunde liegenden C API. Wenn möglich, werden die von der zu Grunde liegenden C API erfassten Daten als Perl-Datentypen dargestellt. Diese Funktion vereinfacht den Datenzugriff und macht das Packen und Entpacken des Puffers überflüssig. Darüber hinaus wird die gesamte Speicherverwaltung von der Perl-Bibliothek übernommen.

Die einzelnen Projekt-, Aufgabe- und exacct-bezogenen Funktionen werden in Gruppen aufgeteilt. Jede Funktionsgruppe befindet sich in einem separaten Perl-Modul. Jedes Modul beginnt mit dem standardmäßigen Sun-Präfix Sun::Solaris:: für Perl-Pakete. Alle von der Perl-Bibliothek exacct bereitgestellten Klassen befinden sich im Sun::Solaris::Exacct-Modul.

Die zu Grunde liegende libexacct(3LIB)-Bibliothek stellt die Vorgänge für Dateien im exacct-Format, Katalog-Tags und exacct-Objekte bereit. exacct-Objekte sind in zwei Typen unterteilt:

In der folgenden Tabelle werden die einzelnen Module zusammenfassend beschrieben.

Modul (darf keine Leerzeichen enthalten) 

Beschreibung 

Weitere Informationen 

Sun::Solaris::Project

Dieses Modul bietet Funktionen für den Zugriff auf die Funktionen zur Projektbearbeitung getprojid(2), endprojent(3PROJECT) , fgetprojent(3PROJECT), getdefaultproj(3PROJECT), getprojbyid(3PROJECT), getprojbyname(3PROJECT), getprojent(3PROJECT), getprojidbyname(3PROJECT), inproj(3PROJECT), project_walk(3PROJECT), setproject(3PROJECT) und setprojent(3PROJECT).

Project(3PERL)

Sun::Solaris::Task

Dieses Modul bietet Funktionen für den Zugriff auf die Funktionen zur Aufgabenbearbeitung gettaskid(2) und settaskid(2).

Task(3PERL)

Sun::Solaris::Exacct

Dieses Modul ist das übergeordnete exacct-Modul. Dieses Modul bietet Funktionen für den Zugriff auf die exacct-bezogenen Systemaufrufe getacct(2), putacct(2) und wracct(2). Dieses Modul bietet darüber hinaus Funktionen zum Zugriff auf die libexacct(3LIB)-Bibliotheksfunktion ea_error(3EXACCT). Weiterhin werden Konstanten für alle exacct EO_*, EW_*, EXR_*, P_*, und TASK_*-Makros in diesem Modul bereitgestellt.

Exacct(3PERL)

Sun::Solaris::Exacct:: Catalog

Dieses Modul enthält die objektorientierten Methoden für den Zugriff auf die Bitfelder in einem exacct-Katalog-Tag. Darüber hinaus bietet dieses Modul Zugriff auf die Konstanten der Makros EXC_*, EXD_* und EXD_*.

Exacct::Catalog(3PERL)

Sun::Solaris::Exacct:: File

Dieses Modul bietet enthält objektorientierten Methoden für den Zugriff auf die Funktionen der libexacct-Accounting-Datei ea_open(3EXACCT), ea_close(3EXACCT), ea_get_creator(3EXACCT), ea_get_hostname(3EXACCT), ea_next_object(3EXACCT), ea_previous_object(3EXACCT) und ea_write_object(3EXACCT).

Exacct::File(3PERL)

Sun::Solaris::Exacct:: Object

Dieses Modul enthält die objektorientierten Methoden für den Zugriff auf ein einzelnes Objekt einer exacct-Accounting-Datei. Ein exacct-Objekt wird als ein Verweis dargestellt, der in der entsprechenden Unterklasse Sun::Solaris::Exacct::Object enthalten ist. Das Modul ist weiter in die Objekttypen „Item“ und „Group“ unterteilt. Auf dieser Ebene gibt es Methoden für den Zugriff auf die Funktionen ea_match_object_catalog(3EXACCT) und ea_attach_to_object(3EXACCT).

Exacct::Object(3PERL)

Sun::Solaris::Exacct:: Object::Item

Dieses Modul enthält die objektorientierten Methoden für den Zugriff auf ein einzelnes Element in einer exacct-Accounting-Datei. Objekte dieses Typs erben von Sun::Solaris::Exacct::Object.

Exacct::Object::Item(3PERL)

Sun::Solaris::Exacct:: Object::Group

Dieses Modul enthält die objektorientierten Methoden für den Zugriff auf eine einzelne Gruppe einer exacct-Accounting-Datei. Objekte dieses Typs erben von Sun::Solaris::Exacct::Object. Diese Objekte bieten Zugriff auf die Funktion ea_attach_to_group(3EXACCT) Die in der Gruppe enthaltenen Elemente werden als ein Perl-Array dargestellt.

Exacct::Object::Group(3PERL)

Sun::Solaris::Kstat

Dieses Modul enthält eine an Perl gebundene Hash-Schnittstelle für die kstat-Funktion. Ein in Perl geschriebenes Nutzungsbeispiel dieses Moduls finden Sie in /bin/kstat.

Kstat(3PERL)

Beispiele, in denen die Verwendung der in der obigen Tabelle beschriebenen Module gezeigt wird, finden Sie unter Verwenden der Perl-Schnittstelle für libexacct.