当前位置:  技术问答>linux和unix

如何在内核状态下进行文件读写

    来源: 互联网  发布时间:2015-09-03

    本文导语:  linux版本是2.4.20-8 编写模块链接内核,对文件进行读写, 怎样编写?请高手指点。 | #include  #include  #include  #include  #include  #include  #include  #include  #include  #define EOF             (-1) #d...

linux版本是2.4.20-8
编写模块链接内核,对文件进行读写,
怎样编写?请高手指点。

|
#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 



#define EOF             (-1)

#define SEEK_SET        0

#define SEEK_CUR        1

#define SEEK_END        2



struct file *klib_fopen(const char *filename, int flags, int mode);

void klib_fclose(struct file *filp);

int klib_fwrite(char *buf, int len, struct file *filp);

struct file *klib_fopen(const char *filename, int flags, int mode)

{

    struct file *filp = filp_open(filename, flags, mode);

    return (IS_ERR(filp)) ? NULL : filp;

}



void klib_fclose(struct file *filp)

{

    if (filp)

        fput(filp);

}



int klib_fwrite(char *buf, int len, struct file *filp)



{



int writelen;

mm_segment_t oldfs;



if (filp == NULL)

return -ENOENT;

if (filp->f_op->write == NULL)

return -ENOSYS;

if (((filp->f_flags & O_ACCMODE) & (O_WRONLY | O_RDWR)) == 0)

return -EACCES;

oldfs = get_fs();

set_fs(KERNEL_DS);

writelen = filp->f_op->write(filp, buf, len, &filp->f_pos);

set_fs(oldfs);



return writelen;



}


    
 
 

您可能感兴趣的文章:

  • 如何在内核模块中对linux字符驱动进行读写呢
  • Linux内核中文件进行读写操作的问题
  • 串口读写,双方同时读写控制问题(linux内核)。
  • 请教2.6内核下如何进行文件的读写?
  • 内核中怎样读写文件
  • 想搞嵌入式驱动的开发,请大虾给个简单例程(通过SPI读写外扩存储芯片),以及开发步骤及应注意的地方,怎么加入内核和使用该驱动?谢谢
  • 内核态直接根据柱面,磁道,扇区读写硬盘物理扇区的函数是什么?
  • Linux内核模块里的读写函数
  • 请教在内核中如何读写文件
  • 如何在linux内核模块中对串口进行读写
  • 在uboot下设置好的GPIO状态在进入内核后会被改变吗?
  • 内核编译不成功,如何恢复前状态?
  • 单机,调试内核时,无法进入调试状态,怎么回事?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 2.6内核下编译2.4内核
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 谁能提供kgdb内核补丁内核模块的下载
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 编译新内核后怎么进入原来内核
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • docker使用的技术之Container内核原理介绍
  • 内核模块跟内核版本不匹配????????
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序) iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3