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 扩展属性不受文件系统的支持。