Linux自主访问控制机制模块之详细描述-函数实现机制(16)

2017-04-04 02:21:00
2puT
转贴
280
摘要:Linux自主访问控制机制模块之详细描述-函数实现机制(16)
xattr.c文件‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


‍‍‍‍‍该文件定义的相关函数,下面继续进行详细解释:‍‍‍‍‍

‍‍‍‍‍‍‍‍‍‍‍‍5.vfs_listxattr()‍‍‍‍‍‍‍‍‍‍‍‍

函数原型:‍

‍ssize_t vfs_listxattr‍(struct ‍‍‍dentry‍‍ *‍d‍, char *‍list‍,‍size_t ‍size‍‍)‍;

函数参数:d指向目标对象对应的目录项;list指向存放扩展属性值的缓冲区;size表示缓冲区的长度。

函数功能:获取文件的扩展属性列表。

返回值:成功时返回获取的扩展属性的长度;失败时返回相应的错误码。


‍‍‍‍‍‍‍‍‍6.vfs_removexattr()‍‍‍‍‍‍‍‍‍‍‍‍‍

函数原型:

‍int vfs_removexattr(struct dentry *dentry, const char *name)‍;‍‍

函数参数:dentry指向目标对象对应的目录项;name表示待删除的扩展属性的名字。

函数功能:删除参数name指定的扩展属性。

返回值:成功时返回0;失败时返回相应的错误码。

‍‍‍‍‍

‍7.setxattr()‍‍‍‍‍‍‍‍‍‍

函数原型:

static long setxattr(struct dentry *d, const char ‍__user *name,

const void __user *value,size_t size, int flags);‍


函数参数:d指向目标对象对应的目录项;name表示待操作的扩展属性名;value表示待设置的扩展属性的值;size表示扩展属性值的长度;flags表示相应的操作标志。

函数功能:根据参数来设置或替换某个扩展属性的值,或者创建一个新的扩展属性。

返回值:成功时返回0;失败时返回相应的错误码。

‍‍‍‍‍

8.getxattr()‍‍‍‍‍‍‍‍‍

函数原型:

‍static ssize_tgetxattr(struct dentry *d, const char __user *name,

void __user *value,size_t size);‍


函数参数:d指向目标对象对应的目录项;name表示要获取的扩展属性名;value指向存放扩展属性值的缓冲区;size表示缓冲区的长度。

函数功能:获取参数name指定的扩展属性的值。

返回值:成功时获取指定的扩展属性值的长度;失败时返回相应的错误码。

‍‍‍‍

9.listxattr()‍‍‍‍

函数原型:

‍static ssize_t listxattr(struct dentry *d, char __user *list, size_t size);‍

函数参数:d指向目标对象对应的目录项;list指向存放扩展属性值的缓冲区;size表示缓冲区的长度。

函数功能:获取文件的扩展属性列表。

返回值:成功时返回获取的扩展属性的长度;失败时返回相应的错误码。



原文地址:http://mp.weixin.qq.com/s/3hEnLcIGOKCH5CtywfKpUQ

发表评论
评论通过审核后显示。
联系我们