首页 存档 技术 查看内容

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

2018-3-30 13:00 |来自: 互联网 299 0

摘要: xattr_acl.c文件 现在来介绍xattr_acl.c文件。 对于xattr_acl.c,其完整文件名称为fs/xattr_acl.c,该文件实现了内存表示形式的ACL与扩展属性之间转换函数。 主要变量及宏定义 对于该文件,其中调用了4个比较重要 ...

xattr_acl.c文件


现在来介绍xattr_acl.c文件。

对于xattr_acl.c,其完整文件名称为fs/xattr_acl.c,该文件实现了内存表示形式的ACL与扩展属性之间转换函数。


主要变量及宏定义


对于该文件,其中调用了4个比较重要的宏,其作用如下表所示:

宏名

含义

le16_to_cpu()

将一个16位的数据从小端格式转换为特定于cpu的格式

le32_to_cpu()

将一个32位的数据从小端格式转换为特定于cpu的格式

cpu_to_le16()

将一个16位的数据从特定于cpu的格式转换为小端格式

cpu_to_le32()

将一个32位的数据从特定于cpu的格式转换为小端格式


相关函数解释:

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

1.posix_acl_from_xattr()

函数原型:


struct posix_acl * posix_acl_from_xattr(const void *value, size_t size);


函数参数:value表示扩展属性所在缓冲区;size表示缓冲区的长度。

函数功能:从扩展属性中获取内存格式的ACL。

返回值:成功时返回内存格式的ACL;失败时返回NULL。


2.posix_acl_to_xattr()

函数原型:


int posix_acl_to_xattr(const struct posix_acl*acl, void *buffer, size_t size);


函数参数:acl表示内存形式的访问控制列表;buffer表示存放扩展属性的缓冲区;size表示缓冲区的长度。

函数功能:将内存表示形式的ACL转换为磁盘表示形式,并将其存放到扩展属性中。

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


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部