当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu10.10下的模块编程
帖子发表于 : 2010-12-30 0:03 

注册: 2010-12-29 23:58
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
testmodule.c文件:
#include // 在内核模块中共享
#include // 一个模块
//处理CONFIG_MODVERSIONS
#if CONFIG_MODVERSIONS == 1
#define MODVERSIONS
#include
#endif
int init_module() //初始化模块
{
120
printk("Hello! This is a testing module! \n");
return 0;
}
void cleanup_module() //取消init_module()函数所做的打印功能操作
{
printk("Sorry! The testing module is unloading now! \n");
}

向模块中添加新函数
向testmodule模块中添加新函数open(),release(),write()和read().
一.函数open( )
int open(struct inode *inode,struct file *filp) {
MOD_INC_USE_COUNT; // 增加该模块的用户数目
printk("This module is in open!\n");
return 0;
}
二.函数release( )
void release(struct inode *inode,struct file *filp) {
MOD_DEC_USE_COUNT; //该模块的用户数目减1
printk("This module is in release!\n");
return 0;
#ifdef DEBUG
printk("release(%p,%p)\n",inode,filp);
#endif
}
三.函数 read()
int read(struct inode *inode,struct file *filp,char *buf,int count) {
123
int leave;
if(verify_area(VERIFY_WRITE,buf,count) == DEFAULT)
return DEFAULT;
for(leave=count;leave>0;leave --) {
__put_user(1,buf,1);
buf ++;
}
return count;
}
四.函数write()
int write(struct inode *inode,struct file *filp,const char *buf,int count) {
return count;
}

小弟初学linux,请问这个模块实验怎么做呀,网上都很少资料的,找到的都是只有这个题目的,根本做不下去,请各位大大帮帮忙~~感激不尽~~


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译