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 Page</span></a></li> 15 <li><a href="annotated.html"><span>Data 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 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 <stdio.h></code><br/> 28<code>#include <stdlib.h></code><br/> 29<code>#include <malloc.h></code><br/> 30<code>#include <string.h></code><br/> 31<code>#include <inttypes.h></code><br/> 32<code>#include <stdint.h></code><br/> 33<code>#include "<a class="el" href="m__token_8h_source.html">m_token.h</a>"</code><br/> 34<code>#include "<a class="el" href="m__ms_8h_source.html">m_ms.h</a>"</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8c.html#a7defdcab1465fcfa706d66f1572a08d5">MY_LL</a> "ll"</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> * </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 </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> * </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 </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> * </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> * </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> * </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> * </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> * </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> * </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 * </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 </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 "ll"</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> * </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> * </td> 81 <td class="paramname"> <em>add</em></td><td> </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> </td><td valign="top"><em>l</em> </td><td>uMtoken chain to link up with. </td></tr> 95 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>add</em> </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> * </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> </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> * </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> * </td> 129 <td class="paramname"> <em>r</em></td><td> </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> </td><td valign="top"><em>gc</em> </td><td>Pointer to garbage collection context. </td></tr> 143 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>skind</em> </td><td>Token subKind. </td></tr> 144 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>l</em> </td><td>Left node element. </td></tr> 145 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>r</em> </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> * </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> </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 </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 * </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 </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 </td> 192 <td class="paramname"> <em>fNegate</em></td><td> </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> </td><td valign="top"><em>gc</em> </td><td>Pointer to garbage collection context. </td></tr> 206 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>skind</em> </td><td>Token subkind. </td></tr> 207 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>val</em> </td><td>Token numerical value. </td></tr> 208 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>non_tt_param</em> </td><td>pointer to decoded C++ template name. </td></tr> 209 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fSigned</em> </td><td>Signedness of the numerical value. </td></tr> 210 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fNegate</em> </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> * </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> </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 * </td> 239 <td class="paramname"> <em>name</em></td><td> </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> </td><td valign="top"><em>gc</em> </td><td>Pointer to garbage collection context. </td></tr> 253 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>skind</em> </td><td>Token subkind. </td></tr> 254 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>name</em> </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> * </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> </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> </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 </td> 289 <td class="paramname"> <em>addend</em></td><td> </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> * </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> </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> * </td> 322 <td class="paramname"> <em>un</em></td><td> </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> </td><td valign="top"><em>gc</em> </td><td>Pointer to garbage collection context. </td></tr> 336 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>skind</em> </td><td>Token subkind. </td></tr> 337 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>un</em> </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> * </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> </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 </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 </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 </td> 378 <td class="paramname"> <em>size</em></td><td> </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> </td><td valign="top"><em>gc</em> </td><td>Pointer to garbage collection context. </td></tr> 392 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>skind</em> </td><td>Token subkind. </td></tr> 393 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>val</em> </td><td>Sets the value on token, </td></tr> 394 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>is_signed</em> </td><td>Signed bit of <em>val</em>. </td></tr> 395 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>size</em> </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 * </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> * </td> 418 <td class="paramname"> <em>p</em></td><td> </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> </td><td valign="top"><em>fp</em> </td><td>File descriptor to print the token to. </td></tr> 432 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>p</em> </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 </td> 447 <td class="paramname"></td> 448 <td> ) </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 * </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> * </td> 474 <td class="paramname"> <em>p</em></td><td> </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> </td><td valign="top"><em>fp</em> </td><td>Output file descriptor. </td></tr> 488 <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>p</em> </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> * </td> 504 <td class="paramname"> <em>gc</em></td> 505 <td> ) </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> </td><td valign="top"><em>gc</em> </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> * </td> 530 <td class="paramname"> <em>r</em></td> 531 <td> ) </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> </td><td valign="top"><em>r</em> </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 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