tail head cat sleep
QR code linking to this page

Manual Pages  — ELFTC_DEMANGLE


elftc_demangle – demangle a C++ name





#include <libelftc.h>

elftc_demangle(const char *encodedname, char *buffer, size_t bufsize, unsigned int flags);


Function elftc_demangle() decodes a symbol name encoded according to the type encoding rules for the C++ language and returns a string denoting an equivalent C++ prototype.

Argument encodedname specifies the encoded symbol name. Argument buffer denotes a programmer-specified area to place the prototype string in. Argument bufsize specifies the size of the programmer-specified area. Argument flags specifies the encoding style in use for argument encodedname. Supported encoding styles are:
ELFTC_DEM_ARM The encoding style used by compilers adhering to the conventions of the C++ Annotated Reference Manual.
  The encoding style by GNU C++ version 2.
  The encoding style by GNU C++ version 3 and later.

Argument flags may be zero, in which case the function will attempt to guess the encoding scheme from the contents of encodedname.


Function elftc_demangle() returns 0 on success. In case of an error it returns -1 and sets the errno variable.


To decode a name that uses an unknown encoding style use:
char buffer[1024];
const char *funcname;

funcname = ...; /* points to string to be demangled */ if (elftc_demangle(funcname, buffer, sizeof(buffer), 0) == 0)         printf("Demangled name: % , buffer); else         perror("Cannot demangle %s", funcname);


Function elftc_demangle() may fail with the following errors:
[EINVAL] Argument encodedname was not a valid encoded name.
[ENAMETOOLONG] The output buffer specified by arguments buffer and bufsize was too small to hold the decoded function prototype.


elf(3), elf_strptr(3)

ELFTC_DEMANGLE (3) August 24, 2011

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

If you are angry with someone, you should walk a mile in their shoes - then you'll be a mile away from them, and you'll have their shoes.