1 /* 2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef DEMANGLE_H 6 #define DEMANGLE_H 7 8 #include <SupportDefs.h> 9 10 11 const char* demangle_symbol(const char* mangledName, char* buffer, size_t bufferSize, 12 bool* _isObjectMethod); 13 14 status_t get_next_argument(uint32* _cookie, const char* mangledName, char* name, 15 size_t nameSize, int32* _type, size_t* _argumentLength); 16 17 // gcc 2 18 const char* demangle_symbol_gcc2(const char* name, char* buffer, 19 size_t bufferSize, bool* _isObjectMethod); 20 status_t get_next_argument_gcc2(uint32* _cookie, const char* symbol, 21 char* name, size_t nameSize, int32* _type, 22 size_t* _argumentLength); 23 24 25 // gcc 3+ 26 const char* demangle_symbol_gcc3(const char* name, char* buffer, 27 size_t bufferSize, bool* _isObjectMethod); 28 status_t get_next_argument_gcc3(uint32* _cookie, const char* symbol, 29 char* name, size_t nameSize, int32* _type, 30 size_t* _argumentLength); 31 32 #ifndef _KERNEL_MODE 33 const char* demangle_name_gcc3(const char* name, char* buffer, 34 size_t bufferSize); 35 #endif 36 37 38 #endif // DEMANGLE_H 39