8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3ext / demangle.3ext
blob3ee0f9d17d2d1d3f36a7ea435bd062e3a9dd9a66
1 '\" te
2 .\"  Copyright (c) 1997 Sun Microsystems, Inc  All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH DEMANGLE 3EXT "Mar 11, 1997"
7 .SH NAME
8 demangle, cplus_demangle \- decode a C++ encoded symbol name
9 .SH SYNOPSIS
10 .LP
11 .nf
12 \fBcc\fR [ \fIflag\fR ... ] \fIfile\fR[ \fIlibrary\fR ... ]  \fB-ldemangle\fR
14 #include <demangle.h>
18 \fBint\fR \fBcplus_demangle\fR(\fBconst char *\fR\fIsymbol\fR, \fBchar *\fR\fIprototype\fR, \fBsize_t\fR \fIsize\fR);
19 .fi
21 .SH DESCRIPTION
22 .sp
23 .LP
24 The \fBcplus_demangle()\fR function decodes (demangles) a C++ linker symbol
25 name (mangled name)  into a (partial) C++ prototype, if possible.   C++ mangled
26 names may not have enough information to form a complete prototype.
27 .sp
28 .LP
29 The  \fIsymbol\fR string argument points to the input mangled name.
30 .sp
31 .LP
32 The \fIprototype\fR argument points to a user-specified output string buffer,
33 of \fBsize\fR bytes.
34 .sp
35 .LP
36 The  \fBcplus_demangle()\fR function operates on mangled names generated by
37 SPARCompilers C++ 3.0.1, 4.0.1, 4.1 and 4.2.
38 .sp
39 .LP
40 The \fBcplus_demangle()\fR function improves and replaces the \fBdemangle()\fR
41 function.
42 .sp
43 .LP
44 Refer to the \fBCC.1\fR, \fBdem.1\fR, and \fBc++filt.1\fR manual pages in the
45 \fB/opt/SUNWspro/man/man1\fR directory.  These pages are only available with
46 the SPROcc package.
47 .SH RETURN VALUES
48 .sp
49 .LP
50 The \fBcplus_demangle()\fR function returns the following values:
51 .sp
52 .ne 2
53 .na
54 \fB\fB0\fR\fR
55 .ad
56 .RS 19n
57 The \fIsymbol\fR argument is a valid mangled name and \fIprototype\fR contains
58 a (partial) prototype for the symbol.
59 .RE
61 .sp
62 .ne 2
63 .na
64 \fB\fBDEMANGLE_ENAME\fR\fR
65 .ad
66 .RS 19n
67 The \fIsymbol\fR argument is not a valid mangled name and the content of
68 \fIprototype\fR is a copy of the symbol.
69 .RE
71 .sp
72 .ne 2
73 .na
74 \fB\fBDEMANGLE_ESPACE\fR\fR
75 .ad
76 .RS 19n
77 The \fIprototype\fR output buffer is too small to contain the prototype (or the
78 symbol), and the content of \fIprototype\fR is undefined.
79 .RE