当前位置: 技术问答>linux和unix
100分答谢:谁会Linux下的LKM的编程
来源: 互联网 发布时间:2015-11-01
本文导语: 我现在着急用这个,我想在Netfilter上面扩展一个模块。但是我对LKM不是很熟悉,下面的一个问题。我希望能告诉我具体的代码该如何写。 如果调试成功立刻答谢。 1,请问LKM怎么打开文件,读文件,写文件。希望能告...
我现在着急用这个,我想在Netfilter上面扩展一个模块。但是我对LKM不是很熟悉,下面的一个问题。我希望能告诉我具体的代码该如何写。
如果调试成功立刻答谢。
1,请问LKM怎么打开文件,读文件,写文件。希望能告诉我用什么函数?头文件是哪些
谢谢
如果调试成功立刻答谢。
1,请问LKM怎么打开文件,读文件,写文件。希望能告诉我用什么函数?头文件是哪些
谢谢
|
以前玩过,这是在2.4.18上调试的,如何得到sys_call_table的入口地址知道吧。建立文件的话直接使用系统调用就行了。
open = sys_call_table[ SYS_open ];
write = sys_call_table[ SYS_write ];
close = sys_call_table[ SYS_close ];
int fd;
char filename[ ] = "/root/log_lkm";
mm_segment_t old_fs_value = get_fs( );
set_fs( get_ds( ) );
fd = open( filename, 0100 | 02 | 02000 , 0640);
write(fd, k_buf, sizeof(k_buf) );
close( fd );
set_fs( old_fs_value );
open = sys_call_table[ SYS_open ];
write = sys_call_table[ SYS_write ];
close = sys_call_table[ SYS_close ];
int fd;
char filename[ ] = "/root/log_lkm";
mm_segment_t old_fs_value = get_fs( );
set_fs( get_ds( ) );
fd = open( filename, 0100 | 02 | 02000 , 0640);
write(fd, k_buf, sizeof(k_buf) );
close( fd );
set_fs( old_fs_value );
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。