xref: /haiku/src/kits/debugger/dwarf/AttributeClasses.h (revision 1e60bdeab63fa7a57bc9a55b032052e95a18bd2c)
1 /*
2  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Copyright 2013, Rene Gollent, rene@gollent.com.
4  * Distributed under the terms of the MIT License.
5  */
6 #ifndef ATTRIBUTE_TABLES_H
7 #define ATTRIBUTE_TABLES_H
8 
9 #include "DebugInfoEntry.h"
10 
11 
12 typedef status_t (DebugInfoEntry::* DebugInfoEntrySetter)(uint16,
13 	const AttributeValue&);
14 
15 
16 // attribute classes
17 enum {
18 	ATTRIBUTE_CLASS_UNKNOWN			= 0,
19 	ATTRIBUTE_CLASS_ADDRESS			= 1,
20 	ATTRIBUTE_CLASS_BLOCK			= 2,
21 	ATTRIBUTE_CLASS_CONSTANT		= 3,
22 	ATTRIBUTE_CLASS_FLAG			= 4,
23 	ATTRIBUTE_CLASS_LINEPTR			= 5,
24 	ATTRIBUTE_CLASS_LOCLISTPTR		= 6,
25 	ATTRIBUTE_CLASS_MACPTR			= 7,
26 	ATTRIBUTE_CLASS_RANGELISTPTR	= 8,
27 	ATTRIBUTE_CLASS_REFERENCE		= 9,
28 	ATTRIBUTE_CLASS_STRING			= 10
29 };
30 
31 
32 uint16	get_attribute_name_classes(uint32 name);
33 uint16	get_attribute_form_classes(uint32 form);
34 uint8	get_attribute_class(uint32 name, uint32 form);
35 
36 const char*	get_attribute_name_name(uint32 name);
37 const char*	get_attribute_form_name(uint32 form);
38 
39 DebugInfoEntrySetter	get_attribute_name_setter(uint32 name);
40 
41 
42 #endif	// ATTRIBUTE_TABLES_H
43