src/m_ms.h File Reference

#include "m_token.h"

Go to the source code of this file.

Data Structures

struct  sCached
struct  sMSCtx

Defines

#define ENCODING_TYPE_MS   1
#define GET_CHAR(CTX)   ((CTX)->pos == (CTX)->end ? 0 : (CTX)->pos[0])
 Get currently marked character from CTX.
#define INC_CHAR(CTX)   do { if ((CTX)->pos != (CTX)->end) (CTX)->pos++; } while (0)
 Increments ctx position.
#define DEC_CHAR(CTX)   do { if ((CTX)->pos != (CTX)->name) (CTX)->pos--; } while (0)
 Decrements ctx position.
#define SKIP_CHAR(CTX, LEN)   do { (CTX)->pos += (LEN); if ((CTX)->pos > (CTX)->end) (CTX)->pos=(CTX)->end; } while (0)
 Increments CTX position by LEN.

Functions

uMTokenlibmangle_decode_ms_name (libmangle_gc_context_t *gc, const char *name)
char * libmangle_encode_ms_name (libmangle_gc_context_t *gc, uMToken *tok)

Define Documentation

#define DEC_CHAR ( CTX   )     do { if ((CTX)->pos != (CTX)->name) (CTX)->pos--; } while (0)

Decrements ctx position.

Move marker to previous character if it is currently not the first via CTX.

#define ENCODING_TYPE_MS   1
#define GET_CHAR ( CTX   )     ((CTX)->pos == (CTX)->end ? 0 : (CTX)->pos[0])

Get currently marked character from CTX.

Get character from at current possition via CTX.

#define INC_CHAR ( CTX   )     do { if ((CTX)->pos != (CTX)->end) (CTX)->pos++; } while (0)

Increments ctx position.

Move marker to next character if it is currently not the last via CTX.

#define SKIP_CHAR ( CTX,
LEN   )     do { (CTX)->pos += (LEN); if ((CTX)->pos > (CTX)->end) (CTX)->pos=(CTX)->end; } while (0)

Increments CTX position by LEN.

Increments CTX marker by LEN characters, points to last character if marker is moved out of bounds.


Function Documentation

uMToken* libmangle_decode_ms_name ( libmangle_gc_context_t gc,
const char *  name 
)

Decodes an MSVC export name.

Parameters:
[in] gc sGcCtx pointer for collecting memory allocations.
[in] name MSVC C++ mangled export string.
See also:
libmangle_sprint_decl()
libmangle_release_gc()
uMToken
Returns:
Token containing information about the mangled string, use libmangle_release_gc() to free after use.

Decodes an MSVC export name.

Parameters:
[in] gc libmangle_gc_context_t pointer for collecting memory allocations.
[in] name MSVC C++ mangled export string.
See also:
libmangle_sprint_decl()
libmangle_release_gc()
libmangle_tokens_t
Returns:
Token containing information about the mangled string, use libmangle_release_gc() to free after use.
char* libmangle_encode_ms_name ( libmangle_gc_context_t gc,
uMToken tok 
)

Generated on 23 Jul 2010 for libmangle by  doxygen 1.6.1