当前位置: 技术问答>linux和unix
linux内核注册钩子是个什么东西?
来源: 互联网 发布时间:2015-11-22
本文导语: 俺以前在嵌入式下面经常碰到消息钩子函数,linux内核的某些模块也允许注册钩子函数? 比如网络的防火墙,在linux的网络协议栈上由五个地方(PROROUTING,FORWARD,POSTROUTING,INPUT,OUTPUT)设置检测点,其中在linux的好...
俺以前在嵌入式下面经常碰到消息钩子函数,linux内核的某些模块也允许注册钩子函数?
比如网络的防火墙,在linux的网络协议栈上由五个地方(PROROUTING,FORWARD,POSTROUTING,INPUT,OUTPUT)设置检测点,其中在linux的好多内核模块上有钩子函数注册点。
这些注册点实质上是一些函数指针的数组(链表)?
最多在一个注册点能够注册几个钩子函数?
另外,好像linux的设备驱动程序也是通过注册机制来实现的(字符设备和块设备),但这是不是钩子函数?
是每个linux的内核模块都有钩子函数注册点吗?
比如网络的防火墙,在linux的网络协议栈上由五个地方(PROROUTING,FORWARD,POSTROUTING,INPUT,OUTPUT)设置检测点,其中在linux的好多内核模块上有钩子函数注册点。
这些注册点实质上是一些函数指针的数组(链表)?
最多在一个注册点能够注册几个钩子函数?
另外,好像linux的设备驱动程序也是通过注册机制来实现的(字符设备和块设备),但这是不是钩子函数?
是每个linux的内核模块都有钩子函数注册点吗?
|
所谓钩子函数,无非就是一个函数指针,或者说是回调函数,当满足指件条件时,就会调用你的注册的那个函数
|
又爬上来了:)
楼主的问题都没有明确答案。钩子(回调)函数只是C语言实现扩展、多态等的一种模式,每个模块如何使用都是不一定的。
楼主的问题都没有明确答案。钩子(回调)函数只是C语言实现扩展、多态等的一种模式,每个模块如何使用都是不一定的。
|
mark