Sun::Solaris::Exacct::File 模块可为用于处理记帐文件的 exacct 函数提供包装。该接口面向对象,并且允许创建和读取 exacct 文件。此模块所包装的 C 库调用包括以下各项:
文件的读写方法可用于对 Sun::Solaris::Exacct::Object 对象执行操作。这些方法可执行所有必需的内存管理、压缩、解压缩以及所需的结构转换操作。
Sun::Solaris::Exacct::File 可提供 EO_HEAD、EO_TAIL、EO_NO_VALID_HDR、EO_POSN_MSK 和 EO_VALIDATE_MSK 常量。new() 方法所需的其他常量位于标准的 Perl Fcntl 模块中。表 4–2 介绍了针对 $oflags 和 $aflags 的各种值的 new() 操作。
Sun::Solaris::Exacct::File 模块不包含函数。
libexacct(3LIB) API 的 Perl 扩展为 Sun::Solaris::Exacct::File 提供了以下类方法。
new |
下表介绍了 $oflags 和 $aflags 参数组合的 new() 操作。
表 4–2 $oflags 和 $aflags 参数
$oflags |
$aflags |
操作 |
---|---|---|
O_RDONLY |
不存在或为 EO_HEAD |
打开以便在文件开头进行读取。 |
O_RDONLY |
EO_TAIL |
打开以便在文件结尾进行读取。 |
O_WRONLY |
已忽略 |
文件必须存在,打开以便在文件结尾进行写入。 |
O_WRONLY | O_CREAT |
已忽略 |
如果文件不存在,请创建文件。否则,截断并打开以便进行写入。 |
O_RDWR |
已忽略 |
文件必须存在,打开以便在文件结尾进行读取或写入。 |
O_RDWR | O_CREAT |
已忽略 |
如果文件不存在,请创建文件。否则,截断并打开以便进行读取或写入。 |
$oflags 的唯一有效值是 O_RDONLY、O_WRONLY、O_RDWR 或 O_CREAT 的组合。$aflags 用于描述文件中要求对 O_RDONLY 进行的定位。允许使用 EO_HEAD 或 EO_TAIL。如果不存在,则假设使用 EO_HEAD。
libexacct(3LIB) API 的 perl 扩展为 Sun::Solaris::Exacct::File 提供了以下对象方法。
creator |
hostname |
next |
previous |
get |
write |
关闭 Sun::Solaris::Exacct::File。 对于 Sun::Solaris::Exacct::File,不存在显式的 close() 方法。如果未定义或重新指定了文件句柄对象,则将关闭该文件。
缺省情况下,此模块中不会导出任何内容。可以使用以下标记有选择性地导入此模块中定义的常量。
标记 |
常量或函数 |
---|---|
:CONSTANTS |
EO_HEAD、EO_TAIL、EO_NO_VALID_HDR、EO_POSN_MSK、EO_VALIDATE_MSK。 |
:ALL |
:CONSTANTS 和 Fcntl(:DEFAULT)。 |