码迷,mamicode.com
首页 > 其他好文 > 详细

sysfs学习

时间:2019-09-03 11:42:18      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:mode   file   一个   函数   自己   att   har   ble   完成   

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学习

标签:mode   file   一个   函数   自己   att   har   ble   完成   

原文地址:https://www.cnblogs.com/xuxia/p/11451668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!