函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |