rs_getnameattr 子例程
用途
检索系统资源集注册表中某个资源集定义的访问控制信息。
库
标准 C 库 (libc.a)
语法
#include <sys/rset.h>
int rs_getnameattr(namespace, rsname, attr)
char *namespace, *rsname;
rs_attributes_t *attr;描述
rs_getnameattr 子例程从系统资源集注册表中检索由 名称空间 和 Rsname 参数指定的资源集定义的访问控制信息。
指定资源集的所有者标识,组标识和访问控制信息将存储在 阿特尔 参数所指向的结构中。
注: 查询此信息不需要任何特殊权限或访问许可权。
参数
| 项 | 描述 |
|---|---|
| 名称空间 | 指向一个以 null 结束的字符串,该字符串对应于应该在其中找到 Rsname 参数的名称空间。 |
| Rsname | 指向一个以 null 结束的字符串,该字符串对应于应该检索其信息的名称。 |
| attr | 指向一个包含 所有者, 组和 模式 字段的 rs_attributes_t 结构,该结构将由子例程填充。 rs_attributes_t 结构中的 mode 字段用于存储访问许可权,并通过对 rset.h中定义的以下一个或多个值进行逻辑 OR 运算来构造:
用户的读特权意味着用户可以通过发出对 rs_getnamedrset 子例程的调用来检索资源集定义。 用户的写特权意味着用户可以通过对 rs_getnamedrset 子例程发出另一次调用来重新定义名称。 |
返回值
如果成功,那么将返回值 0。 如果不成功,则返回值为-1,并设置errno全局变量来指示错误。
错误代码
如果以下一个或多个条件成立,那么 rs_getnameattr 子例程不成功:
| 项 | 描述 |
|---|---|
| EINVAL | 如果下列其中一项为 true:
|
| ENOENT | 在由 名称空间 参数标识的名称空间中无法找到 Rsname 参数。 |
| EFAULT | 地址无效。 |