Interfaz Perl para libexacct
La interfaz Perl permite crear secuencias de comandos Perl que lean los archivos de cuentas producidos por la estructura exacct. También puede crear secuencias de comandos Perl que escriban archivos exacct.
La interfaz es funcionalmente equivalente a la API C subyacente. Cuando sea posible, los datos obtenidos de la API C subyacente se presentan como tipos de datos Perl. Esta interfaz permite acceder fácilmente a los datos, y elimina la necesidad de realizar operaciones de empaquetado y desempaquetado de memoria intermedia. Asimismo, todas las funciones de administración de la memoria las lleva a cabo la biblioteca Perl.
Las diferentes funciones relacionadas con proyectos, tareas y exacct se separan en grupos. Cada grupo de funciones se encuentra en un módulo Perl distinto. Cada módulo empieza por el prefijo de paquete Perl Sun::Solaris:: estándar de Oracle Solaris. Todas las clases proporcionadas por la biblioteca Perl exacct se encuentran en el módulo Sun::Solaris::Exacct.
La biblioteca libexacct(3LIB) subyacente proporciona operaciones en los archivos de formato exacct, las etiquetas de catálogo y los objetos exacct. Los objetos exacct se subdividen en dos tipos:
Elementos, que son valores de datos únicos (escalares)
Grupos, que son listas de elementos
La tabla siguiente resume cada uno de los módulos.
| | |
Sun::Solaris::Project
| Este módulo proporciona funciones para acceder a las funciones de manipulación del proyecto getprojid(2), endprojent(3PROJECT) , fgetprojent(3PROJECT), getdefaultproj(3PROJECT), getprojbyid(3PROJECT), getprojbyname(3PROJECT), getprojent(3PROJECT), getprojidbyname(3PROJECT), inproj(3PROJECT), project_walk(3PROJECT), setproject(3PROJECT) y setprojent(3PROJECT).
| Project(3PERL)
|
Sun::Solaris::Task
|
| Task(3PERL)
|
Sun::Solaris::Exacct
| Este módulo es el módulo exacct de nivel superior. Este módulo proporciona funciones para acceder a las llamadas del sistema relacionadas con exacct getacct(2), putacct(2) y wracct(2). Este módulo también proporciona funciones para acceder a la función de biblioteca libexacct(3LIB) ea_error(3EXACCT). En este módulo también se proporcionan las constantes para todas las macros exacct EO_*, EW_*, EXR_*, P_* y TASK_*.
| Exacct(3PERL)
|
Sun::Solaris::Exacct:: Catalog
| Este módulo proporciona los métodos orientados a objetos para acceder a los campos de bits en una etiqueta de catálogo exacct. Este módulo también proporciona acceso a las constantes de las macros EXC_*, EXD_* y EXD_*.
| Exacct::Catalog(3PERL)
|
Sun::Solaris::Exacct:: File
|
| Exacct::File(3PERL)
|
Sun::Solaris::Exacct:: Object
| Este módulo proporciona métodos orientados a objetos para acceder a un objeto de archivo de cuentas exacct individual. Un objeto exacct se representa como referencia opaca designada en la subclase Sun::Solaris::Exacct::Object apropiada. Este módulo se subdivida aún más en los tipos de objetos Elemento y Grupo. En este nivel, hay dos métodos para acceder a las funciones ea_match_object_catalog(3EXACCT) y ea_attach_to_object(3EXACCT).
| Exacct::Object(3PERL)
|
Sun::Solaris::Exacct:: Object::Item
| Este módulo proporciona métodos orientados a objetos para acceder a un elemento de archivo de cuentas exacct individual. Los objetos de este tipo heredan de Sun::Solaris::Exacct::Object.
| Exacct::Object::Item(3PERL)
|
Sun::Solaris::Exacct:: Object::Group
| Este módulo proporciona métodos orientados a objetos para acceder a un grupo de archivos de cuentas exacct individual. Los objetos de este tipo heredan de Sun::Solaris::Exacct::Object. Estos objetos proporcionan acceso a la función ea_attach_to_group(3EXACCT). Los elementos que contiene el grupo se presentan como matriz Perl.
| Exacct::Object::Group(3PERL)
|
Sun::Solaris::Kstat
| Este módulo proporciona una interfaz hash vinculada a Perl para la función kstat. Puede encontrar un ejemplo de uso de este módulo en /bin/kstat, que se escribe en Perl.
| Kstat(3PERL)
|
|
Para ver ejemplos sobre cómo utilizar los módulos descritos en la tabla anterior, consulte Uso de la interfaz de Perl para libexacct.