removeea 子例程
用途
除去扩展属性。
语法
#include <sys/ea.h>
int removeea(const char *path, const char *name);
int fremoveea(int filedes, const char *name);
int lremoveea(const char *path, const char *name);
描述
扩展属性是与文件系统对象 (例如,文件,目录和符号链接) 关联的名称/值对。 它们是与文件系统中的所有对象 (即, stat (2) 数据) 相关联的正常属性的扩展。
请勿使用 8 个字符的前缀 "(0xF8) 系统 (0xF8)"来定义扩展属性名称。 前缀 "(0xF8) 系统 (0xF8)" 保留为仅供系统使用。
注: 0xF8 表示不可打印的字符。
雷莫韦亚 子例程除去由 名称 标识并与文件系统中的给定 路径 关联的扩展属性。 弗勒莫韦阿 子例程与 雷莫韦亚完全相同,但它采用文件描述符而不是路径。 勒莫韦亚 子例程与 雷莫韦亚相同,但在符号链接的情况下,会查询链接本身,而不是查询它所引用的文件。
参数
| 项 | 描述 |
|---|---|
| 路径 | 该文件的路径名。 |
| 名称 | 这是扩展属性的名称。 扩展属性名称是以 NULL 结束的字符串。 |
| 文件 | 该文件的文件描述符。 |
返回值
如果 雷莫韦亚 子例程成功,那么返回 0。 一旦失败,将返回-1并适当设置errno。
错误代码
| 项 | 描述 |
|---|---|
| EACCES | 调用者缺少对基本文件的写许可权,或者缺少指定属性 删除的相应 ACL 特权。 |
| EFAULT | 为 路径 或 名称传递了错误地址。 |
| EFORMAT | 文件系统能够支持 EAs ,但 EAs 被禁用。 |
| EINVAL | 不应使用类似路径的名称 (例如, zml/文件, . ) 和 ..)。 |
| ENOATTR | 指定的属性不存在,或者该进程对该属性没有访问权。 |
| ENOTSUP | 扩展属性不受文件系统的支持。 |