ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dwarf.h
Go to the documentation of this file.
00001 /*
00002  * dwarf2 definitions
00003  *
00004  * Copyright (C) 2005, Raphael Junqueira
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 typedef enum dwarf_tag_e
00022 {
00023   DW_TAG_padding                        = 0x00,
00024   DW_TAG_array_type                     = 0x01,
00025   DW_TAG_class_type                     = 0x02,
00026   DW_TAG_entry_point                    = 0x03,
00027   DW_TAG_enumeration_type               = 0x04,
00028   DW_TAG_formal_parameter               = 0x05,
00029   DW_TAG_imported_declaration           = 0x08,
00030   DW_TAG_label                          = 0x0a,
00031   DW_TAG_lexical_block                  = 0x0b,
00032   DW_TAG_member                         = 0x0d,
00033   DW_TAG_pointer_type                   = 0x0f,
00034   DW_TAG_reference_type                 = 0x10,
00035   DW_TAG_compile_unit                   = 0x11,
00036   DW_TAG_string_type                    = 0x12,
00037   DW_TAG_structure_type                 = 0x13,
00038   DW_TAG_subroutine_type                = 0x15,
00039   DW_TAG_typedef                        = 0x16,
00040   DW_TAG_union_type                     = 0x17,
00041   DW_TAG_unspecified_parameters         = 0x18,
00042   DW_TAG_variant                        = 0x19,
00043   DW_TAG_common_block                   = 0x1a,
00044   DW_TAG_common_inclusion               = 0x1b,
00045   DW_TAG_inheritance                    = 0x1c,
00046   DW_TAG_inlined_subroutine             = 0x1d,
00047   DW_TAG_module                         = 0x1e,
00048   DW_TAG_ptr_to_member_type             = 0x1f,
00049   DW_TAG_set_type                       = 0x20,
00050   DW_TAG_subrange_type                  = 0x21,
00051   DW_TAG_with_stmt                      = 0x22,
00052   DW_TAG_access_declaration             = 0x23,
00053   DW_TAG_base_type                      = 0x24,
00054   DW_TAG_catch_block                    = 0x25,
00055   DW_TAG_const_type                     = 0x26,
00056   DW_TAG_constant                       = 0x27,
00057   DW_TAG_enumerator                     = 0x28,
00058   DW_TAG_file_type                      = 0x29,
00059   DW_TAG_friend                         = 0x2a,
00060   DW_TAG_namelist                       = 0x2b,
00061   DW_TAG_namelist_item                  = 0x2c,
00062   DW_TAG_packed_type                    = 0x2d,
00063   DW_TAG_subprogram                     = 0x2e,
00064   DW_TAG_template_type_param            = 0x2f,
00065   DW_TAG_template_value_param           = 0x30,
00066   DW_TAG_thrown_type                    = 0x31,
00067   DW_TAG_try_block                      = 0x32,
00068   DW_TAG_variant_part                   = 0x33,
00069   DW_TAG_variable                       = 0x34,
00070   DW_TAG_volatile_type                  = 0x35,
00072   DW_TAG_dwarf_procedure                = 0x36,
00073   DW_TAG_restrict_type                  = 0x37,
00074   DW_TAG_interface_type                 = 0x38,
00075   DW_TAG_namespace                      = 0x39,
00076   DW_TAG_imported_module                = 0x3a,
00077   DW_TAG_unspecified_type               = 0x3b,
00078   DW_TAG_partial_unit                   = 0x3c,
00079   DW_TAG_imported_unit                  = 0x3d,
00080   DW_TAG_mutable_type                   = 0x3e,
00082   DW_TAG_condition                      = 0x3f,
00083   DW_TAG_shared_type                    = 0x40,
00085   DW_TAG_type_unit                      = 0x41,
00086   DW_TAG_rvalue_reference_type          = 0x42,
00087   DW_TAG_template_alias                 = 0x43,
00089   DW_TAG_MIPS_loop                      = 0x4081,
00090   DW_TAG_format_label                   = 0x4101,
00091   DW_TAG_function_template              = 0x4102,
00092   DW_TAG_class_template                 = 0x4103,
00093   DW_TAG_GNU_BINCL                      = 0x4104,
00094   DW_TAG_GNU_EINCL                      = 0x4105,
00095   DW_TAG_GNU_template_template_param    = 0x4106,
00096   DW_TAG_GNU_template_parameter_pack    = 0x4107,
00097   DW_TAG_GNU_formal_parameter_pack      = 0x4108,
00098   DW_TAG_GNU_call_site                  = 0x4109,
00099   DW_TAG_GNU_call_site_parameter        = 0x410a,
00100 } dwarf_tag_t;
00101 
00102 typedef enum dwarf_attribute_e
00103 {
00104   DW_AT_sibling                         = 0x01,
00105   DW_AT_location                        = 0x02,
00106   DW_AT_name                            = 0x03,
00107   DW_AT_ordering                        = 0x09,
00108   DW_AT_subscr_data                     = 0x0a,
00109   DW_AT_byte_size                       = 0x0b,
00110   DW_AT_bit_offset                      = 0x0c,
00111   DW_AT_bit_size                        = 0x0d,
00112   DW_AT_element_list                    = 0x0f,
00113   DW_AT_stmt_list                       = 0x10,
00114   DW_AT_low_pc                          = 0x11,
00115   DW_AT_high_pc                         = 0x12,
00116   DW_AT_language                        = 0x13,
00117   DW_AT_member                          = 0x14,
00118   DW_AT_discr                           = 0x15,
00119   DW_AT_discr_value                     = 0x16,
00120   DW_AT_visibility                      = 0x17,
00121   DW_AT_import                          = 0x18,
00122   DW_AT_string_length                   = 0x19,
00123   DW_AT_common_reference                = 0x1a,
00124   DW_AT_comp_dir                        = 0x1b,
00125   DW_AT_const_value                     = 0x1c,
00126   DW_AT_containing_type                 = 0x1d,
00127   DW_AT_default_value                   = 0x1e,
00128   DW_AT_inline                          = 0x20,
00129   DW_AT_is_optional                     = 0x21,
00130   DW_AT_lower_bound                     = 0x22,
00131   DW_AT_producer                        = 0x25,
00132   DW_AT_prototyped                      = 0x27,
00133   DW_AT_return_addr                     = 0x2a,
00134   DW_AT_start_scope                     = 0x2c,
00135   DW_AT_stride_size                     = 0x2e,
00136   DW_AT_upper_bound                     = 0x2f,
00137   DW_AT_abstract_origin                 = 0x31,
00138   DW_AT_accessibility                   = 0x32,
00139   DW_AT_address_class                   = 0x33,
00140   DW_AT_artificial                      = 0x34,
00141   DW_AT_base_types                      = 0x35,
00142   DW_AT_calling_convention              = 0x36,
00143   DW_AT_count                           = 0x37,
00144   DW_AT_data_member_location            = 0x38,
00145   DW_AT_decl_column                     = 0x39,
00146   DW_AT_decl_file                       = 0x3a,
00147   DW_AT_decl_line                       = 0x3b,
00148   DW_AT_declaration                     = 0x3c,
00149   DW_AT_discr_list                      = 0x3d,
00150   DW_AT_encoding                        = 0x3e,
00151   DW_AT_external                        = 0x3f,
00152   DW_AT_frame_base                      = 0x40,
00153   DW_AT_friend                          = 0x41,
00154   DW_AT_identifier_case                 = 0x42,
00155   DW_AT_macro_info                      = 0x43,
00156   DW_AT_namelist_items                  = 0x44,
00157   DW_AT_priority                        = 0x45,
00158   DW_AT_segment                         = 0x46,
00159   DW_AT_specification                   = 0x47,
00160   DW_AT_static_link                     = 0x48,
00161   DW_AT_type                            = 0x49,
00162   DW_AT_use_location                    = 0x4a,
00163   DW_AT_variable_parameter              = 0x4b,
00164   DW_AT_virtuality                      = 0x4c,
00165   DW_AT_vtable_elem_location            = 0x4d,
00167   DW_AT_allocated                       = 0x4e,
00168   DW_AT_associated                      = 0x4f,
00169   DW_AT_data_location                   = 0x50,
00170   DW_AT_byte_stride                     = 0x51,
00171   DW_AT_stride                          = 0x51,
00172   DW_AT_entry_pc                        = 0x52,
00173   DW_AT_use_UTF8                        = 0x53,
00174   DW_AT_extension                       = 0x54,
00175   DW_AT_ranges                          = 0x55,
00176   DW_AT_trampoline                      = 0x56,
00177   DW_AT_call_column                     = 0x57,
00178   DW_AT_call_file                       = 0x58,
00179   DW_AT_call_line                       = 0x59,
00180   DW_AT_description                     = 0x5a,
00182   DW_AT_binary_scale                    = 0x5b,
00183   DW_AT_decimal_scale                   = 0x5c,
00184   DW_AT_small                           = 0x5d,
00185   DW_AT_decimal_sign                    = 0x5e,
00186   DW_AT_digit_count                     = 0x5f,
00187   DW_AT_picture_string                  = 0x60,
00188   DW_AT_mutable                         = 0x61,
00189   DW_AT_threads_scaled                  = 0x62,
00190   DW_AT_explicit                        = 0x63,
00191   DW_AT_object_pointer                  = 0x64,
00192   DW_AT_endianity                       = 0x65,
00193   DW_AT_elemental                       = 0x66,
00194   DW_AT_pure                            = 0x67,
00195   DW_AT_recursive                       = 0x68,
00197   DW_AT_signature                       = 0x69,
00198   DW_AT_main_subprogram                 = 0x6a,
00199   DW_AT_data_bit_offset                 = 0x6b,
00200   DW_AT_const_expr                      = 0x6c,
00201   DW_AT_enum_class                      = 0x6d,
00202   DW_AT_linkage_name                    = 0x6e,
00203   /* extensions */
00204   DW_AT_MIPS_fde                        = 0x2001,
00205   DW_AT_MIPS_loop_begin                 = 0x2002,
00206   DW_AT_MIPS_tail_loop_begin            = 0x2003,
00207   DW_AT_MIPS_epilog_begin               = 0x2004,
00208   DW_AT_MIPS_loop_unroll_factor         = 0x2005,
00209   DW_AT_MIPS_software_pipeline_depth    = 0x2006,
00210   DW_AT_MIPS_linkage_name               = 0x2007,
00211   DW_AT_MIPS_stride                     = 0x2008,
00212   DW_AT_MIPS_abstract_name              = 0x2009,
00213   DW_AT_MIPS_clone_origin               = 0x200a,
00214   DW_AT_MIPS_has_inlines                = 0x200b,
00215   DW_AT_sf_names                        = 0x2101,
00216   DW_AT_src_info                        = 0x2102,
00217   DW_AT_mac_info                        = 0x2103,
00218   DW_AT_src_coords                      = 0x2104,
00219   DW_AT_body_begin                      = 0x2105,
00220   DW_AT_body_end                        = 0x2106,
00221   DW_AT_GNU_vector                      = 0x2107,
00222   DW_AT_GNU_guarded_by                  = 0x2108,
00223   DW_AT_GNU_pt_guarded_by               = 0x2109,
00224   DW_AT_GNU_guarded                     = 0x210a,
00225   DW_AT_GNU_pt_guarded                  = 0x210b,
00226   DW_AT_GNU_locks_excluded              = 0x210c,
00227   DW_AT_GNU_exclusive_locks_required    = 0x210d,
00228   DW_AT_GNU_shared_locks_required       = 0x210e,
00229   DW_AT_GNU_odr_signature               = 0x210f,
00230   DW_AT_GNU_template_name               = 0x2110,
00231   DW_AT_GNU_call_site_value             = 0x2111,
00232   DW_AT_GNU_call_site_data_value        = 0x2112,
00233   DW_AT_GNU_call_site_target            = 0x2113,
00234   DW_AT_GNU_call_site_target_clobbered  = 0x2114,
00235   DW_AT_GNU_tail_call                   = 0x2115,
00236   DW_AT_GNU_all_tail_call_sites         = 0x2116,
00237   DW_AT_GNU_all_call_sites              = 0x2117,
00238   DW_AT_GNU_all_source_call_sites       = 0x2118,
00239 
00240 } dwarf_attribute_t;
00241 
00242 typedef enum dwarf_form_e
00243 {
00244   DW_FORM_addr                          = 0x01,
00245   DW_FORM_block2                        = 0x03,
00246   DW_FORM_block4                        = 0x04,
00247   DW_FORM_data2                         = 0x05,
00248   DW_FORM_data4                         = 0x06,
00249   DW_FORM_data8                         = 0x07,
00250   DW_FORM_string                        = 0x08,
00251   DW_FORM_block                         = 0x09,
00252   DW_FORM_block1                        = 0x0a,
00253   DW_FORM_data1                         = 0x0b,
00254   DW_FORM_flag                          = 0x0c,
00255   DW_FORM_sdata                         = 0x0d,
00256   DW_FORM_strp                          = 0x0e,
00257   DW_FORM_udata                         = 0x0f,
00258   DW_FORM_ref_addr                      = 0x10,
00259   DW_FORM_ref1                          = 0x11,
00260   DW_FORM_ref2                          = 0x12,
00261   DW_FORM_ref4                          = 0x13,
00262   DW_FORM_ref8                          = 0x14,
00263   DW_FORM_ref_udata                     = 0x15,
00264   DW_FORM_indirect                      = 0x16,
00266   DW_FORM_sec_offset                    = 0x17,
00267   DW_FORM_exprloc                       = 0x18,
00268   DW_FORM_flag_present                  = 0x19,
00269   DW_FORM_ref_sig8                      = 0x20,
00270 } dwarf_form_t;
00271 
00273 typedef enum dwarf_type_e
00274 {
00275   DW_ATE_void                           = 0x0,
00276   DW_ATE_address                        = 0x1,
00277   DW_ATE_boolean                        = 0x2,
00278   DW_ATE_complex_float                  = 0x3,
00279   DW_ATE_float                          = 0x4,
00280   DW_ATE_signed                         = 0x5,
00281   DW_ATE_signed_char                    = 0x6,
00282   DW_ATE_unsigned                       = 0x7,
00283   DW_ATE_unsigned_char                  = 0x8,
00284   /* Dwarf3 new values */
00285   DW_ATE_imaginary_float                = 0x9,
00286   DW_ATE_packed_decimal                 = 0xa,
00287   DW_ATE_numeric_string                 = 0xb,
00288   DW_ATE_edited                         = 0xc,
00289   DW_ATE_signed_fixed                   = 0xd,
00290   DW_ATE_unsigned_fixed                 = 0xe,
00291   DW_ATE_decimal_float                  = 0xf,
00292 } dwarf_type_t;
00293 
00294 typedef enum dwarf_operation_e
00295 {
00296   DW_OP_addr                            = 0x03,
00297   DW_OP_deref                           = 0x06,
00298   DW_OP_const1u                         = 0x08,
00299   DW_OP_const1s                         = 0x09,
00300   DW_OP_const2u                         = 0x0a,
00301   DW_OP_const2s                         = 0x0b,
00302   DW_OP_const4u                         = 0x0c,
00303   DW_OP_const4s                         = 0x0d,
00304   DW_OP_const8u                         = 0x0e,
00305   DW_OP_const8s                         = 0x0f,
00306   DW_OP_constu                          = 0x10,
00307   DW_OP_consts                          = 0x11,
00308   DW_OP_dup                             = 0x12,
00309   DW_OP_drop                            = 0x13,
00310   DW_OP_over                            = 0x14,
00311   DW_OP_pick                            = 0x15,
00312   DW_OP_swap                            = 0x16,
00313   DW_OP_rot                             = 0x17,
00314   DW_OP_xderef                          = 0x18,
00315   DW_OP_abs                             = 0x19,
00316   DW_OP_and                             = 0x1a,
00317   DW_OP_div                             = 0x1b,
00318   DW_OP_minus                           = 0x1c,
00319   DW_OP_mod                             = 0x1d,
00320   DW_OP_mul                             = 0x1e,
00321   DW_OP_neg                             = 0x1f,
00322   DW_OP_not                             = 0x20,
00323   DW_OP_or                              = 0x21,
00324   DW_OP_plus                            = 0x22,
00325   DW_OP_plus_uconst                     = 0x23,
00326   DW_OP_shl                             = 0x24,
00327   DW_OP_shr                             = 0x25,
00328   DW_OP_shra                            = 0x26,
00329   DW_OP_xor                             = 0x27,
00330   DW_OP_bra                             = 0x28,
00331   DW_OP_eq                              = 0x29,
00332   DW_OP_ge                              = 0x2a,
00333   DW_OP_gt                              = 0x2b,
00334   DW_OP_le                              = 0x2c,
00335   DW_OP_lt                              = 0x2d,
00336   DW_OP_ne                              = 0x2e,
00337   DW_OP_skip                            = 0x2f,
00338   DW_OP_lit0                            = 0x30,
00339   DW_OP_lit1                            = 0x31,
00340   DW_OP_lit2                            = 0x32,
00341   DW_OP_lit3                            = 0x33,
00342   DW_OP_lit4                            = 0x34,
00343   DW_OP_lit5                            = 0x35,
00344   DW_OP_lit6                            = 0x36,
00345   DW_OP_lit7                            = 0x37,
00346   DW_OP_lit8                            = 0x38,
00347   DW_OP_lit9                            = 0x39,
00348   DW_OP_lit10                           = 0x3a,
00349   DW_OP_lit11                           = 0x3b,
00350   DW_OP_lit12                           = 0x3c,
00351   DW_OP_lit13                           = 0x3d,
00352   DW_OP_lit14                           = 0x3e,
00353   DW_OP_lit15                           = 0x3f,
00354   DW_OP_lit16                           = 0x40,
00355   DW_OP_lit17                           = 0x41,
00356   DW_OP_lit18                           = 0x42,
00357   DW_OP_lit19                           = 0x43,
00358   DW_OP_lit20                           = 0x44,
00359   DW_OP_lit21                           = 0x45,
00360   DW_OP_lit22                           = 0x46,
00361   DW_OP_lit23                           = 0x47,
00362   DW_OP_lit24                           = 0x48,
00363   DW_OP_lit25                           = 0x49,
00364   DW_OP_lit26                           = 0x4a,
00365   DW_OP_lit27                           = 0x4b,
00366   DW_OP_lit28                           = 0x4c,
00367   DW_OP_lit29                           = 0x4d,
00368   DW_OP_lit30                           = 0x4e,
00369   DW_OP_lit31                           = 0x4f,
00370   DW_OP_reg0                            = 0x50,
00371   DW_OP_reg1                            = 0x51,
00372   DW_OP_reg2                            = 0x52,
00373   DW_OP_reg3                            = 0x53,
00374   DW_OP_reg4                            = 0x54,
00375   DW_OP_reg5                            = 0x55,
00376   DW_OP_reg6                            = 0x56,
00377   DW_OP_reg7                            = 0x57,
00378   DW_OP_reg8                            = 0x58,
00379   DW_OP_reg9                            = 0x59,
00380   DW_OP_reg10                           = 0x5a,
00381   DW_OP_reg11                           = 0x5b,
00382   DW_OP_reg12                           = 0x5c,
00383   DW_OP_reg13                           = 0x5d,
00384   DW_OP_reg14                           = 0x5e,
00385   DW_OP_reg15                           = 0x5f,
00386   DW_OP_reg16                           = 0x60,
00387   DW_OP_reg17                           = 0x61,
00388   DW_OP_reg18                           = 0x62,
00389   DW_OP_reg19                           = 0x63,
00390   DW_OP_reg20                           = 0x64,
00391   DW_OP_reg21                           = 0x65,
00392   DW_OP_reg22                           = 0x66,
00393   DW_OP_reg23                           = 0x67,
00394   DW_OP_reg24                           = 0x68,
00395   DW_OP_reg25                           = 0x69,
00396   DW_OP_reg26                           = 0x6a,
00397   DW_OP_reg27                           = 0x6b,
00398   DW_OP_reg28                           = 0x6c,
00399   DW_OP_reg29                           = 0x6d,
00400   DW_OP_reg30                           = 0x6e,
00401   DW_OP_reg31                           = 0x6f,
00402   DW_OP_breg0                           = 0x70,
00403   DW_OP_breg1                           = 0x71,
00404   DW_OP_breg2                           = 0x72,
00405   DW_OP_breg3                           = 0x73,
00406   DW_OP_breg4                           = 0x74,
00407   DW_OP_breg5                           = 0x75,
00408   DW_OP_breg6                           = 0x76,
00409   DW_OP_breg7                           = 0x77,
00410   DW_OP_breg8                           = 0x78,
00411   DW_OP_breg9                           = 0x79,
00412   DW_OP_breg10                          = 0x7a,
00413   DW_OP_breg11                          = 0x7b,
00414   DW_OP_breg12                          = 0x7c,
00415   DW_OP_breg13                          = 0x7d,
00416   DW_OP_breg14                          = 0x7e,
00417   DW_OP_breg15                          = 0x7f,
00418   DW_OP_breg16                          = 0x80,
00419   DW_OP_breg17                          = 0x81,
00420   DW_OP_breg18                          = 0x82,
00421   DW_OP_breg19                          = 0x83,
00422   DW_OP_breg20                          = 0x84,
00423   DW_OP_breg21                          = 0x85,
00424   DW_OP_breg22                          = 0x86,
00425   DW_OP_breg23                          = 0x87,
00426   DW_OP_breg24                          = 0x88,
00427   DW_OP_breg25                          = 0x89,
00428   DW_OP_breg26                          = 0x8a,
00429   DW_OP_breg27                          = 0x8b,
00430   DW_OP_breg28                          = 0x8c,
00431   DW_OP_breg29                          = 0x8d,
00432   DW_OP_breg30                          = 0x8e,
00433   DW_OP_breg31                          = 0x8f,
00434   DW_OP_regx                            = 0x90,
00435   DW_OP_fbreg                           = 0x91,
00436   DW_OP_bregx                           = 0x92,
00437   DW_OP_piece                           = 0x93,
00438   DW_OP_deref_size                      = 0x94,
00439   DW_OP_xderef_size                     = 0x95,
00440   DW_OP_nop                             = 0x96,
00442   DW_OP_push_object_address             = 0x97,
00443   DW_OP_call2                           = 0x98,
00444   DW_OP_call4                           = 0x99,
00445   DW_OP_call_ref                        = 0x9a,
00446   DW_OP_form_tls_address                = 0x9b,
00447   DW_OP_call_frame_cfa                  = 0x9c,
00448   DW_OP_bit_piece                       = 0x9d,
00450   DW_OP_implicit_value                  = 0x9e,
00451   DW_OP_stack_value                     = 0x9f,
00452 
00453   /* Implementation defined extensions */
00454   DW_OP_lo_user                         = 0xe0,
00455   DW_OP_hi_user                         = 0xff,
00456 
00457   /* GNU extensions */
00458   DW_OP_GNU_push_tls_address            = 0xe0,
00459   DW_OP_GNU_uninit                      = 0xf0,
00460   DW_OP_GNU_encoded_addr                = 0xf1,
00461   DW_OP_GNU_implicit_pointer            = 0xf2,
00462   DW_OP_GNU_entry_value                 = 0xf3,
00463   DW_OP_GNU_const_type                  = 0xf4,
00464   DW_OP_GNU_regval_type                 = 0xf5,
00465   DW_OP_GNU_deref_type                  = 0xf6,
00466   DW_OP_GNU_convert                     = 0xf7,
00467   DW_OP_GNU_reinterpret                 = 0xf9,
00468 } dwarf_operation_t;
00469 
00470 enum dwarf_calling_convention
00471 {
00472     DW_CC_normal                        = 0x1,
00473     DW_CC_program                       = 0x2,
00474     DW_CC_nocall                        = 0x3
00475 };
00476 
00477 #define DW_CC_lo_user 0x40
00478 #define DW_CC_hi_user 0xff
00479 
00480 #define DW_LNS_extended_op              0x00
00481 #define DW_LNS_copy                     0x01
00482 #define DW_LNS_advance_pc               0x02
00483 #define DW_LNS_advance_line             0x03
00484 #define DW_LNS_set_file                 0x04
00485 #define DW_LNS_set_column               0x05
00486 #define DW_LNS_negate_stmt              0x06
00487 #define DW_LNS_set_basic_block          0x07
00488 #define DW_LNS_const_add_pc             0x08
00489 #define DW_LNS_fixed_advance_pc         0x09
00490 /* Dwarf3 new values */
00491 #define DW_LNS_set_prologue_end         0x0a
00492 #define DW_LNS_set_epilogue_begin       0x0b
00493 #define DW_LNS_set_isa                  0x0c
00494 
00495 #define DW_LNE_end_sequence             0x01
00496 #define DW_LNE_set_address              0x02
00497 #define DW_LNE_define_file              0x03
00498 /* Dwarf4 new values */
00499 #define DW_LNE_set_discriminator        0x04
00500 
00501 #define DW_CIE_ID                       ~(0x0)
00502 
00503 enum dwarf_call_frame_info
00504 {
00505     DW_CFA_advance_loc = 0x40,
00506     DW_CFA_offset = 0x80,
00507     DW_CFA_restore = 0xc0,
00508     DW_CFA_nop = 0x00,
00509     DW_CFA_set_loc = 0x01,
00510     DW_CFA_advance_loc1 = 0x02,
00511     DW_CFA_advance_loc2 = 0x03,
00512     DW_CFA_advance_loc4 = 0x04,
00513     DW_CFA_offset_extended = 0x05,
00514     DW_CFA_restore_extended = 0x06,
00515     DW_CFA_undefined = 0x07,
00516     DW_CFA_same_value = 0x08,
00517     DW_CFA_register = 0x09,
00518     DW_CFA_remember_state = 0x0a,
00519     DW_CFA_restore_state = 0x0b,
00520     DW_CFA_def_cfa = 0x0c,
00521     DW_CFA_def_cfa_register = 0x0d,
00522     DW_CFA_def_cfa_offset = 0x0e,
00523     DW_CFA_def_cfa_expression = 0x0f,
00524     DW_CFA_expression = 0x10,
00525     DW_CFA_offset_extended_sf = 0x11,
00526     DW_CFA_def_cfa_sf = 0x12,
00527     DW_CFA_def_cfa_offset_sf = 0x13,
00528     DW_CFA_val_offset = 0x14,
00529     DW_CFA_val_offset_sf = 0x15,
00530     DW_CFA_val_expression = 0x16,
00531     /* GNU extensions */
00532     DW_CFA_GNU_window_save = 0x2d,
00533     DW_CFA_GNU_args_size = 0x2e,
00534     DW_CFA_GNU_negative_offset_extended = 0x2f,
00535 
00536 };
00537 
00538 #define DW_EH_PE_native   0x00
00539 #define DW_EH_PE_leb128   0x01
00540 #define DW_EH_PE_data2    0x02
00541 #define DW_EH_PE_data4    0x03
00542 #define DW_EH_PE_data8    0x04
00543 #define DW_EH_PE_signed   0x08
00544 #define DW_EH_PE_abs      0x00
00545 #define DW_EH_PE_pcrel    0x10
00546 #define DW_EH_PE_textrel  0x20
00547 #define DW_EH_PE_datarel  0x30
00548 #define DW_EH_PE_funcrel  0x40
00549 #define DW_EH_PE_aligned  0x50
00550 #define DW_EH_PE_indirect 0x80
00551 #define DW_EH_PE_omit     0xff
00552 
00553 #define DW_INL_not_inlined              0x00
00554 #define DW_INL_inlined                  0x01
00555 #define DW_INL_declared_not_inlined     0x02
00556 #define DW_INL_declared_inlined         0x03

Generated on Sat May 26 2012 04:21:58 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.