summaryrefslogtreecommitdiff
path: root/src/cxxabi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cxxabi.h')
-rw-r--r--src/cxxabi.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/cxxabi.h b/src/cxxabi.h
new file mode 100644
index 0000000..80f4dce
--- /dev/null
+++ b/src/cxxabi.h
@@ -0,0 +1,29 @@
+#ifndef __CXX_ABI_H_INCLUDED__
+#define __CXX_ABI_H_INCLUDED__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/**
+ * Demangles a C++ symbol or type name. The buffer, if non-NULL, must be
+ * allocated with malloc() and must be *n bytes or more long. This function
+ * may call realloc() on the value pointed to by buf, and will return the
+ * length of the string via *n.
+ *
+ * The value pointed to by status is set to one of the following:
+ *
+ * 0: success
+ * -1: memory allocation failure
+ * -2: invalid mangled name
+ * -3: invalid arguments
+ */
+char* __cxa_demangle(const char* mangled_name,
+ char* buf,
+ size_t* n,
+ int* status);
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __CXX_ABI_H_INCLUDED__