proc_create

proc_create的使用方法

proc文件系统是个有用的东东。
创建一个proc虚拟文件,应用层通过读写该文件,即可实现与内核的交互。

一,proc文件夹创建
proc虚拟文件是如何创建的呢?先看看比较简单的,创建proc文件夹。

调用以下函数,即可实现proc文件夹的创建:struct proc_dir_entry *proc_mkdir(const char *name, struct proc_dir_entry *parent);
参数说明:
               name:就是要创建的文件夹名称。
               parent:是要创建节点的父节点。也就是要在哪个文件夹之下创建新文件夹,需要将那个文件夹的proc_dir_entry传入。
如果是在/proc目录下创建文件夹,parent为NULL。
例如:struct proc_dir_entry *mytest_dir = proc_mkdir("mytest", NULL);

二,proc文件创建
然后来看看proc文件的创建。
创建方法是调用以下函数:
static inline struct proc_dir_entry *proc_create(const char *name, mode_t mode, struct proc_dir_entry *parent, const struct file_operations *proc_fops);
参数说明:
               name:就是要创建的文件名。
               mode:是文件的访问权限,以UGO的模式表示。
               parent:与proc_mkdir中的parent类似。也是父文件夹的proc_dir_entry对象。
               proc_fops:就是该文件的操作函数了。
例如:
struct proc_dir_entry *mytest_file = proc_create("mytest", 0x0644, mytest_dir, mytest_proc_fops);
还有一种方式:
struct proc_dir_entry *mytest_file = proc_create("mytest/mytest", 0x0644, NULL, mytest_proc_fops);
如果文件夹名称和文件名定义为常量:
#define MYTEST_PROC_DIR "mytest"
#define MYTEST_PROC_FILE "mytest"
第二种方式为:
struct proc_dir_entry *mytest_file = proc_create(MYTEST_PROC_DIR"/"MYTEST_PROC_FILE, 0x0644, NULL, mytest_proc_fops);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值