Classes | Macros | Typedefs | Functions | Variables
undname.c File Reference
#include <assert.h>
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for undname.c:

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
 

Macro Definition Documentation

◆ AVAIL_SIZE

#define AVAIL_SIZE   (1024 - sizeof(void*))

◆ BLOCK_SIZE

#define BLOCK_SIZE   1024

◆ CDECL

#define CDECL

Definition at line 45 of file undname.c.

◆ ERR

#define ERR (   ...)

Definition at line 44 of file undname.c.

◆ TRACE

#define TRACE (   ...)

Definition at line 42 of file undname.c.

◆ UNDNAME_32_BIT_DECODE

#define UNDNAME_32_BIT_DECODE   (0x0800)

Definition at line 71 of file undname.c.

◆ UNDNAME_COMPLETE

#define UNDNAME_COMPLETE   (0x0000)

Definition at line 58 of file undname.c.

◆ UNDNAME_NAME_ONLY

#define UNDNAME_NAME_ONLY   (0x1000) /* Only report the variable/method name */

Definition at line 72 of file undname.c.

◆ UNDNAME_NO_ACCESS_SPECIFIERS

#define UNDNAME_NO_ACCESS_SPECIFIERS   (0x0080) /* Don't show access specifier (public/protected/private) */

Definition at line 67 of file undname.c.

◆ UNDNAME_NO_ALLOCATION_LANGUAGE

#define UNDNAME_NO_ALLOCATION_LANGUAGE   (0x0010)

Definition at line 63 of file undname.c.

◆ UNDNAME_NO_ALLOCATION_MODEL

#define UNDNAME_NO_ALLOCATION_MODEL   (0x0008)

Definition at line 62 of file undname.c.

◆ UNDNAME_NO_ARGUMENTS

#define UNDNAME_NO_ARGUMENTS   (0x2000) /* Don't show method arguments */

Definition at line 73 of file undname.c.

◆ UNDNAME_NO_COMPLEX_TYPE

#define UNDNAME_NO_COMPLEX_TYPE   (0x8000)

Definition at line 75 of file undname.c.

◆ UNDNAME_NO_CV_THISTYPE

#define UNDNAME_NO_CV_THISTYPE   (0x0040)

Definition at line 65 of file undname.c.

◆ UNDNAME_NO_FUNCTION_RETURNS

#define UNDNAME_NO_FUNCTION_RETURNS   (0x0004) /* Don't show function/method return value */

Definition at line 61 of file undname.c.

◆ UNDNAME_NO_LEADING_UNDERSCORES

#define UNDNAME_NO_LEADING_UNDERSCORES   (0x0001) /* Don't show __ in calling convention */

Definition at line 59 of file undname.c.

◆ UNDNAME_NO_MEMBER_TYPE

#define UNDNAME_NO_MEMBER_TYPE   (0x0200) /* Don't show static/virtual specifier */

Definition at line 69 of file undname.c.

◆ UNDNAME_NO_MS_KEYWORDS

#define UNDNAME_NO_MS_KEYWORDS   (0x0002) /* Don't show calling convention at all */

Definition at line 60 of file undname.c.

◆ UNDNAME_NO_MS_THISTYPE

#define UNDNAME_NO_MS_THISTYPE   (0x0020)

Definition at line 64 of file undname.c.

◆ UNDNAME_NO_RETURN_UDT_MODEL

#define UNDNAME_NO_RETURN_UDT_MODEL   (0x0400)

Definition at line 70 of file undname.c.

◆ UNDNAME_NO_SPECIAL_SYMS

#define UNDNAME_NO_SPECIAL_SYMS   (0x4000)

Definition at line 74 of file undname.c.

◆ UNDNAME_NO_THISTYPE

#define UNDNAME_NO_THISTYPE   (0x0060)

Definition at line 66 of file undname.c.

◆ UNDNAME_NO_THROW_SIGNATURES

#define UNDNAME_NO_THROW_SIGNATURES   (0x0100)

Definition at line 68 of file undname.c.

◆ WARN

#define WARN (   ...)

Definition at line 43 of file undname.c.

Typedef Documentation

◆ BOOL

typedef int BOOL

Definition at line 46 of file undname.c.

◆ CHAR

typedef char CHAR

Definition at line 49 of file undname.c.

◆ free_func_t

typedef void(* free_func_t) (void *)

Definition at line 51 of file undname.c.

◆ malloc_func_t

