rs_setnameattr 子例程
用途
将资源集定义的访问控制信息设置在系统资源集注册表中。
库
标准 C 库 (libc.a)
语法
#include <sys/rset.h>
int rs_setnameattr (namespace, rsname, command, attr)
char *namespace, *rsname;
unsigned int command;
rs_attributes_t * attr;描述
rs_setnameattr 子例程集 (取决于 命令 值) 是由 名称空间 和 Rsname 参数指定的系统注册表资源集定义的所有者,组或访问控制信息中的一个或多个。
必须在 阿特尔 参数所指向的结构中提供 Rsname 参数的所有者标识和/或组标识和/或访问控制信息。
注意:
- 为了能够设置名称的属性,调用进程必须具有 root 用户权限或连接特权,并且有效的用户标识必须等于 Rsname 参数的所有者的用户标识。
- 要更改资源集定义所有者标识,或者要在调用者的组列表之外设置其组标识,需要 root 用户权限。
参数
| 项 | 描述 |
|---|---|
| 名称空间 | 指向以 null 结束的字符串,该字符串对应于应该在其中找到 Rsname 的名称空间。 |
| Rsname | 指向一个以 null 结束的字符串,该字符串对应于应该检索其信息的名称。 |
| 命令 | 指定应该更改哪些属性。 此参数通过对 rset.h中定义的以下一个或多个值进行逻辑 OR 运算来构造:
|
| attr | 指向包含 所有者,组 和 模式 字段的 rs_attributes_t 结构,该结构可能将由子例程用于设置属性。 mode 字段用于存储访问许可权,并通过对 rset.h中定义的以下一个或多个值进行逻辑 OR 运算来构造:
|
返回值
如果成功,那么将返回值 0。 如果不成功,则返回值为-1,并设置errno全局变量来指示错误。
错误代码
如果以下一个或多个条件成立,那么 rs_setnameattr 子例程不成功:
| 项 | 描述 |
|---|---|
| EINVAL | 发生了下列其中一个错误:
|
| EPERM | 发生了下列其中一个错误:
|
| ENOENT | 在由 名称空间标识的名称空间中找不到 Rsname 。 |
| ENOSPC | 文件空间块数不足。 |
| EFAULT | 地址无效; 异常超出 错误号 范围。 |
| ENOSYS | rs_setnameattr 子例程不受系统支持。 |