xattr.c文件 该文件定义的相关函数,下面接着进行详细解释: 10.removexattr() 函数原型: static long removexattr(structdentry *d, const char __user *name); 函数参数:d指向目标对象对应的目录项;name表示待删除的扩展属性的名字。 函数功能:删除参数name指定的扩展属性,该函数只是对vfs_removexattr()函数的封装。 返回值:成功时返回0;失败时返回相应的错误码。 11.generic_getxattr() 函数原型: ssize_tgeneric_getxattr(structdentry *dentry, const char *name, void *buffer, size_t size); 函数参数:dentry表示目标文件对应的目录项;name表示要获取的扩展属性的名字;buffer指向存放扩展属性值的缓冲区;size表示缓冲区的长度。 函数功能:根据扩展属性所在的命名空间查找相应的处理程序,并调用其中的get()操作。 返回值:返回相应的get()的操作结果。 12.generic_listxattr() 函数原型: ssize_tgeneric_listxattr(structdentry *dentry, char *buffer, 函数参数:dentry指向目标文件对应的目录项;buffer指向用于存放扩展属性值的缓冲区;buffer_size表示缓冲区的长度。 函数功能:调用目标文件所在文件系统中所有支持的处理程序中的list()函数,并组合这些函数的执行结果。 返回值:如果缓冲区为空,则返回所有的扩展属性组成的结果的长度;反之返回获取的扩展属性列表的长度。 13.generic_setxattr() 函数原型: int generic_setxattr(structdentry *dentry, const char *name, const void *value, size_t size, int flags); 函数参数:dentry表示目标文件对应的目录项;name表示待操作扩展属性的名字;value表示扩展属性的值;size表示扩展属性值的长度;flags表示相应的操作标志。 函数功能:根据扩展属性所在的命名空间查找相应的处理程序,并调用其中的set()操作。 返回值:返回相应的set()的操作结果。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|