Vladimir Chtchetkine | 5389aa1 | 2010-02-16 10:38:35 -0800 | [diff] [blame] | 1 | /* Copyright (C) 2007-2010 The Android Open Source Project
|
| 2 | **
|
| 3 | ** This software is licensed under the terms of the GNU General Public
|
| 4 | ** License version 2, as published by the Free Software Foundation, and
|
| 5 | ** may be copied, distributed, and modified under those terms.
|
| 6 | **
|
| 7 | ** This program is distributed in the hope that it will be useful,
|
| 8 | ** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 9 | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 10 | ** GNU General Public License for more details.
|
| 11 | */
|
| 12 |
|
| 13 | /*
|
| 14 | * Contains declarations of misc. DWARF utility routines.
|
| 15 | */
|
| 16 |
|
| 17 | #ifndef ELFF_DWARF_UTILS_
|
| 18 | #define ELFF_DWARF_UTILS_
|
| 19 |
|
| 20 | #include "dwarf_defs.h"
|
| 21 |
|
| 22 | /* Gets DWARF attribute name string (DW_AT_Xxx) for a given attribute ID.
|
| 23 | * Param:
|
| 24 | * at - DWARF attribute ID to get name string for.
|
| 25 | * Return:
|
| 26 | * Attribute name string. Note that this routine returns "DW_AT_Unknown",
|
| 27 | * if DWARF attribute value passed to this routine has not been recognized.
|
| 28 | */
|
| 29 | const char* dwarf_at_name(Dwarf_At at);
|
| 30 |
|
| 31 | /* Gets DWARF form name string (DW_FORM_Xxx) for a given form.
|
| 32 | * Param:
|
| 33 | * form - DWARF form to get name string for.
|
| 34 | * Return:
|
| 35 | * Form name string. Note that this routine returns "DW_FORM_Unknown", if
|
| 36 | * DWARF form value passed to this routine has not been recognized.
|
| 37 | */
|
| 38 | const char* dwarf_form_name(Dwarf_Form form);
|
| 39 |
|
| 40 | /* Gets DWARF tag name string (DW_TAG_Xxx) for a given tag.
|
| 41 | * Param:
|
| 42 | * tag - DWARF tag to get name string for.
|
| 43 | * Return:
|
| 44 | * Tag name string. Note that this routine returns "DW_TAG_Unknown", if DWARF
|
| 45 | * tag value passed to this routine has not been recognized.
|
| 46 | */
|
| 47 | const char* dwarf_tag_name(Dwarf_Tag tag);
|
| 48 |
|
| 49 | /* Dumps DWARF attribute to stdout.
|
| 50 | * Param:
|
| 51 | * at - Attribute ID (DW_AT_Xxx)
|
| 52 | * form - Attribute form (DW_FORM_Xxx)
|
| 53 | * val - Attribute value.
|
| 54 | */
|
| 55 | void dump_attrib(Dwarf_At at, Dwarf_Form form, const Dwarf_Value* val);
|
| 56 |
|
| 57 | /* Dumps DWARF attribute value to stdout.
|
| 58 | * Param:
|
| 59 | * val - Attribute value.
|
| 60 | */
|
| 61 | void dump_value(const Dwarf_Value* val);
|
| 62 |
|
| 63 | #endif // ELFF_DWARF_UTILS_
|