• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>libmangle: src/m_token.c File Reference</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.6.1 -->
11<div class="navigation" id="top">
12  <div class="tabs">
13    <ul>
14      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
15      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
16      <li class="current"><a href="files.html"><span>Files</span></a></li>
17    </ul>
18  </div>
19  <div class="tabs">
20    <ul>
21      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
22      <li><a href="globals.html"><span>Globals</span></a></li>
23    </ul>
24  </div>
25</div>
26<div class="contents">
27<h1>src/m_token.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br/>
28<code>#include &lt;stdlib.h&gt;</code><br/>
29<code>#include &lt;malloc.h&gt;</code><br/>
30<code>#include &lt;string.h&gt;</code><br/>
31<code>#include &lt;inttypes.h&gt;</code><br/>
32<code>#include &lt;stdint.h&gt;</code><br/>
33<code>#include &quot;<a class="el" href="m__token_8h_source.html">m_token.h</a>&quot;</code><br/>
34<code>#include &quot;<a class="el" href="m__ms_8h_source.html">m_ms.h</a>&quot;</code><br/>
35<table border="0" cellpadding="0" cellspacing="0">
36<tr><td colspan="2"><h2>Defines</h2></td></tr>
37<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a7defdcab1465fcfa706d66f1572a08d5">MY_LL</a>&nbsp;&nbsp;&nbsp;&quot;ll&quot;</td></tr>
38<tr><td colspan="2"><h2>Functions</h2></td></tr>
39<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a54257a43469abe9c5f9556a1913bbf2f">libmangle_generate_gc</a> (void)</td></tr>
40<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#ac6f10b5d722b67adc42b2efaf4683dc1">libmangle_release_gc</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc)</td></tr>
41<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a3d90ad7945dc89f63c39837ee512fd85">gen_tok</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a> kind, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> subkind, size_t addend)</td></tr>
42<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#abf3eb472b66b477d0165a31437d35c09">libmangle_dump_tok</a> (FILE *fp, <a class="el" href="unionu_m_token.html">uMToken</a> *p)</td></tr>
43<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a50ef074a3d1cf22f842abd4df7081743">chain_tok</a> (<a class="el" href="unionu_m_token.html">uMToken</a> *l, <a class="el" href="unionu_m_token.html">uMToken</a> *add)</td></tr>
44<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a5e98df3f83afcc6e9e1f079091c0e567">gen_value</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, uint64_t val, int is_signed, int size)</td></tr>
45<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#ac1a6fe5d506c4fd78650742da8d9e669">gen_name</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, const char *name)</td></tr>
46<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#aced2d2323162ca5846cdb13d631169d6">gen_dim</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, uint64_t val, const char *non_tt_param, int fSigned, int fNegate)</td></tr>
47<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a8c630a1c57e3d4f5009448af0d43fbb8">gen_unary</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, <a class="el" href="unionu_m_token.html">uMToken</a> *un)</td></tr>
48<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a0deb555c3210a60f0b5189ae462ed620">gen_binary</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, <a class="el" href="unionu_m_token.html">uMToken</a> *l, <a class="el" href="unionu_m_token.html">uMToken</a> *r)</td></tr>
49<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#ac0f7cf41cc7c3e9c57dd94ed318dd5a4">libmangle_sprint_decl</a> (<a class="el" href="unionu_m_token.html">uMToken</a> *r)</td></tr>
50<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#afb0d47109f166db3186774ddfcb994be">libmangle_print_decl</a> (FILE *fp, <a class="el" href="unionu_m_token.html">uMToken</a> *r)</td></tr>
51</table>
52<hr/><h2>Define Documentation</h2>
53<a class="anchor" id="a7defdcab1465fcfa706d66f1572a08d5"></a><!-- doxytag: member="m_token.c::MY_LL" ref="a7defdcab1465fcfa706d66f1572a08d5" args="" -->
54<div class="memitem">
55<div class="memproto">
56      <table class="memname">
57        <tr>
58          <td class="memname">#define MY_LL&nbsp;&nbsp;&nbsp;&quot;ll&quot;</td>
59        </tr>
60      </table>
61</div>
62<div class="memdoc">
63
64</div>
65</div>
66<hr/><h2>Function Documentation</h2>
67<a class="anchor" id="a50ef074a3d1cf22f842abd4df7081743"></a><!-- doxytag: member="m_token.c::chain_tok" ref="a50ef074a3d1cf22f842abd4df7081743" args="(uMToken *l, uMToken *add)" -->
68<div class="memitem">
69<div class="memproto">
70      <table class="memname">
71        <tr>
72          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* chain_tok </td>
73          <td>(</td>
74          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
75          <td class="paramname"> <em>l</em>, </td>
76        </tr>
77        <tr>
78          <td class="paramkey"></td>
79          <td></td>
80          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
81          <td class="paramname"> <em>add</em></td><td>&nbsp;</td>
82        </tr>
83        <tr>
84          <td></td>
85          <td>)</td>
86          <td></td><td></td><td></td>
87        </tr>
88      </table>
89</div>
90<div class="memdoc">
91<p>Chains uMTokens together. </p>
92<dl><dt><b>Parameters:</b></dt><dd>
93  <table border="0" cellspacing="2" cellpadding="0">
94    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>l</em>&nbsp;</td><td>uMtoken chain to link up with. </td></tr>
95    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>add</em>&nbsp;</td><td>uMtoken to add to chain. </td></tr>
96  </table>
97  </dd>
98</dl>
99<dl class="return"><dt><b>Returns:</b></dt><dd><em>l</em> unchanged </dd></dl>
100
101</div>
102</div>
103<a class="anchor" id="a0deb555c3210a60f0b5189ae462ed620"></a><!-- doxytag: member="m_token.c::gen_binary" ref="a0deb555c3210a60f0b5189ae462ed620" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uMToken *l, uMToken *r)" -->
104<div class="memitem">
105<div class="memproto">
106      <table class="memname">
107        <tr>
108          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_binary </td>
109          <td>(</td>
110          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
111          <td class="paramname"> <em>gc</em>, </td>
112        </tr>
113        <tr>
114          <td class="paramkey"></td>
115          <td></td>
116          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
117          <td class="paramname"> <em>skind</em>, </td>
118        </tr>
119        <tr>
120          <td class="paramkey"></td>
121          <td></td>
122          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
123          <td class="paramname"> <em>l</em>, </td>
124        </tr>
125        <tr>
126          <td class="paramkey"></td>
127          <td></td>
128          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
129          <td class="paramname"> <em>r</em></td><td>&nbsp;</td>
130        </tr>
131        <tr>
132          <td></td>
133          <td>)</td>
134          <td></td><td></td><td></td>
135        </tr>
136      </table>
137</div>
138<div class="memdoc">
139<p>Generates a binary node token. </p>
140<dl><dt><b>Parameters:</b></dt><dd>
141  <table border="0" cellspacing="2" cellpadding="0">
142    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
143    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subKind. </td></tr>
144    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>l</em>&nbsp;</td><td>Left node element. </td></tr>
145    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>r</em>&nbsp;</td><td>Right node element. </td></tr>
146  </table>
147  </dd>
148</dl>
149<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to binary token. </dd></dl>
150<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__binary.html">sMToken_binary</a> </dd></dl>
151
152</div>
153</div>
154<a class="anchor" id="aced2d2323162ca5846cdb13d631169d6"></a><!-- doxytag: member="m_token.c::gen_dim" ref="aced2d2323162ca5846cdb13d631169d6" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uint64_t val, const char *non_tt_param, int fSigned, int fNegate)" -->
155<div class="memitem">
156<div class="memproto">
157      <table class="memname">
158        <tr>
159          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_dim </td>
160          <td>(</td>
161          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
162          <td class="paramname"> <em>gc</em>, </td>
163        </tr>
164        <tr>
165          <td class="paramkey"></td>
166          <td></td>
167          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
168          <td class="paramname"> <em>skind</em>, </td>
169        </tr>
170        <tr>
171          <td class="paramkey"></td>
172          <td></td>
173          <td class="paramtype">uint64_t&nbsp;</td>
174          <td class="paramname"> <em>val</em>, </td>
175        </tr>
176        <tr>
177          <td class="paramkey"></td>
178          <td></td>
179          <td class="paramtype">const char *&nbsp;</td>
180          <td class="paramname"> <em>non_tt_param</em>, </td>
181        </tr>
182        <tr>
183          <td class="paramkey"></td>
184          <td></td>
185          <td class="paramtype">int&nbsp;</td>
186          <td class="paramname"> <em>fSigned</em>, </td>
187        </tr>
188        <tr>
189          <td class="paramkey"></td>
190          <td></td>
191          <td class="paramtype">int&nbsp;</td>
192          <td class="paramname"> <em>fNegate</em></td><td>&nbsp;</td>
193        </tr>
194        <tr>
195          <td></td>
196          <td>)</td>
197          <td></td><td></td><td></td>
198        </tr>
199      </table>
200</div>
201<div class="memdoc">
202<p>Constructs a "dim" kind token. </p>
203<dl><dt><b>Parameters:</b></dt><dd>
204  <table border="0" cellspacing="2" cellpadding="0">
205    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
206    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
207    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Token numerical value. </td></tr>
208    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>non_tt_param</em>&nbsp;</td><td>pointer to decoded C++ template name. </td></tr>
209    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fSigned</em>&nbsp;</td><td>Signedness of the numerical value. </td></tr>
210    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fNegate</em>&nbsp;</td><td>1 for "val" is negative digit. </td></tr>
211  </table>
212  </dd>
213</dl>
214<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to dim token. </dd></dl>
215<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__dim.html">sMToken_dim</a> </dd></dl>
216
217</div>
218</div>
219<a class="anchor" id="ac1a6fe5d506c4fd78650742da8d9e669"></a><!-- doxytag: member="m_token.c::gen_name" ref="ac1a6fe5d506c4fd78650742da8d9e669" args="(libmangle_gc_context_t *gc, enum eMSToken skind, const char *name)" -->
220<div class="memitem">
221<div class="memproto">
222      <table class="memname">
223        <tr>
224          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_name </td>
225          <td>(</td>
226          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
227          <td class="paramname"> <em>gc</em>, </td>
228        </tr>
229        <tr>
230          <td class="paramkey"></td>
231          <td></td>
232          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
233          <td class="paramname"> <em>skind</em>, </td>
234        </tr>
235        <tr>
236          <td class="paramkey"></td>
237          <td></td>
238          <td class="paramtype">const char *&nbsp;</td>
239          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
240        </tr>
241        <tr>
242          <td></td>
243          <td>)</td>
244          <td></td><td></td><td></td>
245        </tr>
246      </table>
247</div>
248<div class="memdoc">
249<p>Constructs a "name" kind token. </p>
250<dl><dt><b>Parameters:</b></dt><dd>
251  <table border="0" cellspacing="2" cellpadding="0">
252    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
253    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
254    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>name</em>&nbsp;</td><td>Pointer to name string. </td></tr>
255  </table>
256  </dd>
257</dl>
258<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to name token. </dd></dl>
259<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__name.html">sMToken_name</a> </dd></dl>
260
261</div>
262</div>
263<a class="anchor" id="a3d90ad7945dc89f63c39837ee512fd85"></a><!-- doxytag: member="m_token.c::gen_tok" ref="a3d90ad7945dc89f63c39837ee512fd85" args="(libmangle_gc_context_t *gc, enum eMToken kind, enum eMSToken subkind, size_t addend)" -->
264<div class="memitem">
265<div class="memproto">
266      <table class="memname">
267        <tr>
268          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_tok </td>
269          <td>(</td>
270          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
271          <td class="paramname"> <em>gc</em>, </td>
272        </tr>
273        <tr>
274          <td class="paramkey"></td>
275          <td></td>
276          <td class="paramtype">enum <a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a>&nbsp;</td>
277          <td class="paramname"> <em>kind</em>, </td>
278        </tr>
279        <tr>
280          <td class="paramkey"></td>
281          <td></td>
282          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
283          <td class="paramname"> <em>subkind</em>, </td>
284        </tr>
285        <tr>
286          <td class="paramkey"></td>
287          <td></td>
288          <td class="paramtype">size_t&nbsp;</td>
289          <td class="paramname"> <em>addend</em></td><td>&nbsp;</td>
290        </tr>
291        <tr>
292          <td></td>
293          <td>)</td>
294          <td></td><td></td><td></td>
295        </tr>
296      </table>
297</div>
298<div class="memdoc">
299
300</div>
301</div>
302<a class="anchor" id="a8c630a1c57e3d4f5009448af0d43fbb8"></a><!-- doxytag: member="m_token.c::gen_unary" ref="a8c630a1c57e3d4f5009448af0d43fbb8" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uMToken *un)" -->
303<div class="memitem">
304<div class="memproto">
305      <table class="memname">
306        <tr>
307          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_unary </td>
308          <td>(</td>
309          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
310          <td class="paramname"> <em>gc</em>, </td>
311        </tr>
312        <tr>
313          <td class="paramkey"></td>
314          <td></td>
315          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
316          <td class="paramname"> <em>skind</em>, </td>
317        </tr>
318        <tr>
319          <td class="paramkey"></td>
320          <td></td>
321          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
322          <td class="paramname"> <em>un</em></td><td>&nbsp;</td>
323        </tr>
324        <tr>
325          <td></td>
326          <td>)</td>
327          <td></td><td></td><td></td>
328        </tr>
329      </table>
330</div>
331<div class="memdoc">
332<p>Constructs a "unary" kind token. </p>
333<dl><dt><b>Parameters:</b></dt><dd>
334  <table border="0" cellspacing="2" cellpadding="0">
335    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
336    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
337    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>un</em>&nbsp;</td><td>Pointer to leaf element. </td></tr>
338  </table>
339  </dd>
340</dl>
341<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to a unary token. </dd></dl>
342<dl class="see"><dt><b>See also:</b></dt><dd>sMToken_unary </dd></dl>
343
344</div>
345</div>
346<a class="anchor" id="a5e98df3f83afcc6e9e1f079091c0e567"></a><!-- doxytag: member="m_token.c::gen_value" ref="a5e98df3f83afcc6e9e1f079091c0e567" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uint64_t val, int is_signed, int size)" -->
347<div class="memitem">
348<div class="memproto">
349      <table class="memname">
350        <tr>
351          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_value </td>
352          <td>(</td>
353          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
354          <td class="paramname"> <em>gc</em>, </td>
355        </tr>
356        <tr>
357          <td class="paramkey"></td>
358          <td></td>
359          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
360          <td class="paramname"> <em>skind</em>, </td>
361        </tr>
362        <tr>
363          <td class="paramkey"></td>
364          <td></td>
365          <td class="paramtype">uint64_t&nbsp;</td>
366          <td class="paramname"> <em>val</em>, </td>
367        </tr>
368        <tr>
369          <td class="paramkey"></td>
370          <td></td>
371          <td class="paramtype">int&nbsp;</td>
372          <td class="paramname"> <em>is_signed</em>, </td>
373        </tr>
374        <tr>
375          <td class="paramkey"></td>
376          <td></td>
377          <td class="paramtype">int&nbsp;</td>
378          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
379        </tr>
380        <tr>
381          <td></td>
382          <td>)</td>
383          <td></td><td></td><td></td>
384        </tr>
385      </table>
386</div>
387<div class="memdoc">
388<p>Constructs a "value" kind token. </p>
389<dl><dt><b>Parameters:</b></dt><dd>
390  <table border="0" cellspacing="2" cellpadding="0">
391    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
392    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
393    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Sets the value on token, </td></tr>
394    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>is_signed</em>&nbsp;</td><td>Signed bit of <em>val</em>. </td></tr>
395    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>Width of <em>val</em>. </td></tr>
396  </table>
397  </dd>
398</dl>
399<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to value token. </dd></dl>
400<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__value.html">sMToken_value</a> </dd></dl>
401
402</div>
403</div>
404<a class="anchor" id="abf3eb472b66b477d0165a31437d35c09"></a><!-- doxytag: member="m_token.c::libmangle_dump_tok" ref="abf3eb472b66b477d0165a31437d35c09" args="(FILE *fp, uMToken *p)" -->
405<div class="memitem">
406<div class="memproto">
407      <table class="memname">
408        <tr>
409          <td class="memname">void libmangle_dump_tok </td>
410          <td>(</td>
411          <td class="paramtype">FILE *&nbsp;</td>
412          <td class="paramname"> <em>fp</em>, </td>
413        </tr>
414        <tr>
415          <td class="paramkey"></td>
416          <td></td>
417          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
418          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
419        </tr>
420        <tr>
421          <td></td>
422          <td>)</td>
423          <td></td><td></td><td></td>
424        </tr>
425      </table>
426</div>
427<div class="memdoc">
428<p>Dumps <a class="el" href="unionu_m_token.html">uMToken</a> to a file descriptor for debugging. </p>
429<dl><dt><b>Parameters:</b></dt><dd>
430  <table border="0" cellspacing="2" cellpadding="0">
431    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fp</em>&nbsp;</td><td>File descriptor to print the token to. </td></tr>
432    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>p</em>&nbsp;</td><td><a class="el" href="unionu_m_token.html">uMToken</a> chain to print. </td></tr>
433  </table>
434  </dd>
435</dl>
436
437</div>
438</div>
439<a class="anchor" id="a54257a43469abe9c5f9556a1913bbf2f"></a><!-- doxytag: member="m_token.c::libmangle_generate_gc" ref="a54257a43469abe9c5f9556a1913bbf2f" args="(void)" -->
440<div class="memitem">
441<div class="memproto">
442      <table class="memname">
443        <tr>
444          <td class="memname"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a>* libmangle_generate_gc </td>
445          <td>(</td>
446          <td class="paramtype">void&nbsp;</td>
447          <td class="paramname"></td>
448          <td>&nbsp;)&nbsp;</td>
449          <td></td>
450        </tr>
451      </table>
452</div>
453<div class="memdoc">
454<p>Constructs a garbage collection context token. </p>
455<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to context. </dd></dl>
456<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#ac6f10b5d722b67adc42b2efaf4683dc1">libmangle_release_gc()</a> </dd></dl>
457
458</div>
459</div>
460<a class="anchor" id="afb0d47109f166db3186774ddfcb994be"></a><!-- doxytag: member="m_token.c::libmangle_print_decl" ref="afb0d47109f166db3186774ddfcb994be" args="(FILE *fp, uMToken *r)" -->
461<div class="memitem">
462<div class="memproto">
463      <table class="memname">
464        <tr>
465          <td class="memname">void libmangle_print_decl </td>
466          <td>(</td>
467          <td class="paramtype">FILE *&nbsp;</td>
468          <td class="paramname"> <em>fp</em>, </td>
469        </tr>
470        <tr>
471          <td class="paramkey"></td>
472          <td></td>
473          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
474          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
475        </tr>
476        <tr>
477          <td></td>
478          <td>)</td>
479          <td></td><td></td><td></td>
480        </tr>
481      </table>
482</div>
483<div class="memdoc">
484<p>Prints C++ name to file descriptor. </p>
485<dl><dt><b>Parameters:</b></dt><dd>
486  <table border="0" cellspacing="2" cellpadding="0">
487    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fp</em>&nbsp;</td><td>Output file descriptor. </td></tr>
488    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>p</em>&nbsp;</td><td>Token containing information about the C++ name. </td></tr>
489  </table>
490  </dd>
491</dl>
492<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#a14ff3e5c3309017dc99459ef1ffef582">libmangle_decode_ms_name()</a> </dd></dl>
493
494</div>
495</div>
496<a class="anchor" id="ac6f10b5d722b67adc42b2efaf4683dc1"></a><!-- doxytag: member="m_token.c::libmangle_release_gc" ref="ac6f10b5d722b67adc42b2efaf4683dc1" args="(libmangle_gc_context_t *gc)" -->
497<div class="memitem">
498<div class="memproto">
499      <table class="memname">
500        <tr>
501          <td class="memname">void libmangle_release_gc </td>
502          <td>(</td>
503          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
504          <td class="paramname"> <em>gc</em></td>
505          <td>&nbsp;)&nbsp;</td>
506          <td></td>
507        </tr>
508      </table>
509</div>
510<div class="memdoc">
511<p>Releases memory tracked by context. </p>
512<dl><dt><b>Parameters:</b></dt><dd>
513  <table border="0" cellspacing="2" cellpadding="0">
514    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Garbage collection context to work on. </td></tr>
515  </table>
516  </dd>
517</dl>
518<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#a54257a43469abe9c5f9556a1913bbf2f">libmangle_generate_gc()</a> </dd></dl>
519
520</div>
521</div>
522<a class="anchor" id="ac0f7cf41cc7c3e9c57dd94ed318dd5a4"></a><!-- doxytag: member="m_token.c::libmangle_sprint_decl" ref="ac0f7cf41cc7c3e9c57dd94ed318dd5a4" args="(uMToken *r)" -->
523<div class="memitem">
524<div class="memproto">
525      <table class="memname">
526        <tr>
527          <td class="memname">char* libmangle_sprint_decl </td>
528          <td>(</td>
529          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
530          <td class="paramname"> <em>r</em></td>
531          <td>&nbsp;)&nbsp;</td>
532          <td></td>
533        </tr>
534      </table>
535</div>
536<div class="memdoc">
537<p>Get pointer to decoded C++ name string. Use free() to release returned string. </p>
538<dl><dt><b>Parameters:</b></dt><dd>
539  <table border="0" cellspacing="2" cellpadding="0">
540    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>r</em>&nbsp;</td><td>C++ name token. </td></tr>
541  </table>
542  </dd>
543</dl>
544<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to decoded C++ name string. </dd></dl>
545<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#a14ff3e5c3309017dc99459ef1ffef582">libmangle_decode_ms_name()</a> </dd></dl>
546
547</div>
548</div>
549</div>
550<hr size="1"/><address style="text-align: right;"><small>Generated on 23 Jul 2010 for libmangle by&nbsp;
551<a href="http://www.doxygen.org/index.html">
552<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
553</body>
554</html>
555