sysfs学习
Posted xuxia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sysfs学习相关的知识,希望对你有一定的参考价值。
1. sysfs是一种用户态与内核的交互机制。在/sys/目录下每个文件可以通过读,写操作下发命令到内核,内核定义相应的读写操作完成指定的功能。
比如现在做的一个项目,需要在/sys/devices/目录下创建自己模块的一个目录,假设是mpath,同时要在mpath下创建文件info, action,同时创建目录km*。info用来通过sysfs文件实施查看内核中相关信息,而action则通过对文件输入不同的命令字让内核执行不同操作,比如对action文件输入1,对应到内核去执行一个添加操作,输入2,对应到内核执行删除操作。
首先,在目录下创建文件可以用到函数:
int sysfs_create_group(struct kobject *kobj, const struct attribute_group *grp)
int __must_check sysfs_create_file(struct kobject *kobj,const struct attribute *attr) int sysfs_create_files(struct kobject *kobj, const struct attribute **ptr) int sysfs_create_group(struct kobject *kobj, const struct attribute_group *grp)
struct attribute_group const char *name; umode_t (*is_visible)(struct kobject *, struct attribute *, int); umode_t (*is_bin_visible)(struct kobject *, struct bin_attribute *, int); struct attribute **attrs; struct bin_attribute **bin_attrs; ;
以上是关于sysfs学习的主要内容,如果未能解决你的问题,请参考以下文章