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 11const char* demangle_symbol(const char* mangledName, char* buffer, size_t bufferSize, 12 bool* _isObjectMethod); 13 14status_t get_next_argument(uint32* _cookie, const char* mangledName, char* name, 15 size_t nameSize, int32* _type, size_t* _argumentLength); 16 17// gcc 2 18const char* demangle_symbol_gcc2(const char* name, char* buffer, 19 size_t bufferSize, bool* _isObjectMethod); 20status_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+ 26const char* demangle_symbol_gcc3(const char* name, char* buffer, 27 size_t bufferSize, bool* _isObjectMethod); 28status_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 33const char* demangle_name_gcc3(const char* name, char* buffer, 34 size_t bufferSize); 35#endif 36 37 38#endif // DEMANGLE_H 39