initlabeldb 和 endlabeldb 子程序

用途

初始化或终止数据库。

可信AIX®库 (libmls.a)

语法

#include <mls/mls.h>
int initlabeldb (dbfile)
const char * dbfile;

int endlabeldb (void)

描述

initlabeldb子程序初始化dbfile参数指定的标签数据库。 当dbfile参数被指定为 NULL 时,initlabeldb子程序将使用/etc/security/enc/LabelEncodings文件初始化库数据成员。 initlabeldb子程序只有在标签文件生成正确的情况下才会成功。

在对标签进行任何操作前,必须使用initlabeldb子程序初始化数据库。 初始化后的数据库将只读。

endlabeldb子程序释放所有分配的内存,从而终止数据库。 该操作没有回写功能。

参数

描述
数据文件 指定用于标签数据库初始化的文件名。

安全性

访问控制:要访问默认编码文件/etc/security/enc/LabelEncodings,进程必须拥有PV_LAB_LEF权限。

访问的文件
方式 文件
r /etc/security/enc/LabelEncodings

返回值

如果成功,initlabeldbendlabeldb子程序将返回零值。 否则,返回值为-1。

错误

如果initlabeldb子例程失败,可以设置下列errno值之一:

描述
EBADF 传递的参数不是 NULL,也不是普通文件。
EALREADY 指定的数据库已用不同的编码文件初始化。
EACCESS 不允许该操作。
ENOENT 未找到标签编码文件。
如果endlabeldb子例程失败,它将返回以下errno值:
描述
ENOTREADY 数据库未初始化。