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
随机推荐
- 对于get方法是否需要synchronized修饰
具体用法没有总结,只是说明一个用法而已,对于以前个人理解出现的偏差 [问题描述] 对于一个计数功能的实现,获取值的方法是否需要加锁? [以前理解] 我只需要在进行累加的方法上进行加锁即可,这样保证其可 ...
- C++面向对象高级编程(二)基础篇
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要 知识点1.重载成员函数 知识点2 . return by value, return by reference 知识点3 重载非成员函数 ...
- SSH服务:packet_write_wait: Connection to 67.218.143.160 port 22: Broken pipe错误处理
1.在~/.ssh/config配置文件中添加 IPQoS lowdelay throughput 2.在/etc/ssh/ssh_config配置文件中添加 IPQoS lowdelay throu ...
- 解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
SQL SERVER数据库进行备份时出现“操作系统错误5(拒绝访问).BACKUP DATABASE 正在异常终止.”错误.我们应该如何解决这个问题?小编今天为大家推荐一个解决办法. 一般备份文件选择 ...
- 左边的div导航根据右部div内容的高自动调整
div结构如下: <div class="mainbody"> <div class="left">导航</div> < ...
- Popular HashMap and ConcurrentHashMap Interview Questions
http://howtodoinjava.com/core-java/collections/popular-hashmap-and-concurrenthashmap-interview-quest ...
- 软件测试模型---V模型、W模型、H模型、X模型
人活着一定要有目标,确定自己喜欢什么,再坚持做下去,那么他过得一定不会太差. 煽情的话,不多说,本文主要讲解:"软件测试模型-V模型.W模型.H模型.X模型". 1.V模型 V模型 ...
- 强化学习使用pygame模块的安装
当你正想运行强化学习的游戏时,突然提示没有安装pygame模块怎么办呢? 其实很简单,通过下面的命令,就可以安装: D:\AI\sample\tensorforce>pip install py ...
- hdu6230 Palindrome(manacher+树状数组)
题目链接: Palindrome Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Other ...
- Python matplotlib 数据分布
利用plt.hist() import matplotlib.pylab as plt %matplotlib inline plt.figure(figsize=(21, 12)) plt.hist ...