函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\trace_events_hist.c Create Date:2022-07-27 13:37:37
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:parse_synth_field

函数原型:static struct synth_field *parse_synth_field(int argc, const char **argv, int *consumed)

返回类型:struct synth_field

参数:

类型参数名称
intargc
const char **argv
int *consumed
1015  prefix等于NULL, field_type等于argv[0]
1016  ret等于0
1018  如果field_type[0]恒等于';'则field_type自加
1021  如果非字符串比较
1022  如果argc小于3则返回:错误号
1024  prefix等于"unsigned "
1025  field_type等于argv[1]
1026  field_name等于argv[2]
1027  consumed等于3
1028  否则
1029  field_name等于argv[1]
1030  consumed等于2
1033  field等于分配内存并置零
1034  如果非field则返回:错误号
1037  len等于strlen - Find the length of a string*@s: The string to be sized
1038  array等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for
1039  如果arraylen减等于strlen - Find the length of a string*@s: The string to be sized
1041  否则如果field_name[len - 1]恒等于';'则len自减
1044  name等于kmemdup_nul(field_name, len, GFP_KERNEL)
1045  如果非name
1046  ret等于负ENOMEM
1047  转到:free
1050  如果field_type[0]恒等于';'则field_type自加
1052  len等于strlen - Find the length of a string*@s: The string to be sized加1
1053  如果arraylen加等于strlen - Find the length of a string*@s: The string to be sized
1055  如果prefixlen加等于strlen - Find the length of a string*@s: The string to be sized
1058  type等于分配内存并置零
1059  如果非type
1060  ret等于负ENOMEM
1061  转到:free
1063  如果prefixstrcat(type, prefix)
1065  strcat(type, field_type)
1066  如果array
1067  strcat(type, array)
1068  如果type[len - 1]恒等于';'则type[len - 1]等于'\0'
1072  size等于synth_field_size(type)
1073  如果非size
1074  ret等于负EINVAL
1075  转到:free
1078  如果synth_field_is_string(type)则is_string = true
1081  is_signed等于synth_field_signed(type)
1083  out :
1084  返回:field
1085  free :
1086  free_synth_field(field)
1087  field等于错误号
1088  转到:out
调用者
名称描述
__create_synth_event