event_module_init中添加任务控制块结构的注册字段的函数
时间: 2024-05-05 19:16:56 浏览: 9
可以在event_module_init函数中添加一个名为register_task_control_block的函数,用于注册任务控制块结构的字段。
函数原型如下:
```c
void register_task_control_block(struct task_control_block *tcb, char *name, void *value);
```
其中,参数tcb为要注册的任务控制块结构体指针,name为要注册的字段名,value为该字段的初始值。
具体实现可以参考以下代码:
```c
void register_task_control_block(struct task_control_block *tcb, char *name, void *value)
{
int i;
for (i = 0; i < MAX_TASK_CONTROL_BLOCK_FIELDS; i++) {
if (tcb->fields[i].name == NULL) {
tcb->fields[i].name = name;
tcb->fields[i].value = value;
return;
}
}
printk("Error: task control block has reached maximum number of fields!\n");
}
```
该函数会遍历任务控制块结构体的fields数组,找到一个空闲的位置将字段名和初始值存储下来。如果已经达到了最大数量的字段,将会打印错误信息。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)