kernel中对文件的读写【学习笔记】【原创】
/*1. 头文件 */
#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/fs.h>
#include <linux/uaccess.h> MODULE_PARM_DESC(ivar, "module kernel list"); static char buf[] = "aa:aa:aa:aa:aa:aa";
static char readbuf[];
/* 2.模块的加载函数*/
static int __init hello_init(void)
{
struct file *fp;
mm_segment_t fs;
loff_t pos; fp = filp_open("/sys/kernel/pax_ethernet/mac",O_RDWR|O_CREAT,);
if(IS_ERR(fp)){
printk("create file error\r\n");
return -;
} fs = get_fs();
set_fs(KERNEL_DS);
pos = ;
vfs_write(fp,buf,sizeof(buf),&pos);
pos = ;
vfs_read(fp,readbuf,sizeof(readbuf),&pos);
printk("Read:%s\r\n",readbuf);
filp_close(fp,NULL);
set_fs(fs); return ;
} /* 3.模块的卸载函数*/
static void __exit hello_exit(void)
{
printk("Bye, drivers!\n");
} /*4. 模块的入口和出口*/
module_init(hello_init);
module_exit(hello_exit); /*5.模块的许可声明*/
MODULE_LICENSE("GPL");
Makefile
ifeq ($(KERNELRELEASE),)
KERNELDIR ?=/home/zhuangzb/project/rk3288-e810-android6./kernel #内核路径
PWD :=$(shell pwd) #当前路径 modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
#cp hello.ko /opt/fs210/filesystem/drivers/ -f
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
rm -rf *.o *~core *.ko *.mod.c .tmp_versions Module.symvers modules.order
else
obj-m :=kernel_file.o #生成hello.ko
kernel中对文件的读写【学习笔记】【原创】的更多相关文章
- linux内核驱动中对文件的读写 【转】
本文转载自:http://blog.chinaunix.net/uid-13059007-id-5766941.html 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文 ...
- C# IO流与文件读写学习笔记
本笔记摘抄自:https://www.cnblogs.com/liyangLife/p/4797583.html,记录一下学习过程以备后续查用. 一.文件系统 1.1文件系统类的介绍 文件操作类大都在 ...
- VC中对文件的读写
http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2.电脑处理 ...
- C++中关于文件的读写
在C++的学习过程中,我们时常要用到对文件的操作,下面我们讲一下文件的读写. 首先,读.也就是把已有的文件读到控制台上,那么如何操作呢?首先要将文件操作的输入输出流包含进去. <fstream& ...
- 【转】VC中对文件的读写
原文网址:http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2 ...
- C#同步,异步的理解,包括5.0中await和async(学习笔记)
之前在工作中一直用的是同步线程,就是先进入画面的load事件,然后在里面进行数据库调用的处理.后面又遇到了公司软件中一些比较古老的代码,一开始在那块古老代码中增加机能的时候,我想用到数据库的数据给画面 ...
- K:java中properties文件的读写
Properties类与.properties文件: Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集的类,不过Properties有特殊 ...
- python中 对文件的读写操作 以及如何边写入 边保存flush()
转自:https://blog.csdn.net/t8116189520/article/details/78854708 首先 python中打开文件大致常用的几类如下: 1.写入文件write # ...
- Python中对文件的读写
读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘. 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系 ...
随机推荐
- 公共返回JSON信息的方法
java代码: public void returnMessage(HttpServletResponse response, Object str){ PrintWriter write = nul ...
- 为什么BT网络中迅雷的速度会这么快,比其它BT软件快
先看迅雷加速通道的几个概论,参考:http://www.cnblogs.com/EasonJim/p/6608544.html 我个人理解,在传统BT软件中,基于P2P的网络是不具备以上条件去加速的, ...
- android 打开软键盘
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- 【GitHub】给GitHub上的ReadMe.md文件中添加图片怎么做 、 gitHub创建文件夹
1.首先在github上的仓库上,创建一个空的文件夹,用于上传图片 上图看 要点击的按钮是创建新的文件,并不是创建新的文件夹,具体怎么?往下看 这个时候,下面的提交按钮才能提交 2.进入新创建的文件夹 ...
- 学习笔记 Java类的封装、继承和多态 2014.7.10
1.问题:toString()没搞懂? int a = 1; Integer aa = new Integer(a); //这是实现的过程 System.out.println("Hello ...
- Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
I see pretty much all the answers recommend deleting the lock. I don't recommend doing that as a fir ...
- linux与python
linux一般都装有python,但是版本不一定,需要自己查看,如果版本过低,需要重装.查看python版本方法,直接在命令行输入 python,此时会进入python命令行,同时会显示python版 ...
- mysqldump导入导出详解
mysqldump可以指定路径的,如果没指定路径,而只写了文件名的话,那么就在当前进入mysql命令行所在的目录,也就是mysql安装目录下 mysqldump --default-characte ...
- Jememeter和Loadrunner测试MySQL性能
From:http://blog.csdn.net/testingstar/article/details/60579454 MySQL数据库性能测试的方法 前置条件: 安装系统:windows 7 ...
- HTML+CSS要点
1.td占据多行 / 列时,其挤开的 td 不写(但是包裹 td 的 tr 要写) 2. display:td 的元素中的文本默认垂直不居中(table中的td中的文本是垂直居中的) 3.th虽然定义 ...