A interface Perl permite que você crie scripts Perl que podem ler os arquivos de contabilidade produzidos pela estrutura exacct. Você também pode criar scripts Perl que gravam arquivos exacct.
A interface é funcionalmente equivalente à API C subjacente. Quando possível, os dados obtidos da API C subjacente são apresentados como tipos de dados Perl. Este recurso facilita o acesso aos dados e elimina a necessidade de pacote de buffer ou de operações de descompactação. Além disso, todo o gerenciamento da memória é executado pela biblioteca Perl.
Os vários projetos, tarefas e funções relacionados a exacct são separados em grupos. Cada grupo de funções está localizado em um módulo Perl separado. Cada módulo começa com prefixo de pacote Perl padrão da Sun Sun::Solaris::. Todas as classes fornecidas pela biblioteca Perl exacct se encontram no módulo Sun::Solaris::Exacct.
A biblioteca subjacente libexacct(3LIB) fornece operações sobre arquivos no formato exacct, etiquetas de catálogo e objetos exacct. Os objetos exacct são subdivididos em dois tipos:
Itens, que são valores de dados únicos (escalares)
Grupos, que são listas de itens
O quadro abaixo resume cada um dos módulos.
Módulo (não deve conter espaços) |
Descrição |
Para obter mais informações |
---|---|---|
Sun::Solaris::Project |
Este módulo fornece funções para acessar as funções de manipulação de projeto getprojid(2), endprojent(3PROJECT) , fgetprojent(3PROJECT), getdefaultproj(3PROJECT), getprojbyid(3PROJECT), getprojbyname(3PROJECT), getprojent(3PROJECT), getprojidbyname(3PROJECT), inproj(3PROJECT), project_walk(3PROJECT), setproject(3PROJECT) e setprojent(3PROJECT). |
Project(3PERL) |
Sun::Solaris::Task |
Este módulo fornece funções para acessar as funções de manipulação de tarefa gettaskid(2) e settaskid(2). |
Task(3PERL) |
Sun::Solaris::Exacct |
Este módulo é o módulo exacct de nível superior. Este módulo fornece funções para acessar as chamadas do sistema relacionadas a exacct getacct(2), putacct(2) e wracct(2). Este módulo também fornece funções para acessar libexacct(3LIB) função de bibliotecaea_error(3EXACCT). Constantes para todas as macros EO_*, EW_*, EXR_*, P_* e TASK_* de exacct também são fornecidas neste módulo. |
Exacct(3PERL) |
Sun::Solaris::Exacct:: Catalog |
Este módulo fornece métodos orientados a objeto para acessar os campos de bits em uma etiqueta de catálogo de exacct. Este módulo também fornece acesso às constantes para as macros EXC_*, EXD_* e EXD_*. |
Exacct::Catalog(3PERL) |
Sun::Solaris::Exacct:: File |
Este módulo fornece métodos orientados a objeto para acessar as funções do arquivo de contabilidade libexacct ea_open(3EXACCT), ea_close(3EXACCT), ea_get_creator(3EXACCT), ea_get_hostname(3EXACCT), ea_next_object(3EXACCT), ea_previous_object(3EXACCT) e ea_write_object(3EXACCT). |
Exacct::File(3PERL) |
Sun::Solaris::Exacct:: Object |
Este módulo fornece métodos orientados a objeto para acessar um objeto individual do arquivo de contabilidade exacct. Um objeto exacct é representado como uma referência opaca acolhida na subclasse Sun::Solaris::Exacct::Object apropriada. Este módulo tem nova subdivisão nos tipos de objeto Item e Grupo. Neste nível, há métodos para acessar as funções ea_match_object_catalog(3EXACCT) e ea_attach_to_object(3EXACCT). |
Exacct::Object(3PERL) |
Sun::Solaris::Exacct:: Object::Item |
Este módulo fornece métodos orientados a objeto para acessar um item individual do arquivo de contabilidade exacct. Objetos deste tipo herdam de Sun::Solaris::Exacct::Object. |
Exacct::Object::Item(3PERL) |
Sun::Solaris::Exacct:: Object::Group |
Este módulo fornece métodos orientados a objeto para acessar um grupo individual do arquivo de contabilidade exacct. Objetos deste tipo herdam de Sun::Solaris::Exacct::Object. Estes objetos fornecem acesso à função ea_attach_to_group(3EXACCT). Os itens contidos dentro do grupo são apresentados como uma matriz de Perl. |
Exacct::Object::Group(3PERL) |
Sun::Solaris::Kstat |
Este módulo fornece uma interface hash ligada de Perl para a facilidade kstat. Um exemplo de uso para este módulo se encontra em /bin/kstat, que é gravado em Perl. |
Kstat(3PERL) |
Para exemplos que mostram como usar os módulos descritos na tabela anterior, consulte Uso da interface Perl para libexacct.