/* Copyright (C) 2007-2010 The Android Open Source Project | |
** | |
** This software is licensed under the terms of the GNU General Public | |
** License version 2, as published by the Free Software Foundation, and | |
** may be copied, distributed, and modified under those terms. | |
** | |
** This program is distributed in the hope that it will be useful, | |
** but WITHOUT ANY WARRANTY; without even the implied warranty of | |
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
** GNU General Public License for more details. | |
*/ | |
/* | |
* Contains declarations of misc. DWARF utility routines. | |
*/ | |
#ifndef ELFF_DWARF_UTILS_ | |
#define ELFF_DWARF_UTILS_ | |
#include "dwarf_defs.h" | |
/* Gets DWARF attribute name string (DW_AT_Xxx) for a given attribute ID. | |
* Param: | |
* at - DWARF attribute ID to get name string for. | |
* Return: | |
* Attribute name string. Note that this routine returns "DW_AT_Unknown", | |
* if DWARF attribute value passed to this routine has not been recognized. | |
*/ | |
const char* dwarf_at_name(Dwarf_At at); | |
/* Gets DWARF form name string (DW_FORM_Xxx) for a given form. | |
* Param: | |
* form - DWARF form to get name string for. | |
* Return: | |
* Form name string. Note that this routine returns "DW_FORM_Unknown", if | |
* DWARF form value passed to this routine has not been recognized. | |
*/ | |
const char* dwarf_form_name(Dwarf_Form form); | |
/* Gets DWARF tag name string (DW_TAG_Xxx) for a given tag. | |
* Param: | |
* tag - DWARF tag to get name string for. | |
* Return: | |
* Tag name string. Note that this routine returns "DW_TAG_Unknown", if DWARF | |
* tag value passed to this routine has not been recognized. | |
*/ | |
const char* dwarf_tag_name(Dwarf_Tag tag); | |
/* Dumps DWARF attribute to stdout. | |
* Param: | |
* at - Attribute ID (DW_AT_Xxx) | |
* form - Attribute form (DW_FORM_Xxx) | |
* val - Attribute value. | |
*/ | |
void dump_attrib(Dwarf_At at, Dwarf_Form form, const Dwarf_Value* val); | |
/* Dumps DWARF attribute value to stdout. | |
* Param: | |
* val - Attribute value. | |
*/ | |
void dump_value(const Dwarf_Value* val); | |
#endif // ELFF_DWARF_UTILS_ |