📄 libdwarf2.h
字号:
/* elf intialization */int dwarf_elf_init(Elf* /*elf*/, Dwarf_Unsigned /*access*/, Dwarf_Handler /*errhand*/, Dwarf_Ptr /*errarg*/, Dwarf_Debug * /*dbg*/, Dwarf_Error* /*error*/);/* Undocumented function for memory allocator. */void dwarf_print_memory_stats(Dwarf_Debug /*dbg*/);int dwarf_get_elf(Dwarf_Debug /*dbg*/, Elf ** /*return_elfptr*/, Dwarf_Error* /*error*/);int dwarf_finish(Dwarf_Debug /*dbg*/, Dwarf_Error* /*error*/);/* die traversal operations */int dwarf_next_cu_header(Dwarf_Debug /*dbg*/, Dwarf_Unsigned* /*cu_header_length*/, Dwarf_Half* /*version_stamp*/, Dwarf_Off* /*abbrev_offset*/, Dwarf_Half* /*address_size*/, Dwarf_Unsigned* /*next_cu_header_offset*/, Dwarf_Error* /*error*/);int dwarf_siblingof(Dwarf_Debug /*dbg*/, Dwarf_Die /*die*/, Dwarf_Die* /*return_siblingdie*/, Dwarf_Error* /*error*/);int dwarf_child(Dwarf_Die /*die*/, Dwarf_Die* /*return_childdie*/, Dwarf_Error* /*error*/);/* finding die given offset */int dwarf_offdie(Dwarf_Debug /*dbg*/, Dwarf_Off /*offset*/, Dwarf_Die* /*return_die*/, Dwarf_Error* /*error*/);/* higher level functions (Unimplemented) */int dwarf_pcfile(Dwarf_Debug /*dbg*/, Dwarf_Addr /*pc*/, Dwarf_Die* /*return_die*/, Dwarf_Error* /*error*/);/* Unimplemented */int dwarf_pcsubr(Dwarf_Debug /*dbg*/, Dwarf_Addr /*pc*/, Dwarf_Die* /*return_die*/, Dwarf_Error* /*error*/);/* Unimplemented */int dwarf_pcscope(Dwarf_Debug /*dbg*/, Dwarf_Addr /*pc*/, Dwarf_Die* /*return_die*/, Dwarf_Error* /*error*/);/* operations on DIEs */int dwarf_tag(Dwarf_Die /*die*/, Dwarf_Half* /*return_tag*/, Dwarf_Error* /*error*/);/* utility? */int dwarf_dieoffset(Dwarf_Die /*die*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_die_CU_offset(Dwarf_Die /*die*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_attr (Dwarf_Die /*die*/, Dwarf_Half /*attr*/, Dwarf_Attribute * /*returned_attr*/, Dwarf_Error* /*error*/);int dwarf_diename(Dwarf_Die /*die*/, char ** /*diename*/, Dwarf_Error* /*error*/);/* convenience functions, alternative to using dwarf_attrlist() */int dwarf_hasattr(Dwarf_Die /*die*/, Dwarf_Half /*attr*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);int dwarf_loclist(Dwarf_Attribute /*attr*/, Dwarf_Locdesc** /*llbuf*/, Dwarf_Signed * /*locCount*/, Dwarf_Error* /*error*/);/* Unimplemented */int dwarf_stringlen(Dwarf_Die /*die*/, Dwarf_Locdesc ** /*returned_locdesc*/, Dwarf_Error* /*error*/);/* Unimplemented */int dwarf_subscrcnt(Dwarf_Die /*die*/, Dwarf_Signed * /*returned_count*/, Dwarf_Error* /*error*/);/* Unimplemented */int dwarf_nthsubscr(Dwarf_Die /*die*/, Dwarf_Unsigned /*ssndx*/, Dwarf_Die * /*returned_die*/, Dwarf_Error* /*error*/);int dwarf_lowpc(Dwarf_Die /*die*/, Dwarf_Addr * /*returned_addr*/, Dwarf_Error* /*error*/);int dwarf_highpc(Dwarf_Die /*die*/, Dwarf_Addr * /*returned_addr*/, Dwarf_Error* /*error*/);int dwarf_bytesize(Dwarf_Die /*die*/, Dwarf_Unsigned * /*returned_size*/, Dwarf_Error* /*error*/);/* Unimplemented */int dwarf_isbitfield(Dwarf_Die /*die*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);int dwarf_bitsize(Dwarf_Die /*die*/, Dwarf_Unsigned * /*returned_size*/, Dwarf_Error* /*error*/);int dwarf_bitoffset(Dwarf_Die /*die*/, Dwarf_Unsigned * /*returned_offset*/, Dwarf_Error* /*error*/);int dwarf_srclang(Dwarf_Die /*die*/, Dwarf_Unsigned * /*returned_lang*/, Dwarf_Error* /*error*/);int dwarf_arrayorder(Dwarf_Die /*die*/, Dwarf_Unsigned * /*returned_order*/, Dwarf_Error* /*error*/);/* end of convenience function list *//* this is the main interface to attributes of a DIE */int dwarf_attrlist(Dwarf_Die /*die*/, Dwarf_Attribute** /*attrbuf*/, Dwarf_Signed * /*attrcount*/, Dwarf_Error* /*error*/);/* query operations for attributes */int dwarf_hasform(Dwarf_Attribute /*attr*/, Dwarf_Half /*form*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);int dwarf_whatform(Dwarf_Attribute /*attr*/, Dwarf_Half * /*returned_form*/, Dwarf_Error* /*error*/);int dwarf_whatattr(Dwarf_Attribute /*attr*/, Dwarf_Half * /*returned_attr_num*/, Dwarf_Error* /*error*/);/* The following are concerned with the Primary Interface: getting the actual data values. One function per 'kind' of FORM.*/int dwarf_formref(Dwarf_Attribute /*attr*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_formaddr(Dwarf_Attribute /*attr*/, Dwarf_Addr * /*returned_addr*/, Dwarf_Error* /*error*/);int dwarf_formflag(Dwarf_Attribute /*attr*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);int dwarf_formudata(Dwarf_Attribute /*attr*/, Dwarf_Unsigned * /*returned_val*/, Dwarf_Error* /*error*/);int dwarf_formsdata(Dwarf_Attribute /*attr*/, Dwarf_Signed * /*returned_val*/, Dwarf_Error* /*error*/);int dwarf_formblock(Dwarf_Attribute /*attr*/, Dwarf_Block ** /*returned_block*/, Dwarf_Error* /*error*/);int dwarf_formstring(Dwarf_Attribute /*attr*/, char ** /*returned_string*/, Dwarf_Error* /*error*/);/* end attribute query operations. *//* line number operations *//* dwarf_srclines is the normal interface */int dwarf_srclines(Dwarf_Die /*die*/, Dwarf_Line** /*linebuf*/, Dwarf_Signed * /*linecount*/, Dwarf_Error* /*error*/);int dwarf_srcfiles(Dwarf_Die /*die*/, char*** /*srcfiles*/, Dwarf_Signed * /*filecount*/, Dwarf_Error* /*error*/);/* Unimplemented. */int dwarf_dieline(Dwarf_Die /*die*/, Dwarf_Line * /*returned_line*/, Dwarf_Error * /*error*/);int dwarf_linebeginstatement(Dwarf_Line /*line*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);int dwarf_lineendsequence(Dwarf_Line /*line*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);int dwarf_lineno(Dwarf_Line /*line*/, Dwarf_Unsigned * /*returned_lineno*/, Dwarf_Error* /*error*/);int dwarf_lineaddr(Dwarf_Line /*line*/, Dwarf_Addr * /*returned_addr*/, Dwarf_Error* /*error*/);int dwarf_lineoff(Dwarf_Line /*line*/, Dwarf_Signed * /*returned_lineoffset*/, Dwarf_Error* /*error*/);int dwarf_linesrc(Dwarf_Line /*line*/, char ** /*returned_name*/, Dwarf_Error* /*error*/);int dwarf_lineblock(Dwarf_Line /*line*/, Dwarf_Bool * /*returned_bool*/, Dwarf_Error* /*error*/);/* tertiary interface to line info *//* Unimplemented */int dwarf_pclines(Dwarf_Debug /*dbg*/, Dwarf_Addr /*pc*/, Dwarf_Line** /*linebuf*/, Dwarf_Signed * /*linecount*/, Dwarf_Signed /*slide*/, Dwarf_Error* /*error*/);/* end line number operations *//* global name space operations (.debug_pubnames access) */int dwarf_get_globals(Dwarf_Debug /*dbg*/, Dwarf_Global** /*globals*/, Dwarf_Signed * /*number_of_globals*/, Dwarf_Error* /*error*/);int dwarf_globname(Dwarf_Global /*glob*/, char ** /*returned_name*/, Dwarf_Error* /*error*/);int dwarf_global_die_offset(Dwarf_Global /*global*/, Dwarf_Off* /*return_offset*/, Dwarf_Error * /*error*/);int dwarf_global_cu_offset(Dwarf_Global /*global*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_global_name_offsets(Dwarf_Global /*global*/, char ** /*returned_name*/, Dwarf_Off* /*die_offset*/, Dwarf_Off* /*cu_offset*/, Dwarf_Error* /*error*/);/* Static function name operations. */int dwarf_get_funcs(Dwarf_Debug /*dbg*/, Dwarf_Func** /*funcs*/, Dwarf_Signed * /*number_of_funcs*/, Dwarf_Error* /*error*/);int dwarf_funcname(Dwarf_Func /*func*/, char ** /*returned_name*/, Dwarf_Error* /*error*/);int dwarf_func_die_offset(Dwarf_Func /*func*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_func_cu_offset(Dwarf_Func /*func*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_func_name_offsets(Dwarf_Func /*func*/, char ** /*returned_name*/, Dwarf_Off* /*die_offset*/, Dwarf_Off* /*cu_offset*/, Dwarf_Error* /*error*/);/* User-defined type name operations. */int dwarf_get_types(Dwarf_Debug /*dbg*/, Dwarf_Type** /*types*/, Dwarf_Signed * /*number_of_types*/, Dwarf_Error* /*error*/);int dwarf_typename(Dwarf_Type /*type*/, char ** /*returned_name*/, Dwarf_Error* /*error*/);int dwarf_type_die_offset(Dwarf_Type /*type*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_type_cu_offset(Dwarf_Type /*type*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_type_name_offsets(Dwarf_Type /*type*/, char ** /*returned_name*/, Dwarf_Off* /*die_offset*/, Dwarf_Off* /*cu_offset*/, Dwarf_Error* /*error*/);/* File-scope static variable name operations. */int dwarf_get_vars(Dwarf_Debug /*dbg*/, Dwarf_Var** /*vars*/, Dwarf_Signed * /*number_of_vars*/, Dwarf_Error* /*error*/);int dwarf_varname(Dwarf_Var /*var*/, char ** /*returned_name*/, Dwarf_Error* /*error*/);int dwarf_var_die_offset(Dwarf_Var /*var*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_var_cu_offset(Dwarf_Var /*var*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_var_name_offsets(Dwarf_Var /*var*/, char ** /*returned_name*/, Dwarf_Off* /*die_offset*/, Dwarf_Off* /*cu_offset*/, Dwarf_Error* /*error*/);/* weak name operations. */int dwarf_get_weaks(Dwarf_Debug /*dbg*/, Dwarf_Weak** /*weaks*/, Dwarf_Signed * /*number_of_weaks*/, Dwarf_Error* /*error*/);int dwarf_weakname(Dwarf_Weak /*weak*/, char ** /*returned_name*/, Dwarf_Error* /*error*/);int dwarf_weak_die_offset(Dwarf_Weak /*weak*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_weak_cu_offset(Dwarf_Weak /*weak*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_weak_name_offsets(Dwarf_Weak /*weak*/, char ** /*returned_name*/, Dwarf_Off* /*die_offset*/, Dwarf_Off* /*cu_offset*/, Dwarf_Error* /*error*/);/* location list section operation. (.debug_loc access) *//* Unimplemented. */int dwarf_get_loclist_entry(Dwarf_Debug /*dbg*/, Dwarf_Unsigned /*offset*/, Dwarf_Addr* /*hipc*/, Dwarf_Addr* /*lopc*/, Dwarf_Ptr* /*data*/, Dwarf_Unsigned* /*entry_len*/, Dwarf_Unsigned* /*next_entry*/, Dwarf_Error* /*error*/);/* abbreviation section operations */int dwarf_get_abbrev(Dwarf_Debug /*dbg*/, Dwarf_Unsigned /*offset*/, Dwarf_Abbrev * /*returned_abbrev*/, Dwarf_Unsigned* /*length*/, Dwarf_Unsigned* /*attr_count*/, Dwarf_Error* /*error*/);int dwarf_get_abbrev_tag(Dwarf_Abbrev /*abbrev*/, Dwarf_Half* /*return_tag_number*/, Dwarf_Error* /*error*/);int dwarf_get_abbrev_code(Dwarf_Abbrev /*abbrev*/, Dwarf_Unsigned* /*return_code_number*/, Dwarf_Error* /*error*/);int dwarf_get_abbrev_children_flag(Dwarf_Abbrev /*abbrev*/, Dwarf_Signed* /*return_flag*/, Dwarf_Error* /*error*/);int dwarf_get_abbrev_entry(Dwarf_Abbrev /*abbrev*/, Dwarf_Signed /*index*/, Dwarf_Half * /*returned_attr_num*/, Dwarf_Signed* /*form*/, Dwarf_Off* /*offset*/, Dwarf_Error* /*error*/);/* consumer string section operation */int dwarf_get_str(Dwarf_Debug /*dbg*/, Dwarf_Off /*offset*/, char** /*string*/, Dwarf_Signed * /*strlen_of_string*/, Dwarf_Error* /*error*/);/* consumer operations on frame info: .debug_frame */int dwarf_get_fde_list(Dwarf_Debug /*dbg*/, Dwarf_Cie** /*cie_data*/, Dwarf_Signed* /*cie_element_count*/, Dwarf_Fde** /*fde_data*/, Dwarf_Signed* /*fde_element_count*/, Dwarf_Error* /*error*/);int dwarf_get_fde_range(Dwarf_Fde /*fde*/, Dwarf_Addr* /*low_pc*/, Dwarf_Unsigned* /*func_length*/, Dwarf_Ptr* /*fde_bytes*/, Dwarf_Unsigned* /*fde_byte_length*/, Dwarf_Off* /*cie_offset*/, Dwarf_Signed* /*cie_index*/, Dwarf_Off* /*fde_offset*/, Dwarf_Error* /*error*/);int dwarf_get_cie_info(Dwarf_Cie /*cie*/, Dwarf_Unsigned * /*bytes_in_cie*/, Dwarf_Small* /*version*/,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -