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:
Elemente, die Einzeldatenwerte darstellen (Skalare)
Gruppen, die Elementlisten darstellen
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.