函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:btf_type_id_size

函数原型:const struct btf_type *btf_type_id_size(const struct btf *btf, u32 *type_id, u32 *ret_size)

返回类型:struct btf_type

参数:

类型参数名称
const struct btf *btf
u32 *type_id
u32 *ret_size
1132  size_type_id等于type_id
1133  size等于0
1135  size_type等于btf_type_by_id(btf, size_type_id)
1136  如果btf_type_nosize_or_null(size_type)则返回:NULL
1139  如果btf_type_has_size(size_type)则
1140  size等于size
1141  否则如果btf_type_is_array(size_type)则
1142  size等于resolved_sizes[size_type_id]
1143  否则如果btf_type_is_ptr(size_type)则
1144  size等于*的长度
1145  否则
1146  如果WARN_ON_ONCE(!btf_type_is_modifier(size_type) && !btf_type_is_var(size_type))则返回:NULL
1150  size_type_id等于resolved_ids[size_type_id]
1151  size_type等于btf_type_by_id(btf, size_type_id)
1152  如果btf_type_nosize_or_null(size_type)则返回:NULL
1154  否则如果btf_type_has_size(size_type)则size等于size
1156  否则如果btf_type_is_array(size_type)则size等于resolved_sizes[size_type_id]
1158  否则如果btf_type_is_ptr(size_type)则size等于*的长度
1160  否则返回:NULL
1164  type_id等于size_type_id
1165  如果ret_sizeret_size等于size
1168  返回:size_type
调用者
名称描述
map_check_btf
btf_member_is_reg_intCheck that given struct member is a regular int with expected* offset and size.
btf_modifier_check_member
btf_modifier_check_kflag_member
btf_modifier_resolve
btf_var_resolve
btf_ptr_resolve
btf_array_check_member
btf_array_resolve
btf_array_seq_show
btf_datasec_resolve
btf_func_proto_check
btf_resolve_valid