linux文件系统的系统分析--(七)sysfs下属性文件的创建
2012-11-29 18:38
357 查看
属性文件的建立和目录的建立相差不大,因为不管目录还是普通文件,都由一个sysfs_dirent代表
sysfs_create_file-->sysfs_add_file-->sysfs_add_file_mode
sd->s_dir.kobj= kobj; //sysfs_dirent与kobject的联系建立
而在属性文件时是
sd->s_attr.attr = (void *)attr; //sysfs_dirent与attribute的联系
后面,在分析文件的读写时,会再次回头看到attr的,这里先给出attribute的定义:
sysfs_create_file-->sysfs_add_file-->sysfs_add_file_mode
intsysfs_add_file_mode(struct sysfs_dirent *dir_sd, conststruct attribute *attr, int type, mode_t amode) { umode_tmode = (amode & S_IALLUGO) | S_IFREG; structsysfs_addrm_cxt acxt; structsysfs_dirent *sd; intrc; sd= sysfs_new_dirent(attr->name, mode, type); //sysfs_dirent的初始化 if(!sd) return-ENOMEM; sd->s_attr.attr= (void *)attr; //属性文件的关系 sysfs_dirent_init_lockdep(sd); sysfs_addrm_start(&acxt,dir_sd); rc= sysfs_add_one(&acxt, sd); //层次关系的建立 sysfs_addrm_finish(&acxt); if(rc) sysfs_put(sd); returnrc; }唯一的区别就是:在目录时是
sd->s_dir.kobj= kobj; //sysfs_dirent与kobject的联系建立
而在属性文件时是
sd->s_attr.attr = (void *)attr; //sysfs_dirent与attribute的联系
后面,在分析文件的读写时,会再次回头看到attr的,这里先给出attribute的定义:
相关文章推荐
- linux文件系统的系统分析--(七)sysfs下属性文件的创建
- linux文件系统的系统分析--(九)sysfs下属性文件的读写
- linux文件系统的系统分析--(七)sysfs下属性文件的创建
- linux文件系统的系统分析--(九)sysfs下属性文件的读写
- linux文件系统的系统分析--(六)sysfs下目录的创建
- linux文件系统的系统分析--(六)sysfs下目录的创建
- linux文件系统的系统分析--(六)sysfs下目录的创建
- linux文件系统的系统分析--(九)sysfs下属性文件的读写
- linux文件系统的系统分析--(十六)sysfs和设备模型--从platform和rtc来感受设备模型
- sysfs 创建属性文件的方法
- Linux 内核/sys 文件系统之sysfs 属性文件
- sysfs系统--文件和目录的创建
- 访问eeprom设备的方法三(理解iic总线接口应用以及创建sysfs文件系统的bin文件访问接口(新的访问设备的文件接口))
- linux文件系统的系统分析--(十一)sysfs和设备模型--Bus
- linux文件系统的系统分析--(十六)sysfs和设备模型--从platform和rtc来感受设备模型
- linux文件系统的系统分析--(十五)sysfs和设备模型--Class
- sysfs 文件系统 通过设备属性访问硬件(DEVICE_ATTR, LINUX)
- Sysfs文件系统read流程安全性分析
- Ext4文件系统架构分析(三) ——目录哈希、扩展属性与日志
- linux文件系统的系统分析--(四)sysfs的安装和挂载