* Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
* Copyright 2013, Rene Gollent, rene@gollent.com.
* Distributed under the terms of the MIT License.
*/
#ifndef ATTRIBUTE_TABLES_H
#define ATTRIBUTE_TABLES_H
#include "DebugInfoEntry.h"
typedef status_t (DebugInfoEntry::* DebugInfoEntrySetter)(uint16,
const AttributeValue&);
enum {
ATTRIBUTE_CLASS_UNKNOWN = 0,
ATTRIBUTE_CLASS_ADDRESS = 1,
ATTRIBUTE_CLASS_ADDRPTR = 2,
ATTRIBUTE_CLASS_BLOCK = 3,
ATTRIBUTE_CLASS_CONSTANT = 4,
ATTRIBUTE_CLASS_FLAG = 5,
ATTRIBUTE_CLASS_LINEPTR = 6,
ATTRIBUTE_CLASS_LOCLIST = 7,
ATTRIBUTE_CLASS_LOCLISTPTR = 8,
ATTRIBUTE_CLASS_MACPTR = 9,
ATTRIBUTE_CLASS_RANGELIST = 10,
ATTRIBUTE_CLASS_RANGELISTPTR = 11,
ATTRIBUTE_CLASS_REFERENCE = 12,
ATTRIBUTE_CLASS_STRING = 13,
ATTRIBUTE_CLASS_STROFFSETSPTR = 14,
};
uint16 get_attribute_name_classes(uint32 name);
uint16 get_attribute_form_classes(uint32 form);
uint8 get_attribute_class(uint32 name, uint32 form);
const char* get_attribute_name_name(uint32 name);
const char* get_attribute_form_name(uint32 form);
DebugInfoEntrySetter get_attribute_name_setter(uint32 name);
#endif