函数逻辑报告 |
Source Code:kernel\trace\trace_events_trigger.c |
Create Date:2022-07-27 13:35:14 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:event_enable_trigger_func
函数原型:int event_enable_trigger_func(struct event_command *cmd_ops, struct trace_event_file *file, char *glob, char *cmd, char *param)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct event_command * | cmd_ops | |
| struct trace_event_file * | file | |
| char * | glob | |
| char * | cmd | |
| char * | param |
| 1362 | bool hist = false |
| 1384 | 如果非event_enable_file则转到:out |
| 1396 | trigger_ops等于get_trigger_ops(cmd, trigger) |
| 1399 | trigger_data等于分配内存并置零 |
| 1400 | 如果非trigger_data则转到:out |
| 1403 | enable_data等于分配内存并置零 |
| 1404 | 如果非enable_data则 |
| 1405 | kfree(trigger_data) |
| 1406 | 转到:out |
| 1409 | count等于负1 |
| 1410 | ops等于trigger_ops |
| 1412 | 初始化链表头 |
| 1417 | file等于event_enable_file |
| 1418 | private_data等于enable_data |
| 1420 | 如果glob[0]恒等于'!'则 |
| 1421 | unreg(glob + 1, trigger_ops, trigger_data, file) |
| 1422 | kfree(trigger_data) |
| 1423 | kfree(enable_data) |
| 1424 | ret等于0 |
| 1425 | 转到:out |
| 1431 | 如果trigger则 |
| 1450 | 如果非set_filter则转到:out_reg |
| 1453 | ret等于set_filter(param, trigger_data, file) |
| 1457 | out_reg : |
| 1459 | ret等于判断模块是否处于活动状态 |
| 1460 | 如果非ret则 |
| 1465 | ret等于trace_event_enable_disable(event_enable_file, 1, 1) |
| 1468 | ret等于reg(glob, trigger_ops, trigger_data, file) |
| 1474 | 如果非ret则 |
| 1476 | 转到:out_disable |
| 1477 | 否则如果ret小于0则转到:out_disable |
| 1480 | ret等于0 |
| 1482 | out : |
| 1483 | 返回:ret |
| 1485 | out_disable : |
| 1486 | trace_event_enable_disable(event_enable_file, 0, 1) |
| 1487 | out_put : |
| 1488 | module_put(mod) |
| 1489 | out_free : |
| 1490 | 如果set_filter则set_filter(NULL, trigger_data, NULL) |
| 1493 | kfree(enable_data) |
| 1494 | 转到:out |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |