ext2文件系统源代码之xattr_user.c
来源:互联网 发布:数据库市场占有率 2016 编辑:程序博客网 时间:2024/06/07 01:39
我们继续看xattr_user.c这个文件,很简单。
/* * linux/fs/ext2/xattr_user.c * user扩展属性处理函数 * * Copyright (C) 2001 by Andreas Gruenbacher, <a.gruenbacher@computer.org> */#include <linux/init.h>#include <linux/module.h>#include <linux/string.h>#include "ext2.h"#include "xattr.h"/*扩展属性前缀名*/#define XATTR_USER_PREFIX "user."/*得到user属性全名*/static size_text2_xattr_user_list(struct inode *inode, char *list, size_t list_size, const char *name, size_t name_len){/*得到前缀长度和总长度*/const size_t prefix_len = sizeof(XATTR_USER_PREFIX)-1;const size_t total_len = prefix_len + name_len + 1;/*建安是否支持user属性*/if (!test_opt(inode->i_sb, XATTR_USER))return 0;if (list && total_len <= list_size) {/*复制到list*/memcpy(list, XATTR_USER_PREFIX, prefix_len);memcpy(list+prefix_len, name, name_len);list[prefix_len + name_len] = '\0';}return total_len;}static intext2_xattr_user_get(struct inode *inode, const char *name, void *buffer, size_t size){/*参数检查和权限检查*/if (strcmp(name, "") == 0)return -EINVAL;if (!test_opt(inode->i_sb, XATTR_USER))return -EOPNOTSUPP;/*调用之前的函数得到属性*/return ext2_xattr_get(inode, EXT2_XATTR_INDEX_USER, name, buffer, size);}static intext2_xattr_user_set(struct inode *inode, const char *name, const void *value, size_t size, int flags){/*参数检查和权限检查*/if (strcmp(name, "") == 0)return -EINVAL;if (!test_opt(inode->i_sb, XATTR_USER))return -EOPNOTSUPP;/*调用之前的函数设置属性*/return ext2_xattr_set(inode, EXT2_XATTR_INDEX_USER, name, value, size, flags);}/*属性结构体的处理结构体*/struct xattr_handler ext2_xattr_user_handler = {.prefix= XATTR_USER_PREFIX,.list= ext2_xattr_user_list,.get= ext2_xattr_user_get,.set= ext2_xattr_user_set,};
0 0
- ext2文件系统源代码之xattr_user.c
- ext2文件系统源代码之acl.c
- ext2文件系统源代码之dir.c
- ext2文件系统源代码之file.c
- ext2文件系统源代码之fsync.c
- ext2文件系统源代码之ialloc.c
- ext2文件系统源代码之inode.c
- ext2文件系统源代码之ioctl.c
- ext2文件系统源代码之namei.c
- ext2文件系统源代码之super.c
- ext2文件系统源代码之symlink.c
- ext2文件系统源代码之xattr.c
- ext2文件系统源代码之xattr_trusted.c
- ext2文件系统源代码之xattr_security.c
- ext2文件系统源代码之ext2.h
- ext2文件系统源代码之Makefile
- ext2文件系统源代码之balloc.c文件解析
- ext2文件系统之ext2_lookup函数源代码分析
- ext2文件系统源代码之xattr_trusted.c
- mysql导出视图以及表结构
- Xcode7(iOS9 beta1)网络请求失败,配置info.plist文件解决--iOS开发
- 继承与派生
- 利用bind启动service
- ext2文件系统源代码之xattr_user.c
- 把本地的int类型的图片转换成drawable、Bitmap
- 第一遍 第二章算法
- 在Editplus配置PHP
- Bzoj3791:作业:DP
- ext2文件系统源代码之xattr_security.c
- Http协议访问DataSnap Rest 服务器 - 封三郎
- sizeof
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter7-32