initlabeldb 和 endlabeldb 子程序
用途
初始化或终止数据库。
库
可信AIX®库 (libmls.a)
语法
描述
initlabeldb子程序初始化dbfile参数指定的标签数据库。 当dbfile参数被指定为 NULL 时,initlabeldb子程序将使用/etc/security/enc/LabelEncodings文件初始化库数据成员。 initlabeldb子程序只有在标签文件生成正确的情况下才会成功。
在对标签进行任何操作前,必须使用initlabeldb子程序初始化数据库。 初始化后的数据库将只读。
endlabeldb子程序释放所有分配的内存,从而终止数据库。 该操作没有回写功能。
参数
| 项 | 描述 |
|---|---|
| 数据文件 | 指定用于标签数据库初始化的文件名。 |
安全性
访问控制:要访问默认编码文件/etc/security/enc/LabelEncodings,进程必须拥有PV_LAB_LEF权限。
访问的文件
| 方式 | 文件 |
|---|---|
| r | /etc/security/enc/LabelEncodings |
返回值
如果成功,initlabeldb和endlabeldb子程序将返回零值。 否则,返回值为-1。
错误
如果initlabeldb子例程失败,可以设置下列errno值之一:
| 项 | 描述 |
|---|---|
| EBADF | 传递的参数不是 NULL,也不是普通文件。 |
| EALREADY | 指定的数据库已用不同的编码文件初始化。 |
| EACCESS | 不允许该操作。 |
| ENOENT | 未找到标签编码文件。 |
如果endlabeldb子例程失败,它将返回以下errno值:
| 项 | 描述 |
|---|---|
| ENOTREADY | 数据库未初始化。 |