Linux proc_mkdir和proc_create的用法
//功能:在proc中创建一个文件夹
//参数1:创建的文件夹名称
//参数2:创建的文件夹路径,就是在哪个文件夹中创建,如果是proc根目录,此参数为NULL
//返回值:创建的文件夹路径
struct proc_dir_entry *proc_mkdir(const char *name, struct proc_dir_entry *parent);
//功能:在proc中创建一个文件
//参数1:创建的文件的名称
//参数2:文件的读写权限
//参数3:创建的文件路径,即在哪个文件夹中创建,如果是proc根目录,此参数为NULL
//参数4:此文件的操作函数file_operations
//返回值:创建的文件路径
static inline struct proc_dir_entry *proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct file_operations *proc_fops);
//功能:删除proc中的文件或文件夹
//参数:删除的文件或文件夹路径
//返回:无
void proc_remove(struct proc_dir_entry *de);
#define BASE_DIR_NAME "led"
struct file_operations led_ops = {
.owner = THIS_MODULE,
.open = led_ctl_open,
.release = led_ctl_release,
.write = led_ctl_write,
};
static int led_ctl_probe(struct platform_device *pdev)
{
printk("%s\n", __func__);
// 在 proc 根目录创建 led 文件夹
base = proc_mkdir(BASE_DIR_NAME, NULL);
if(base == NULL){
printk("%s proc create %s failed\n", __func__, BASE_DIR_NAME);
return -EINVAL;
}
// 在 led 文件夹中创建文件 led_ctl,文件操作函数为 led_ops
led_ctl = proc_create("led_ctl", , base, &led_ops);
if (led_ctl == NULL) {
printk("proc_create failed!\n");
// led_ctl 文件创建失败,删除上一步创建的文件夹 led
proc_remove(base);
return -EINVAL;
}
return ;
}
static int led_ctl_remove(struct platform_device *pdev)
{
printk("%s\n", __func__);
// 删除 led_ctl 文件
proc_remove(led_ctl);
// 删除 led 文件夹
proc_remove(base);
return ;
}
Linux proc_mkdir和proc_create的用法的更多相关文章
- linux mount命令参数及用法详解
linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...
- 【转】linux expr命令参数及用法详解
在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...
- linux dmesg命令参数及用法详解(linux显示开机信息命令)
linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- Linux中yum和apt-get用法及区别
Linux中yum和apt-get用法及区别 一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debi ...
- linux下find查找命令用法
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)
linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要 ...
- linux c语言 select函数用法
linux c语言 select函数用法 表头文件 #i nclude<sys/time.h> #i nclude<sys/types.h> #i nclude<unis ...
- Linux中find命令的用法汇总
Linux中find命令的用法汇总 https://www.jb51.net/article/108198.htm
随机推荐
- python2.7安装requests
我这里的是linux CentOS7版本 直接执行命令pip install requests 安装即可,如果提示没有pip这个命令要先安装pip 安装步骤如下: 1. 首先检查Linux有没有安装P ...
- 由浅入深了解EventBus:(一)
概述 由greenrobot织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架; EventBus是一个消息总线,以观察者模式实现,用于简化程序的组件.线程通信,可以 ...
- html表格导出Excel的一点经验心得(转载)
最近在做统计功能,要求统计结果(表格)既能查看(BS系统,在浏览器查看),又能输出为excel文件.对于输出excel文件,在网上找到n种方案,因为还需查看,最终选择了统计结果输出为table,查看时 ...
- NEU 1496 Planar map 计算几何,点到线段距离 难度:0
问题 H: Planar map 时间限制: 1 Sec 内存限制: 128 MB提交: 24 解决: 22[提交][状态][讨论版] 题目描述 Tigher has work for a lon ...
- CentOS 6安装Oracle 11gR2数据库
1.安装环境--- 操作系统:CentOS release 6.8 (Final) oracle:Oracle Database 11g Enterprise Edition Release 11.2 ...
- jQuery动画与特效
参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...
- gradle 删除指定目录中的文件和目录
// 删除bakAPk下的所有非母包文件 task deleTask(type: Delete){ FileTree tree = fileTree(dir: bakPath) tree.each { ...
- 马士兵_JAVA自学之路(为那些目标模糊的码农们)
转载自:http://blog.csdn.net/anlidengshiwei/article/details/42264301 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. ...
- keepererrorcode = connectionloss for 错误处理
自己的环境在虚拟机上,于是使用同事的环境调试问题,发现无法初始化成功,提示keepererrorcode = connectionloss for,于是上网查了下资料整理如下: 1.对比代码中引用的j ...
- css引用第三方字体库
对应的CSS文件中如下方式进行字体库的引用: @font-face { font-family: '造字工房情书'; src: url('../fonts/MFQingShu_Noncommercia ...