- 论坛徽章:
- 0
|
作者:郭昌盛
我们在写驱动的时候,需要调试一些数据,有的时候需要把数据存到文件中,看到网上有很多人问这个问题,今天给大家一段代码,拿来就可以用的,很简单,在2.6内核中没有问题:
#include
struct file *file;
mm_segment_t oldfs;
int len;
#ifndef __user
#define __user
#endif
file = filp_open ("/root/urb-tx.log", O_CREAT|O_WRONLY|O_APPEND,0600);
oldfs = get_fs();
set_fs(KERNEL_DS);
len = file->f_op->write(file, (unsigned char __user *)urb->transfer_buffer,urb->actual_length,&file->f_pos);
set_fs(oldfs);
filp_close(file,NULL);
下面我简单的说下,其实这段代码可以很容易的得到,因为内核中提供了系统调用如:sys_open,sys_write等,我们只要看一下那些代码就可以很容易的实现了。
如果有什么问题,欢迎讨论,如果转载请注目出处,谢谢!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/37445/showart_352539.html |
|