typedef void*(* malloc_func_t) (size_t)

Definition at line 50 of file undname.c.

Function Documentation

◆ __unDName()

char* CDECL __unDName ( char *  buffer,
const char *  mangled,
int  buflen,
malloc_func_t  memget,
free_func_t  memfree,
unsigned short int  flags 
)

Definition at line 1623 of file undname.c.

◆ __unDNameEx()

char* CDECL __unDNameEx ( char *  buffer,
const char *  mangled,
int  buflen,
malloc_func_t  memget,
free_func_t  memfree,
void *  unknown,
unsigned short int  flags 
)

Definition at line 1570 of file undname.c.

◆ demangle_datatype()

static BOOL demangle_datatype ( struct parsed_symbol sym,
struct datatype_t ct,
struct array pmt,
BOOL  in_args 
)
static

Definition at line 835 of file undname.c.

◆ get_args()

static char* get_args ( struct parsed_symbol sym,
struct array pmt_ref,
BOOL  z_term,
char  open_char,
char  close_char 
)
static

Definition at line 390 of file undname.c.

◆ get_calling_convention()

static BOOL get_calling_convention ( char  ch,
const char **  call_conv,
const char **  exported,
unsigned  flags 
)
static

Definition at line 731 of file undname.c.

◆ get_class()

static BOOL get_class ( struct parsed_symbol sym)
static

Definition at line 624 of file undname.c.

◆ get_class_name()

static char* get_class_name ( struct parsed_symbol sym)
static

Definition at line 715 of file undname.c.

◆ get_class_string()

static char* get_class_string ( struct parsed_symbol sym,
int  start 
)
static

Definition at line 683 of file undname.c.

◆ get_extended_type()

static const char* get_extended_type ( char  c)
static

Definition at line 805 of file undname.c.

◆ get_literal_string()

static char* get_literal_string ( struct parsed_symbol sym)
static

Definition at line 558 of file undname.c.

◆ get_modified_type()

static BOOL get_modified_type ( struct datatype_t ct,
struct parsed_symbol sym,
struct array pmt_ref,
char  modif,
BOOL  in_args 
)
static

Definition at line 472 of file undname.c.

◆ get_modifier()

static BOOL get_modifier ( struct parsed_symbol sym,
const char **  ret,
const char **  ptr_modif 
)
static

Definition at line 448 of file undname.c.

◆ get_number()

static const char* get_number ( struct parsed_symbol sym)
static

Definition at line 339 of file undname.c.

◆ get_simple_type()

static const char* get_simple_type ( char  c)
static

Definition at line 776 of file undname.c.

◆ get_template_name()

static char* get_template_name ( struct parsed_symbol sym)
static

Definition at line 588 of file undname.c.

◆ handle_data()

static BOOL handle_data ( struct parsed_symbol sym)
static

Definition at line 1030 of file undname.c.

◆ handle_method()

static BOOL handle_method ( struct parsed_symbol sym,
BOOL  cast_op 
)
static

Definition at line 1121 of file undname.c.

◆ lstrcpynA()

char* lstrcpynA ( char *  out,
const char *  in,
int  n 
)

Definition at line 53 of file undname.c.

◆ str_array_get_ref()

static char* str_array_get_ref ( struct array cref,
unsigned  idx 
)
static

Definition at line 261 of file undname.c.

◆ str_array_init()

static void str_array_init ( struct array a)
static

Definition at line 202 of file undname.c.

◆ str_array_push()

static BOOL str_array_push ( struct parsed_symbol sym,
const char *  ptr,
int  len,
struct array a 
)
static

Definition at line 212 of file undname.c.

◆ str_printf()

static char* str_printf ( struct parsed_symbol sym,
const char *  format,
  ... 
)
static

Definition at line 280 of file undname.c.

◆ symbol_demangle()

static BOOL symbol_demangle ( struct parsed_symbol sym)
static

Definition at line 1313 of file undname.c.

◆ und_alloc()

static void* und_alloc ( struct parsed_symbol sym,
unsigned int  len 
)
static

Definition at line 143 of file undname.c.

◆ und_free_all()

static void und_free_all ( struct parsed_symbol sym)
static

Definition at line 185 of file undname.c.

Variable Documentation

◆ FALSE

const BOOL FALSE = 0

Definition at line 47 of file undname.c.

◆ TRUE

const BOOL TRUE = 1

Definition at line 48 of file undname.c.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:36