BuildCubeE/BootableMPW/Interfaces/CIncludes/Unmangler.h

58 lines
2.3 KiB
C
Raw Normal View History

2018-11-16 01:50:16 +00:00
/*---------------------------------------------------------------------------*
| |
| <<< Unmangler.h >>> |
| |
| C++ Function Name Decoding |
| |
| Copyright Apple Computer, Inc. 1988-1991 |
| All rights reserved. |
| |
*---------------------------------------------------------------------------*/
#ifndef __UNMANGLER__
#define __UNMANGLER__
#ifdef __cplusplus
extern "C" {
#endif
int unmangle(char *dst, char *src, int limit);
/*
This function unmangles C++ mangled symbols (i.e. a symbol with a type signature). The
mangled C string is passed in src and the unmangled C string is returned in dst. Up
to limit characters (not including terminating null) may be retured in dst.
The function returns,
-1 ==> error, probably because symbol was not mangled, but looked like it was
0 ==> symbol wasn't mangled; not copied either
1 ==> symbol was mangled; unmangled result fit in buffer
2 ==> symbol was mangled; unmangled result truncated to fit in buffer (null written)
Caution: the src and dst string must not overlap!
*/
pascal int Unmangle(char *dst, char *src, int limit);
/*
This function unmangles C++ mangled symbols (i.e. a symbol with a type signature). The
mangled Pascal string is passed in src and the unmangled Pascal string is returned in
dst. Up to limit characters may be retured in dst.
The function returns,
-1 ==> error, probably because symbol was not mangled, but looked like it was
0 ==> symbol wasn't mangled; not copied either
1 ==> symbol was mangled; unmangled result fit in buffer
2 ==> symbol was mangled; unmangled result truncated to fit in buffer (null written)
This function is identical to unmangle() above except that all the strings are Pascal
instead of C strings.
Caution: the src and dst string must not overlap!
*/
#ifdef __cplusplus
}
#endif
#endif