Rizin
unix-like reverse engineering framework and cli tools
|
#include "pdb.h"
Go to the source code of this file.
|
static |
Definition at line 549 of file tpi.c.
References Tpi_Type_Numeric::data, eprintf, LF_CHAR, LF_LONG, LF_QUADWORD, LF_SHORT, LF_ULONG, LF_UQUADWORD, LF_USHORT, RZ_FREE, and Tpi_Type_Numeric::type_index.
Referenced by free_tpi_type(), parse_type_array(), parse_type_bclass(), parse_type_enumerate(), parse_type_member(), parse_type_struct(), parse_type_struct_19(), parse_type_union(), and parse_type_vbclass().
|
static |
Definition at line 699 of file tpi.c.
References container_of, free_tpi_type(), rz_return_if_fail, and type.
Referenced by free_tpi_stream().
RZ_IPI void free_tpi_stream | ( | RzPdbTpiStream * | stream | ) |
Definition at line 705 of file tpi.c.
References free(), free_tpi_rbtree(), NULL, rz_list_free(), and rz_rbtree_free().
Referenced by rz_bin_pdb_free().
|
static |
Definition at line 569 of file tpi.c.
References Tpi_LF_Arglist::arg_type, Tpi_LF_Enumerate::enum_value, free(), free_snumeric(), LF_ARGLIST, LF_ARRAY, LF_BCLASS, LF_BITFIELD, LF_CLASS, LF_CLASS_19, LF_ENUM, LF_ENUMERATE, LF_FIELDLIST, LF_INDEX, LF_IVBCLASS, LF_MEMBER, LF_METHOD, LF_METHODLIST, LF_MFUNCTION, LF_MODIFIER, LF_NESTTYPE, LF_ONEMETHOD, LF_POINTER, LF_PROCEDURE, LF_SIMPLE_TYPE, LF_STMEMBER, LF_STRUCTURE, LF_STRUCTURE_19, LF_UNION, LF_VBCLASS, LF_VFUNCTAB, LF_VTSHAPE, Tpi_LF_Structure::mangled_name, Tpi_LF_Structure_19::mangled_name, Tpi_LF_Union::mangled_name, Tpi_LF_Enum::mangled_name, Tpi_LF_MethodList::members, Tpi_Type_String::name, Tpi_LF_Array::name, Tpi_LF_Structure::name, Tpi_LF_Structure_19::name, Tpi_LF_Union::name, Tpi_LF_Enum::name, Tpi_LF_Enumerate::name, Tpi_LF_NestType::name, Tpi_LF_Method::name, Tpi_LF_Member::name, Tpi_LF_StaticMember::name, Tpi_LF_OneMethod::name, Tpi_LF_Member::offset, Tpi_LF_BClass::offset, RZ_FREE, rz_list_free(), rz_return_if_fail, rz_warn_if_reached, Tpi_LF_Array::size, Tpi_LF_Structure::size, Tpi_LF_Structure_19::size, Tpi_LF_Union::size, Tpi_LF_FieldList::substructs, type, Tpi_LF_SimpleType::type, Tpi_LF_VBClass::vb_offset_from_vbtable, Tpi_LF_VBClass::vb_pointer_offset, and Tpi_LF_Vtshape::vt_descriptors.
Referenced by free_tpi_rbtree(), and parse_type_fieldlist().
|
static |
Definition at line 343 of file tpi.c.
References Tpi_Type_Numeric::data, LF_CHAR, LF_LONG, LF_QUADWORD, LF_SHORT, LF_ULONG, LF_UQUADWORD, LF_USHORT, st16, st32, st64, st8, Tpi_Type_Numeric::type_index, and ut64().
Referenced by rz_bin_pdb_get_type_val().
|
static |
|
static |
Definition at line 731 of file tpi.c.
References len, RZ_BUF_CUR, rz_buf_read8(), and rz_buf_seek().
Referenced by parse_type_enum(), parse_type_struct(), parse_type_struct_19(), and parse_type_union().
|
static |
Definition at line 7 of file tpi.c.
References setup::idx.
Referenced by rz_bin_pdb_get_type_by_index().
|
static |
Definition at line 99 of file tpi.c.
References f, GET_BF, and value.
Referenced by parse_type_bclass(), parse_type_enumerate(), parse_type_index(), parse_type_member(), parse_type_methodlist(), parse_type_onemethod(), parse_type_staticmember(), and parse_type_vbclass().
|
static |
|
static |
|
static |
|
static |
Definition at line 82 of file tpi.c.
References GET_BF, p, and value.
Referenced by parse_type_enum(), parse_type_struct(), parse_type_struct_19(), and parse_type_union().
RZ_IPI RzPdbTpiType* parse_simple_type | ( | RzPdbTpiStream * | stream, |
ut32 | idx | ||
) |
Parses simple type if the idx represents one.
RzPdbTpiStream | TPI stream context |
idx | leaf index |
Definition at line 142 of file tpi.c.
References FAR_POINTER, FAR_POINTER32, free(), get_simple_type_kind(), get_simple_type_mode(), HUGE_POINTER, setup::idx, LF_SIMPLE_TYPE, NEAR_POINTER, NEAR_POINTER128, NEAR_POINTER32, NEAR_POINTER64, NULL, PDB_BOOL128, PDB_BOOL16, PDB_BOOL32, PDB_BOOL64, PDB_BOOL8, PDB_BYTE, PDB_CHAR16, PDB_CHAR32, PDB_COMPLEX128, PDB_COMPLEX16, PDB_COMPLEX32, PDB_COMPLEX32_PP, PDB_COMPLEX48, PDB_COMPLEX64, PDB_COMPLEX80, PDB_FLOAT128, PDB_FLOAT16, PDB_FLOAT32, PDB_FLOAT32_PP, PDB_FLOAT48, PDB_FLOAT64, PDB_FLOAT80, PDB_INT128, PDB_INT128_OCT, PDB_INT16, PDB_INT16_SHORT, PDB_INT32, PDB_INT32_LONG, PDB_INT64, PDB_INT64_QUAD, PDB_NARROW_CHAR, PDB_NONE, PDB_SBYTE, PDB_SIGNED_CHAR, PDB_UINT128, PDB_UINT128_OCT, PDB_UINT16, PDB_UINT16_SHORT, PDB_UINT32, PDB_UINT32_LONG, PDB_UINT64, PDB_UINT64_QUAD, PDB_UNSIGNED_CHAR, PDB_VOID, PDB_WIDE_CHAR, RZ_LOG_ERROR, RZ_NEW0, rz_rbtree_insert(), rz_strbuf_append(), rz_strbuf_drain(), rz_strbuf_new(), Tpi_LF_SimpleType::size, tpi_type_node_cmp(), type, and Tpi_LF_SimpleType::type.
Referenced by rz_bin_pdb_get_type_by_index().
RZ_IPI bool parse_tpi_stream | ( | RzPdb * | pdb, |
RzPdbMsfStream * | stream | ||
) |
Definition at line 1799 of file tpi.c.
References header, i, NULL, parse_tpi_stream_header(), parse_tpi_types(), PDB_STREAM_TPI, PFMT32x, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_rbtree_insert(), s, rz_pdb_t::s_tpi, tpi_type_node_cmp(), and type.
Referenced by parse_streams().
|
static |
Definition at line 1777 of file tpi.c.
References rz_buf_read_le16, rz_buf_read_le32, and s.
Referenced by parse_tpi_stream().
|
static |
Definition at line 1715 of file tpi.c.
References LF_ARGLIST, LF_ARRAY, LF_BITFIELD, LF_CLASS, LF_CLASS_19, LF_ENUM, LF_FIELDLIST, LF_METHODLIST, LF_MFUNCTION, LF_MODIFIER, LF_POINTER, LF_PROCEDURE, LF_STRUCTURE, LF_STRUCTURE_19, LF_UNION, LF_VTSHAPE, parse_type_arglist(), parse_type_array(), parse_type_bitfield(), parse_type_enum(), parse_type_fieldlist(), parse_type_methodlist(), parse_type_mfunction(), parse_type_modifier(), parse_type_pointer(), parse_type_procedure(), parse_type_struct(), parse_type_struct_19(), parse_type_union(), parse_type_vtshape(), PFMT32x, rz_buf_read_le16, RZ_LOG_ERROR, and type.
Referenced by parse_tpi_stream().
|
static |
Definition at line 1439 of file tpi.c.
References Tpi_LF_Arglist::arg_type, Tpi_LF_Arglist::count, i, len, malloc(), NULL, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_tpi_types().
|
static |
Definition at line 1384 of file tpi.c.
References Tpi_LF_Array::element_type, free_snumeric(), Tpi_LF_Array::index_type, Tpi_Type_Numeric::is_integer, len, Tpi_LF_Array::name, NULL, parse_type_numeric(), parse_type_string(), rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, Tpi_LF_Array::size, and skip_padding().
Referenced by parse_tpi_types().
|
static |
Definition at line 1046 of file tpi.c.
References Tpi_LF_BClass::fldattr, free_snumeric(), Tpi_LF_BClass::index, Tpi_Type_Numeric::is_integer, len, NULL, Tpi_LF_BClass::offset, parse_codeview_fld_attribute(), parse_type_numeric(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 1664 of file tpi.c.
References Tpi_LF_Bitfield::base_type, len, Tpi_LF_Bitfield::length, NULL, Tpi_LF_Bitfield::position, rz_buf_read8(), rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and ut8.
Referenced by parse_tpi_types().
|
static |
Definition at line 1197 of file tpi.c.
References Tpi_LF_Enum::count, Tpi_LF_Enum::field_list, has_non_padding(), len, Tpi_LF_Enum::mangled_name, Tpi_LF_Enum::name, NULL, parse_codeview_property(), parse_type_string(), Tpi_LF_Enum::prop, rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and Tpi_LF_Enum::utype.
Referenced by parse_tpi_types().
|
static |
Definition at line 848 of file tpi.c.
References Tpi_LF_Enumerate::enum_value, Tpi_LF_Enumerate::fldattr, free_snumeric(), Tpi_Type_Numeric::is_integer, len, Tpi_LF_Enumerate::name, NULL, parse_codeview_fld_attribute(), parse_type_numeric(), parse_type_string(), rz_buf_read_le16, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 1119 of file tpi.c.
References error(), free_tpi_type(), len, LF_BCLASS, LF_ENUMERATE, LF_INDEX, LF_IVBCLASS, LF_MEMBER, LF_METHOD, LF_NESTTYPE, LF_ONEMETHOD, LF_STMEMBER, LF_VBCLASS, LF_VFUNCTAB, NULL, parse_type_bclass(), parse_type_enumerate(), parse_type_index(), parse_type_member(), parse_type_method(), parse_type_nesttype(), parse_type_onemethod(), parse_type_staticmember(), parse_type_vbclass(), parse_type_vfunctab(), PFMT32x, rz_buf_read_le16, RZ_FREE, rz_list_append(), rz_list_free(), rz_list_newf(), RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, Tpi_LF_FieldList::substructs, and type.
Referenced by parse_tpi_types().
|
static |
Definition at line 876 of file tpi.c.
References Tpi_LF_Index::fldattr, Tpi_LF_Index::index, len, NULL, parse_codeview_fld_attribute(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 959 of file tpi.c.
References Tpi_LF_Member::fldattr, free_snumeric(), Tpi_LF_Member::index, Tpi_Type_Numeric::is_integer, len, Tpi_LF_Member::name, NULL, Tpi_LF_Member::offset, parse_codeview_fld_attribute(), parse_type_numeric(), parse_type_string(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 938 of file tpi.c.
References Tpi_LF_Method::count, len, Tpi_LF_Method::mlist, Tpi_LF_Method::name, NULL, parse_type_string(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 1523 of file tpi.c.
References TpiCVFldattr::bits, error(), Tpi_Type_MethodListMember::fldattr, free(), len, Tpi_LF_MethodList::members, TpiCVFldattr::mprop, MTintro, MTpureintro, NULL, Tpi_Type_MethodListMember::optional_offset, Tpi_Type_MethodListMember::pad, parse_codeview_fld_attribute(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, rz_list_append(), rz_list_free(), rz_list_newf(), RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and Tpi_Type_MethodListMember::type.
Referenced by parse_tpi_types().
|
static |
Definition at line 1470 of file tpi.c.
References Tpi_LF_MFcuntion::arglist, Tpi_LF_MFcuntion::call_conv, Tpi_LF_MFcuntion::class_type, Tpi_LF_MFcuntion::func_attr, len, NULL, Tpi_LF_MFcuntion::parm_count, parse_codeview_func_attribute(), Tpi_LF_MFcuntion::return_type, rz_buf_read8(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, skip_padding(), Tpi_LF_MFcuntion::this_adjust, Tpi_LF_MFcuntion::this_type, and ut8.
Referenced by parse_tpi_types().
|
static |
Definition at line 1416 of file tpi.c.
References len, Tpi_LF_Modifier::modified_type, NULL, parse_codeview_modifier(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and Tpi_LF_Modifier::umodifier.
Referenced by parse_tpi_types().
|
static |
Definition at line 898 of file tpi.c.
References Tpi_LF_NestType::index, len, Tpi_LF_NestType::name, NULL, Tpi_LF_NestType::pad, parse_type_string(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 746 of file tpi.c.
References Tpi_Type_Numeric::data, Tpi_Type_Numeric::is_integer, LF_CHAR, LF_LONG, LF_QUADWORD, LF_SHORT, LF_ULONG, LF_UQUADWORD, LF_USHORT, rz_buf_read8(), rz_buf_read_le16, rz_buf_read_le32, rz_buf_read_le64, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, st16, st32, st64, st8, Tpi_Type_Numeric::type_index, and ut64().
Referenced by parse_type_array(), parse_type_bclass(), parse_type_enumerate(), parse_type_member(), parse_type_struct(), parse_type_struct_19(), parse_type_union(), and parse_type_vbclass().
|
static |
Definition at line 1015 of file tpi.c.
References TpiCVFldattr::bits, Tpi_LF_OneMethod::fldattr, Tpi_LF_OneMethod::index, len, TpiCVFldattr::mprop, MTintro, MTpureintro, Tpi_LF_OneMethod::name, NULL, Tpi_LF_OneMethod::offset_in_vtable, parse_codeview_fld_attribute(), parse_type_string(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 1342 of file tpi.c.
References TpiCVPointerAttr::bits, len, NULL, parse_codeview_pointer_attribute(), Tpi_LF_Pointer::pbase, Tpi_LF_Pointer::pmember, Tpi_LF_Pointer::ptr_attr, PTR_BASE_TYPE, PTR_MODE_PMEM, PTR_MODE_PMFUNC, TpiCVPointerAttr::ptrmode, TpiCVPointerAttr::ptrtype, rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and Tpi_LF_Pointer::utype.
Referenced by parse_tpi_types().
|
static |
Definition at line 1584 of file tpi.c.
References len, NULL, parse_codeview_func_attribute(), proc, rz_buf_read8(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and ut8.
Referenced by parse_tpi_types().
|
static |
Definition at line 992 of file tpi.c.
References Tpi_LF_StaticMember::fldattr, Tpi_LF_StaticMember::index, len, Tpi_LF_StaticMember::name, NULL, parse_codeview_fld_attribute(), parse_type_string(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, rz_return_val_if_fail, and skip_padding().
Referenced by parse_type_fieldlist().
|
static |
Definition at line 824 of file tpi.c.
References len, NULL, RZ_BUF_CUR, rz_buf_read(), rz_buf_read8(), rz_buf_seek(), RZ_LOG_ERROR, rz_mem_alloc(), and cmd_descs_generate::str.
Referenced by parse_type_array(), parse_type_enum(), parse_type_enumerate(), parse_type_member(), parse_type_method(), parse_type_nesttype(), parse_type_onemethod(), parse_type_staticmember(), parse_type_struct(), parse_type_struct_19(), and parse_type_union().
|
static |
Definition at line 1234 of file tpi.c.
References Tpi_LF_Structure::count, Tpi_LF_Structure::derived, Tpi_LF_Structure::field_list, free_snumeric(), has_non_padding(), Tpi_Type_Numeric::is_integer, len, Tpi_LF_Structure::mangled_name, Tpi_LF_Structure::name, NULL, parse_codeview_property(), parse_type_numeric(), parse_type_string(), Tpi_LF_Structure::prop, rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, Tpi_LF_Structure::size, skip_padding(), and Tpi_LF_Structure::vshape.
Referenced by parse_tpi_types().
|
static |
Definition at line 1286 of file tpi.c.
References Tpi_LF_Structure_19::derived, Tpi_LF_Structure_19::field_list, free_snumeric(), has_non_padding(), Tpi_Type_Numeric::is_integer, len, Tpi_LF_Structure_19::mangled_name, Tpi_LF_Structure_19::name, NULL, parse_codeview_property(), parse_type_numeric(), parse_type_string(), Tpi_LF_Structure_19::prop, rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, Tpi_LF_Structure_19::size, skip_padding(), Tpi_LF_Structure_19::unknown, Tpi_LF_Structure_19::unknown1, and Tpi_LF_Structure_19::vshape.
Referenced by parse_tpi_types().
|
static |
Definition at line 1622 of file tpi.c.
References Tpi_LF_Union::count, Tpi_LF_Union::field_list, free_snumeric(), has_non_padding(), Tpi_Type_Numeric::is_integer, len, Tpi_LF_Union::mangled_name, Tpi_LF_Union::name, NULL, parse_codeview_property(), parse_type_numeric(), parse_type_string(), Tpi_LF_Union::prop, rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, Tpi_LF_Union::size, and skip_padding().
Referenced by parse_tpi_types().
|
static |
Definition at line 1078 of file tpi.c.
References Tpi_LF_VBClass::direct_vbclass_idx, Tpi_LF_VBClass::fldattr, free_snumeric(), Tpi_Type_Numeric::is_integer, len, NULL, parse_codeview_fld_attribute(), parse_type_numeric(), rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, skip_padding(), Tpi_LF_VBClass::vb_offset_from_vbtable, Tpi_LF_VBClass::vb_pointer_idx, and Tpi_LF_VBClass::vb_pointer_offset.
Referenced by parse_type_fieldlist().
|
static |
Definition at line 919 of file tpi.c.
References Tpi_LF_VFuncTab::index, NULL, Tpi_LF_VFuncTab::pad, rz_buf_read_le16, rz_buf_read_le32, RZ_FREE, RZ_NEW0, and rz_return_val_if_fail.
Referenced by parse_type_fieldlist().
|
static |
Definition at line 1690 of file tpi.c.
References Tpi_LF_Vtshape::count, len, malloc(), NULL, rz_buf_read(), rz_buf_read_le16, RZ_FREE, RZ_LOG_ERROR, RZ_NEW0, rz_return_val_if_fail, skip_padding(), and Tpi_LF_Vtshape::vt_descriptors.
Referenced by parse_tpi_types().
RZ_API RZ_OWN char* rz_bin_pdb_calling_convention_as_string | ( | RZ_NONNULL RzPdbTpiCallingConvention | idx | ) |
Parses calling convention type as string.
idx |
Definition at line 35 of file tpi.c.
References FAR_C, FAR_FAST, FAR_PASCAL, FAR_STD, FAR_SYS, setup::idx, NEAR_C, NEAR_FAST, NEAR_PASCAL, NEAR_STD, NEAR_SYS, NEAR_VEC, NULL, strdup(), and THISCALL.
Referenced by parse_type_mfunction(), and parse_type_procedure().
RZ_API RZ_BORROW RzPdbTpiType* rz_bin_pdb_get_type_by_index | ( | RZ_NONNULL RzPdbTpiStream * | stream, |
ut32 | index | ||
) |
Get RzPdbTpiType that matches tpi stream index.
Definition at line 1844 of file tpi.c.
References container_of, is_simple_type(), NULL, parse_simple_type(), rz_rbtree_find(), rz_return_val_if_fail, tpi_type_node_cmp(), and type.
Referenced by parse_enum(), parse_structure(), parse_type_arglist(), parse_type_array(), parse_type_member(), parse_type_mfunction(), parse_type_modifier(), parse_type_nest(), parse_type_onemethod(), parse_type_pointer(), parse_type_procedure(), parse_type_static_member(), parse_union(), and rz_bin_pdb_get_type_members().
RZ_API RZ_BORROW RzList* rz_bin_pdb_get_type_members | ( | RZ_NONNULL RzPdbTpiStream * | stream, |
RzPdbTpiType * | t | ||
) |
Get the RzPdbTpiType member list.
stream | TPI stream |
t | RzPdbTpiType |
Definition at line 406 of file tpi.c.
References tpi_types::leaf_type, LF_CLASS, LF_CLASS_19, LF_ENUM, LF_FIELDLIST, LF_STRUCTURE, LF_STRUCTURE_19, LF_UNION, NULL, rz_bin_pdb_get_type_by_index(), rz_return_val_if_fail, Tpi_LF_FieldList::substructs, autogen_x86imm::tmp, and tpi_types::type_data.
Referenced by parse_enum(), parse_structure(), and parse_union().
RZ_API RZ_BORROW char* rz_bin_pdb_get_type_name | ( | RZ_NONNULL RzPdbTpiType * | type | ) |
Get the name of the type.
type | RzPdbTpiType * |
Definition at line 447 of file tpi.c.
References LF_ARRAY, LF_CLASS, LF_CLASS_19, LF_ENUM, LF_ENUMERATE, LF_MEMBER, LF_METHOD, LF_NESTTYPE, LF_ONEMETHOD, LF_STMEMBER, LF_STRUCTURE, LF_STRUCTURE_19, LF_UNION, Tpi_Type_String::name, Tpi_LF_Array::name, Tpi_LF_Structure::name, Tpi_LF_Structure_19::name, Tpi_LF_Union::name, Tpi_LF_Enum::name, Tpi_LF_Enumerate::name, Tpi_LF_NestType::name, Tpi_LF_Method::name, Tpi_LF_Member::name, Tpi_LF_StaticMember::name, Tpi_LF_OneMethod::name, NULL, rz_return_val_if_fail, and type.
Referenced by parse_enum(), parse_enumerate(), parse_struct_member(), parse_structure(), parse_type_nest(), parse_type_onemethod(), parse_union(), and parse_union_member().
RZ_API ut64 rz_bin_pdb_get_type_val | ( | RZ_NONNULL RzPdbTpiType * | type | ) |
Get the numeric value inside the type.
type | RzPdbTpiType * |
Definition at line 507 of file tpi.c.
References Tpi_LF_Enumerate::enum_value, get_numeric_val(), Tpi_LF_Index::index, LF_ARRAY, LF_CLASS, LF_CLASS_19, LF_ENUMERATE, LF_INDEX, LF_MEMBER, LF_ONEMETHOD, LF_STRUCTURE, LF_STRUCTURE_19, LF_UNION, Tpi_LF_Member::offset, Tpi_LF_OneMethod::offset_in_vtable, rz_return_val_if_fail, Tpi_LF_Array::size, Tpi_LF_Structure::size, Tpi_LF_Structure_19::size, Tpi_LF_Union::size, and type.
Referenced by parse_enum(), parse_enumerate(), parse_struct_member(), parse_structure(), parse_type_array(), parse_union(), and parse_union_member().
RZ_API bool rz_bin_pdb_type_is_fwdref | ( | RZ_NONNULL RzPdbTpiType * | t | ) |
Return true if type is forward definition.
t | RzPdbTpiType |
Definition at line 372 of file tpi.c.
References TpiCVProperty::bits, TpiCVProperty::fwdref, LF_CLASS, LF_CLASS_19, LF_ENUM, LF_STRUCTURE, LF_STRUCTURE_19, LF_UNION, Tpi_LF_Structure::prop, Tpi_LF_Structure_19::prop, Tpi_LF_Union::prop, Tpi_LF_Enum::prop, rz_return_val_if_fail, and rz_warn_if_reached.
Referenced by parse_enum(), parse_structure(), and parse_union().
Definition at line 714 of file tpi.c.
References len, RZ_BUF_CUR, rz_buf_read8(), and rz_buf_seek().
Referenced by parse_type_arglist(), parse_type_array(), parse_type_bclass(), parse_type_bitfield(), parse_type_enum(), parse_type_enumerate(), parse_type_index(), parse_type_member(), parse_type_method(), parse_type_methodlist(), parse_type_mfunction(), parse_type_modifier(), parse_type_nesttype(), parse_type_onemethod(), parse_type_pointer(), parse_type_procedure(), parse_type_staticmember(), parse_type_struct(), parse_type_struct_19(), parse_type_union(), parse_type_vbclass(), and parse_type_vtshape().
Definition at line 19 of file tpi.c.
References container_of.
Referenced by parse_simple_type(), parse_tpi_stream(), and rz_bin_pdb_get_type_by_index().