怎么写一个notifier_call(struct notifier_block *nb, unsigned long evt, void *ptr)函数
时间: 2024-03-18 14:39:25 浏览: 245
Notification的示例源码
notifier_call函数是Linux内核中的一个函数,它的作用是调用注册在notifier链表中的notifier_block结构体中的回调函数。具体实现如下:
```
int notifier_call(struct notifier_block *nb, unsigned long evt, void *ptr)
{
int ret = NOTIFY_DONE;
if (nb && nb->notifier_call) {
ret = nb->notifier_call(nb, evt, ptr);
}
return ret;
}
```
上述实现中,首先判断传入的notifier_block结构体指针nb和其回调函数指针是否为空,如果不为空,则调用回调函数指针所指向的函数,并将传入的参数nb、evt和ptr传递给该回调函数。最后,返回回调函数的返回值。
你可以根据具体的需求,编写notifier_block结构体中的回调函数,然后将该回调函数和nb结构体注册到notifier链表中,在需要的时候调用notifier_call函数,以触发回调函数的执行。
阅读全文