首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

怎么让模块加载之后自动执行里面的函数

2012-07-03 
怎样让模块加载之后自动执行里面的函数比如编写了一个网络接收发送数据包的模块,包括发包函数int send(),

怎样让模块加载之后自动执行里面的函数
比如编写了一个网络接收发送数据包的模块,包括发包函数int send(), 接收函数int rec(),构造包函数int pkt()和读取接收到的数据包内容函数int a()
怎样让这个模块加载后,不用外界模块调用,就立刻开始构造数据包,并且当有数据包到来时自动接收???
是要在模块加载函数int __init中定义和调用吗?
是不是一个模块中只能通过__init加载一个函数,剩下的函数都要直接或间接地和加载的这个函数建立调用关系呢?

[解决办法]
kthread_create函数. 
#include <linux/kthread.h>里面
创建一个内核线程就行了。
在模块加载的初始化函数里使用kthread_create创建,然后让其运行。或者直接使用kthread_run创建并运行。
[解决办法]
你在init函数里面做好工作即可,想加载几个函数都行。
[解决办法]
module_init(xxx_func); /* do something in xxx_func function, it's entry of kernel module */

热点排行