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
随机推荐
- Matlab 一些函数
max(A,[],dim):dim取1或2.dim取1时,该函数和max(A)完全相同:dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值.
- CentOS7 LVM添加硬盘及扩容
一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制.LVM将一个或多个磁盘分区(PV)虚拟为一个卷组(VG), ...
- CentOS 6.5 升级内核到 3.10.28
本文适用于CentOS 6.4, CentOS 6.5,亲测可行,估计也适用于其他Linux发行版. 1. 准备工作 1.1 下载源码包 Linux内核版本有两种:稳定版和开发版 ,Linux内核版本 ...
- Marketing™Series用户手册(Marketing™Series Manual)
起源(Origin) 每日构建(Daily Build) 软件不支持的功能(Functions which are not supported.) 软件支持的功能(Functions which ar ...
- Shell脚本编写规范
shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...
- c# 加密工具类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...
- Linux:col命令详解
col 经常用于将说明文件转存为纯文本以方便阅读 语法 col(选项) 选项 -b:过滤掉所有的控制字符,包括RLF和HRLF: -f:滤掉RLF字符,但允许将HRLF字符呈现出来: -x:以多个空格 ...
- UART介绍
https://baike.baidu.com/item/UART/4429746?fr=aladdin
- react中路由的跳转
1.react-router-dom 使用react-router-dom 4.4.2 在页面中直接使用 引入 i mport { Link } from 'react-router-dom' 使用 ...
- Skynet服务器框架(九) snax框架
什么是 snax 由于 skynet 的 API 还是比较偏底层,为简化服务的编写提供一套简单的 API ,便有了这套 snax 框架,解决的问题: "编写一个 skynet 内部服务,处理 ...