函数逻辑报告 |
Source Code:kernel\trace\trace_events_hist.c |
Create Date:2022-07-27 13:41:12 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:trace_action_create
函数原型:static int trace_action_create(struct hist_trigger_data *hist_data, struct action_data *data)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct hist_trigger_data * | hist_data | |
| struct action_data * | data |
| 4243 | char * event_name, * param, * system = NULL |
| 4246 | field_pos等于0 |
| 4249 | ret等于0 |
| 4251 | lockdep_assert_held( & event_mutex) |
| 4255 | 否则synth_event_name等于action_name |
| 4259 | 如果非event则 |
| 4261 | 返回:负EINVAL |
| 4264 | ref自加 |
| 4270 | 如果非param则 |
| 4276 | 如果非param则 |
| 4278 | system = event_name = NULL |
| 4279 | 否则 |
| 4288 | 如果param[0]恒等于'$'则hist_field等于trace_action_find_var(hist_data, data, system, event_name, param) |
| 4292 | 否则hist_field等于trace_action_create_field_var(hist_data, data, system, event_name, param) |
| 4299 | 如果非hist_field则 |
| 4305 | 如果check_synth_field(event, hist_field, field_pos)恒等于0则 |
| 4308 | 如果非var_ref则 |
| 4314 | var_ref_idx等于find_var_ref_idx(hist_data, var_ref) |
| 4315 | 如果WARN_ON(var_ref_idx < 0)则 |
| 4316 | ret等于var_ref_idx |
| 4317 | 转到:err |
| 4322 | field_pos自加 |
| 4324 | 继续下一循环 |
| 4327 | hist_err(tr, HIST_ERR_SYNTH_TYPE_MISMATCH, errpos(param)) |
| 4330 | 转到:err |
| 4339 | synth_event等于event |
| 4340 | out : |
| 4341 | 返回:ret |
| 4342 | err : |
| 4343 | ref自减 |
| 4345 | 转到:out |
| 名称 | 描述 |
|---|---|
| action_create |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |