📄 libdwarf2.h
字号:
char ** /*augmenter*/, Dwarf_Unsigned* /*code_alignment_factor*/, Dwarf_Signed* /*data_alignment_factor*/, Dwarf_Half* /*return_address_register_rule*/, Dwarf_Ptr* /*initial_instructions*/, Dwarf_Unsigned* /*initial_instructions_length*/, Dwarf_Error* /*error*/);int dwarf_get_fde_instr_bytes(Dwarf_Fde /*fde*/, Dwarf_Ptr * /*outinstrs*/, Dwarf_Unsigned * /*outlen*/, Dwarf_Error * /*error*/);int dwarf_get_fde_info_for_all_regs(Dwarf_Fde /*fde*/, Dwarf_Addr /*pc_requested*/, Dwarf_Regtable* /*reg_table*/, Dwarf_Addr* /*row_pc*/, Dwarf_Error* /*error*/);int dwarf_get_fde_info_for_reg(Dwarf_Fde /*fde*/, Dwarf_Half /*table_column*/, Dwarf_Addr /*pc_requested*/, Dwarf_Signed* /*offset_relevant*/, Dwarf_Signed* /*register*/, Dwarf_Signed* /*offset*/, Dwarf_Addr* /*row_pc*/, Dwarf_Error* /*error*/);int dwarf_get_fde_for_die(Dwarf_Debug /*dbg*/, Dwarf_Die /*subr_die */, Dwarf_Fde * /*returned_fde*/, Dwarf_Error* /*error*/);int dwarf_get_fde_n(Dwarf_Fde* /*fde_data*/, Dwarf_Unsigned /*fde_index*/, Dwarf_Fde * /*returned_fde*/, Dwarf_Error* /*error*/);int dwarf_get_fde_at_pc(Dwarf_Fde* /*fde_data*/, Dwarf_Addr /*pc_of_interest*/, Dwarf_Fde * /*returned_fde*/, Dwarf_Addr* /*lopc*/, Dwarf_Addr* /*hipc*/, Dwarf_Error* /*error*/);int dwarf_expand_frame_instructions(Dwarf_Debug /*dbg*/, Dwarf_Ptr /*instruction*/, Dwarf_Unsigned /*i_length*/, Dwarf_Frame_Op** /*returned_op_list*/, Dwarf_Signed* /*op_count*/, Dwarf_Error* /*error*/);/* Operations on .debug_aranges. */int dwarf_get_aranges(Dwarf_Debug /*dbg*/, Dwarf_Arange** /*aranges*/, Dwarf_Signed * /*arange_count*/, Dwarf_Error* /*error*/);int dwarf_get_arange( Dwarf_Arange* /*aranges*/, Dwarf_Unsigned /*arange_count*/, Dwarf_Addr /*address*/, Dwarf_Arange * /*returned_arange*/, Dwarf_Error* /*error*/);int dwarf_get_cu_die_offset( Dwarf_Arange /*arange*/, Dwarf_Off* /*return_offset*/, Dwarf_Error* /*error*/);int dwarf_get_arange_info( Dwarf_Arange /*arange*/, Dwarf_Addr* /*start*/, Dwarf_Unsigned* /*length*/, Dwarf_Off* /*cu_die_offset*/, Dwarf_Error* /*error*/);/* consumer .debug_macinfo information interface.*/struct Dwarf_Macro_Details_s { Dwarf_Off dmd_offset; /* offset, in the section, of this macro info */ Dwarf_Small dmd_type; /* the type, DW_MACINFO_define etc*/ Dwarf_Signed dmd_lineno; /* the source line number where applicable and vend_def # if vendor_extension op */ Dwarf_Signed dmd_fileindex;/* the source file index: applies to define undef start_file */ char * dmd_macro; /* macro name (with value for defineop) string from vendor ext */};typedef struct Dwarf_Macro_Details_s Dwarf_Macro_Details;int dwarf_get_macro(Dwarf_Debug /*dbg*/, char * /*requested_macro_name*/, Dwarf_Addr /*pc_of_request*/, char ** /*returned_macro_value*/, Dwarf_Error * /*error*/);int dwarf_get_all_defined_macros(Dwarf_Debug /*dbg*/, Dwarf_Addr /*pc_of_request*/, Dwarf_Signed * /*returned_count*/, char *** /*returned_pointers_to_macros*/, Dwarf_Error * /*error*/);char *dwarf_find_macro_value_start(char * /*macro_string*/);int dwarf_get_macro_details(Dwarf_Debug /*dbg*/, Dwarf_Off /*macro_offset*/, Dwarf_Unsigned /*maximum_count*/, Dwarf_Signed * /*entry_count*/, Dwarf_Macro_Details ** /*details*/, Dwarf_Error * /*err*/);int dwarf_get_address_size(Dwarf_Debug /*dbg*/, Dwarf_Half * /*addr_size*/, Dwarf_Error * /*error*/);/* utility operations */Dwarf_Unsigned dwarf_errno(Dwarf_Error /*error*/);char* dwarf_errmsg(Dwarf_Error /*error*/);/* stringcheck zero is default and means do all** string length validity checks.** Call with parameter value 1 to turn off many such checks (and** increase performance).** Call with zero for safest running.** Actual value saved and returned is only 8 bits! Upper bits** ignored by libdwarf (and zero on return).** Returns previous value.*/int dwarf_set_stringcheck(int /*stringcheck*/);/* Unimplemented */Dwarf_Handler dwarf_seterrhand(Dwarf_Debug /*dbg*/, Dwarf_Handler /*errhand*/);/* Unimplemented */Dwarf_Ptr dwarf_seterrarg(Dwarf_Debug /*dbg*/, Dwarf_Ptr /*errarg*/);void dwarf_dealloc(Dwarf_Debug /*dbg*/, void* /*space*/, Dwarf_Unsigned /*type*/);/* DWARF Producer Interface */typedef int (*Dwarf_Callback_Func)(char* /*name*/, int /*size*/, Dwarf_Unsigned /*type*/, Dwarf_Unsigned /*flags*/, Dwarf_Unsigned /*link*/, Dwarf_Unsigned /*info*/, int* /*sect name index*/, int* /*error*/);Dwarf_P_Debug dwarf_producer_init(Dwarf_Unsigned /*creation_flags*/, Dwarf_Callback_Func /*func*/, Dwarf_Handler /*errhand*/, Dwarf_Ptr /*errarg*/, Dwarf_Error* /*error*/);Dwarf_Signed dwarf_transform_to_disk_form(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/);Dwarf_Ptr dwarf_get_section_bytes(Dwarf_P_Debug /*dbg*/, Dwarf_Signed /*dwarf_section*/, Dwarf_Signed* /*elf_section_index*/, Dwarf_Unsigned* /*length*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_producer_finish(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/);/* Producer attribute addition functions. */Dwarf_P_Attribute dwarf_add_AT_targ_address(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, Dwarf_Unsigned /*pc_value*/, Dwarf_Signed /*sym_index*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_unsigned_const(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, Dwarf_Unsigned /*value*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_signed_const(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, Dwarf_Signed /*value*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_reference(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, Dwarf_P_Die /*otherdie*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_const_value_string(Dwarf_P_Die /*ownerdie*/, char* /*string_value*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_location_expr(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, Dwarf_P_Expr /*loc_expr*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_string(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, char* /*string*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_flag(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*ownerdie*/, Dwarf_Half /*attr*/, Dwarf_Small /*flag*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_producer(Dwarf_P_Die /*ownerdie*/, char* /*producer_string*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_const_value_signedint(Dwarf_P_Die /*ownerdie*/, Dwarf_Signed /*signed_value*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_const_value_unsignedint( Dwarf_P_Die /*ownerdie*/, Dwarf_Unsigned /*unsigned_value*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_comp_dir(Dwarf_P_Die /*ownerdie*/, char* /*current_working_directory*/, Dwarf_Error* /*error*/);Dwarf_P_Attribute dwarf_add_AT_name(Dwarf_P_Die /*die*/, char* /*name*/, Dwarf_Error* /*error*/);/* Producer line creation functions (.debug_line) */Dwarf_Unsigned dwarf_add_directory_decl(Dwarf_P_Debug /*dbg*/, char* /*name*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_file_decl(Dwarf_P_Debug /*dbg*/, char* /*name*/, Dwarf_Unsigned /*dir_index*/, Dwarf_Unsigned /*time_last_modified*/, Dwarf_Unsigned /*length*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_line_entry(Dwarf_P_Debug /*dbg*/, Dwarf_Unsigned /*file_index*/, Dwarf_Addr /*code_address*/, Dwarf_Unsigned /*lineno*/, Dwarf_Signed /*column_number*/, Dwarf_Bool /*is_source_stmt_begin*/, Dwarf_Bool /*is_basic_block_begin*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_lne_set_address(Dwarf_P_Debug /*dbg*/, Dwarf_Unsigned /*offset*/, Dwarf_Unsigned /*symbol_index*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_lne_end_sequence(Dwarf_P_Debug /*dbg*/, Dwarf_Addr /*end_address*/, Dwarf_Error* /*error*/);/* Producer .debug_frame functions */Dwarf_Unsigned dwarf_add_frame_cie(Dwarf_P_Debug /*dbg*/, char* /*augmenter*/, Dwarf_Small /*code_alignent_factor*/, Dwarf_Small /*data_alignment_factor*/, Dwarf_Small /*return_address_reg*/, Dwarf_Ptr /*initialization_bytes*/, Dwarf_Unsigned /*init_byte_len*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_frame_fde( Dwarf_P_Debug /*dbg*/, Dwarf_P_Fde /*fde*/, Dwarf_P_Die /*corresponding subprogram die*/, Dwarf_Unsigned /*cie_to_use*/, Dwarf_Unsigned /*virt_addr_of_described_code*/, Dwarf_Unsigned /*length_of_code*/, Dwarf_Unsigned /*symbol_index*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_frame_info( Dwarf_P_Debug dbg /*dbg*/, Dwarf_P_Fde /*fde*/, Dwarf_P_Die /*die*/, Dwarf_Unsigned /*cie*/, Dwarf_Unsigned /*virt_addr*/, Dwarf_Unsigned /*code_len*/, Dwarf_Unsigned /*symidx*/, Dwarf_Signed /*offset_into_exception_tables*/, Dwarf_Unsigned /*exception_table_symbol*/, Dwarf_Error* /*error*/);Dwarf_P_Fde dwarf_add_fde_inst(Dwarf_P_Fde /*fde*/, Dwarf_Small /*op*/, Dwarf_Unsigned /*val1*/, Dwarf_Unsigned /*val2*/, Dwarf_Error* /*error*/);Dwarf_P_Fde dwarf_new_fde(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/);Dwarf_P_Fde dwarf_fde_cfa_offset(Dwarf_P_Fde /*fde*/, Dwarf_Unsigned /*register_number*/, Dwarf_Signed /*offset*/, Dwarf_Error* /*error*/);/* die creation & addition routines */Dwarf_P_Die dwarf_new_die(Dwarf_P_Debug /*dbg*/, Dwarf_Tag /*tag*/, Dwarf_P_Die /*parent*/, Dwarf_P_Die /*child*/, Dwarf_P_Die /*left */, Dwarf_P_Die /*right*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_die_to_debug(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*die*/, Dwarf_Error* /*error*/);Dwarf_P_Die dwarf_die_link(Dwarf_P_Die /*die*/, Dwarf_P_Die /*parent*/, Dwarf_P_Die /*child*/, Dwarf_P_Die /*left*/, Dwarf_P_Die /*right*/, Dwarf_Error* /*error*/);/* Operations to create location expressions. */Dwarf_P_Expr dwarf_new_expr(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_expr_gen(Dwarf_P_Expr /*expr*/, Dwarf_Small /*opcode*/, Dwarf_Unsigned /*val1*/, Dwarf_Unsigned /*val2*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_expr_addr(Dwarf_P_Expr /*expr*/, Dwarf_Unsigned /*addr*/, Dwarf_Signed /*sym_index*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_expr_current_offset( Dwarf_P_Expr /*expr*/, Dwarf_Error* /*error*/);Dwarf_Addr dwarf_expr_into_block(Dwarf_P_Expr /*expr*/, Dwarf_Unsigned* /*length*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_arange(Dwarf_P_Debug /*dbg*/, Dwarf_Addr /*begin_address*/, Dwarf_Unsigned /*length*/, Dwarf_Signed /*symbol_index*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_pubname(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*die*/, char* /*pubname_name*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_funcname(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*die*/, char* /*func_name*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_typename(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*die*/, char* /*type_name*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_varname(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*die*/, char* /*var_name*/, Dwarf_Error* /*error*/);Dwarf_Unsigned dwarf_add_weakname(Dwarf_P_Debug /*dbg*/, Dwarf_P_Die /*die*/, char* /*weak_name*/, Dwarf_Error* /*error*/);/* .debug_macinfo producer functions Functions must be called in right order: the section is output In the order these are presented.*/int dwarf_def_macro(Dwarf_P_Debug /*dbg*/, Dwarf_Unsigned /*line*/, char * /*macname, with (arglist), no space before (*/, char * /*macvalue*/, Dwarf_Error* /*error*/);int dwarf_undef_macro(Dwarf_P_Debug /*dbg*/, Dwarf_Unsigned /*line*/, char * /*macname, no arglist, of course*/, Dwarf_Error* /*error*/);int dwarf_start_macro_file(Dwarf_P_Debug /*dbg*/, Dwarf_Unsigned /*fileindex*/, Dwarf_Unsigned /*linenumber*/, Dwarf_Error* /*error*/);int dwarf_end_macro_file(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/);int dwarf_vendor_ext(Dwarf_P_Debug /*dbg*/, Dwarf_Unsigned /*constant*/, char * /*string*/, Dwarf_Error* /*error*/);/* end macinfo producer functions */void dwarf_p_dealloc(void* /*space*/, Dwarf_Unsigned /*type*/);int dwarf_attr_offset(Dwarf_Die /*die*/, Dwarf_Attribute /*attr of above die*/, Dwarf_Off * /*returns offset thru this ptr */, Dwarf_Error * /*error*/);#ifdef __cplusplus}#endif#endif /* _LIBDWARF_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -