#include <assert.h>
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Classes | |
struct | array |
struct | datatype_t |
struct | parsed_symbol |
Macros | |
#define | AVAIL_SIZE (1024 - sizeof(void*)) |
#define | BLOCK_SIZE 1024 |
#define | CDECL |
#define | ERR(...) |
#define | TRACE(...) |
#define | UNDNAME_32_BIT_DECODE (0x0800) |
#define | UNDNAME_COMPLETE (0x0000) |
#define | UNDNAME_NAME_ONLY (0x1000) /* Only report the variable/method name */ |
#define | UNDNAME_NO_ACCESS_SPECIFIERS (0x0080) /* Don't show access specifier (public/protected/private) */ |
#define | UNDNAME_NO_ALLOCATION_LANGUAGE (0x0010) |
#define | UNDNAME_NO_ALLOCATION_MODEL (0x0008) |
#define | UNDNAME_NO_ARGUMENTS (0x2000) /* Don't show method arguments */ |
#define | UNDNAME_NO_COMPLEX_TYPE (0x8000) |
#define | UNDNAME_NO_CV_THISTYPE (0x0040) |
#define | UNDNAME_NO_FUNCTION_RETURNS (0x0004) /* Don't show function/method return value */ |
#define | UNDNAME_NO_LEADING_UNDERSCORES (0x0001) /* Don't show __ in calling convention */ |
#define | UNDNAME_NO_MEMBER_TYPE (0x0200) /* Don't show static/virtual specifier */ |
#define | UNDNAME_NO_MS_KEYWORDS (0x0002) /* Don't show calling convention at all */ |
#define | UNDNAME_NO_MS_THISTYPE (0x0020) |
#define | UNDNAME_NO_RETURN_UDT_MODEL (0x0400) |
#define | UNDNAME_NO_SPECIAL_SYMS (0x4000) |
#define | UNDNAME_NO_THISTYPE (0x0060) |
#define | UNDNAME_NO_THROW_SIGNATURES (0x0100) |
#define | WARN(...) |
Typedefs | |
typedef int | BOOL |
typedef char | CHAR |
typedef void(* | free_func_t) (void *) |
typedef void *(* | malloc_func_t) (size_t) |
Functions | |
char *CDECL | __unDName (char *buffer, const char *mangled, int buflen, malloc_func_t memget, free_func_t memfree, unsigned short int flags) |
char *CDECL | __unDNameEx (char *buffer, const char *mangled, int buflen, malloc_func_t memget, free_func_t memfree, void *unknown, unsigned short int flags) |
static BOOL | demangle_datatype (struct parsed_symbol *sym, struct datatype_t *ct, struct array *pmt, BOOL in_args) |
static char * | get_args (struct parsed_symbol *sym, struct array *pmt_ref, BOOL z_term, char open_char, char close_char) |
static BOOL | get_calling_convention (char ch, const char **call_conv, const char **exported, unsigned flags) |
static BOOL | get_class (struct parsed_symbol *sym) |
static char * | get_class_name (struct parsed_symbol *sym) |
static char * | get_class_string (struct parsed_symbol *sym, int start) |
static const char * | get_extended_type (char c) |
static char * | get_literal_string (struct parsed_symbol *sym) |
static BOOL | get_modified_type (struct datatype_t *ct, struct parsed_symbol *sym, struct array *pmt_ref, char modif, BOOL in_args) |
static BOOL | get_modifier (struct parsed_symbol *sym, const char **ret, const char **ptr_modif) |
static const char * | get_number (struct parsed_symbol *sym) |
static const char * | get_simple_type (char c) |
static char * | get_template_name (struct parsed_symbol *sym) |
static BOOL | handle_data (struct parsed_symbol *sym) |
static BOOL | handle_method (struct parsed_symbol *sym, BOOL cast_op) |
char * | lstrcpynA (char *out, const char *in, int n) |
static char * | str_array_get_ref (struct array *cref, unsigned idx) |
static void | str_array_init (struct array *a) |
static BOOL | str_array_push (struct parsed_symbol *sym, const char *ptr, int len, struct array *a) |
static char * | str_printf (struct parsed_symbol *sym, const char *format,...) |
static BOOL | symbol_demangle (struct parsed_symbol *sym) |
static void * | und_alloc (struct parsed_symbol *sym, unsigned int len) |
static void | und_free_all (struct parsed_symbol *sym) |
Variables | |
const BOOL | FALSE = 0 |
const BOOL | TRUE = 1 |
#define AVAIL_SIZE (1024 - sizeof(void*)) |
#define BLOCK_SIZE 1024 |
#define UNDNAME_NO_ACCESS_SPECIFIERS (0x0080) /* Don't show access specifier (public/protected/private) */ |
#define UNDNAME_NO_ARGUMENTS (0x2000) /* Don't show method arguments */ |
#define UNDNAME_NO_LEADING_UNDERSCORES (0x0001) /* Don't show __ in calling convention */ |
#define UNDNAME_NO_MEMBER_TYPE (0x0200) /* Don't show static/virtual specifier */ |
#define UNDNAME_NO_MS_KEYWORDS (0x0002) /* Don't show calling convention at all */ |
char* CDECL __unDName | ( | char * | buffer, |
const char * | mangled, | ||
int | buflen, | ||
malloc_func_t | memget, | ||
free_func_t | memfree, | ||
unsigned short int | flags | ||
) |
char* CDECL __unDNameEx | ( | char * | buffer, |
const char * | mangled, | ||
int | buflen, | ||
malloc_func_t | memget, | ||
free_func_t | memfree, | ||
void * | unknown, | ||
unsigned short int | flags | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |