<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>rpm: lua/lmem.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>lua/lmem.h File Reference</h1><code>#include <stddef.h></code><br> <code>#include "<a class="el" href="llimits_8h-source.html">llimits.h</a>"</code><br> <code>#include "lua.h"</code><br> <p> <a href="lmem_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#36d62c6c0c5a33c2f29cf26ff9137cbf">MEMERRMSG</a> "not enough memory"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#45b2229e655e385fd650f882298b2c42">luaM_free</a>(L, b, s) luaM_realloc(L, (b), (s), 0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#950211b6f3cdd2a18ea3e2ad59412897">luaM_freelem</a>(L, b) luaM_realloc(L, (b), sizeof(*(b)), 0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#0e7e8302eb92be56c1043f086deed39a">luaM_freearray</a>(L, b, n, t)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#352102a0627666bfc7f22209c1a7027d">luaM_malloc</a>(L, t) luaM_realloc(L, NULL, 0, (t))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#e72bd363be924fa9a67be67de0802ad7">luaM_new</a>(L, t) cast(t *, luaM_malloc(L, sizeof(t)))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(L, n, t)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#38823c4cdf0d53b73e1e3015affb06f9">luaM_growvector</a>(L, v, nelems, size, t, limit, e)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#b1174e625ed7a62e5f8ba33a7e1c1917">luaM_reallocvector</a>(L, v, oldn, n, t)</td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#f844b131d162897e03b6ff517aaa225a">luaM_realloc</a> (<a class="el" href="structlua__State.html">lua_State</a> *L, void *oldblock, <a class="el" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a> oldsize, <a class="el" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a> size)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="lmem_8h.html#9b178ce1888a7eaaef7286727a7016fc">luaM_growaux</a> (<a class="el" href="structlua__State.html">lua_State</a> *L, void *block, int *size, int size_elem, int limit, const char *errormsg)</td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="45b2229e655e385fd650f882298b2c42"></a><!-- doxytag: member="lmem.h::luaM_free" ref="45b2229e655e385fd650f882298b2c42" args="(L, b, s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_free </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">b, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">s </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> luaM_realloc(L, (b), (s), 0)</td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00028">28</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lgc_8c-source.html#l00378">freeobj()</a>, <a class="el" href="lstate_8c-source.html#l00063">freestate()</a>, and <a class="el" href="lfunc_8c-source.html#l00113">luaF_freeclosure()</a>. </div> </div><p> <a class="anchor" name="0e7e8302eb92be56c1043f086deed39a"></a><!-- doxytag: member="lmem.h::luaM_freearray" ref="0e7e8302eb92be56c1043f086deed39a" args="(L, b, n, t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_freearray </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">b, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">n, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">t </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="lmem_8c.html#79d69c472f8b846b962340beff43fc77">luaM_realloc</a>(L, (b), \ <a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(<a class="code" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a>, n)*<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(<a class="code" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a>, <span class="keyword">sizeof</span>(t)), 0) </pre></div> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00030">30</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lstate_8c-source.html#l00089">freestack()</a>, <a class="el" href="lfunc_8c-source.html#l00102">luaF_freeproto()</a>, <a class="el" href="ltable_8c-source.html#l00361">luaH_free()</a>, <a class="el" href="lstring_8c-source.html#l00021">luaS_freeall()</a>, <a class="el" href="lstring_8c-source.html#l00027">luaS_resize()</a>, and <a class="el" href="ltable_8c-source.html#l00286">resize()</a>. </div> </div><p> <a class="anchor" name="950211b6f3cdd2a18ea3e2ad59412897"></a><!-- doxytag: member="lmem.h::luaM_freelem" ref="950211b6f3cdd2a18ea3e2ad59412897" args="(L, b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_freelem </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">b </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> luaM_realloc(L, (b), sizeof(*(b)), 0)</td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00029">29</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lstate_8c-source.html#l00159">close_state()</a>, <a class="el" href="lgc_8c-source.html#l00378">freeobj()</a>, <a class="el" href="lfunc_8c-source.html#l00102">luaF_freeproto()</a>, and <a class="el" href="ltable_8c-source.html#l00361">luaH_free()</a>. </div> </div><p> <a class="anchor" name="38823c4cdf0d53b73e1e3015affb06f9"></a><!-- doxytag: member="lmem.h::luaM_growvector" ref="38823c4cdf0d53b73e1e3015affb06f9" args="(L, v, nelems, size, t, limit, e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_growvector </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">v, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">nelems, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">t, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">limit, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">e </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (((nelems)+1) > (size)) \ ((v)=<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(t *, <a class="code" href="lmem_8c.html#00687a804d1b56fbfebf780e29f0d5fd">luaM_growaux</a>(L,v,&(size),<span class="keyword">sizeof</span>(t),limit,e))) </pre></div> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00038">38</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lcode_8c-source.html#l00229">addk()</a>, <a class="el" href="lparser_8c-source.html#l00161">luaI_registerlocalvar()</a>, <a class="el" href="lcode_8c-source.html#l00729">luaK_code()</a>, and <a class="el" href="lparser_8c-source.html#l00358">pushclosure()</a>. </div> </div><p> <a class="anchor" name="352102a0627666bfc7f22209c1a7027d"></a><!-- doxytag: member="lmem.h::luaM_malloc" ref="352102a0627666bfc7f22209c1a7027d" args="(L, t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_malloc </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">t </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> luaM_realloc(L, NULL, 0, (t))</td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00033">33</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lfunc_8c-source.html#l00029">luaF_newCclosure()</a>, <a class="el" href="lfunc_8c-source.html#l00038">luaF_newLclosure()</a>, <a class="el" href="lstring_8c-source.html#l00093">luaS_newudata()</a>, <a class="el" href="lstate_8c-source.html#l00051">mallocstate()</a>, and <a class="el" href="lstring_8c-source.html#l00052">newlstr()</a>. </div> </div><p> <a class="anchor" name="e72bd363be924fa9a67be67de0802ad7"></a><!-- doxytag: member="lmem.h::luaM_new" ref="e72bd363be924fa9a67be67de0802ad7" args="(L, t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_new </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">t </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> cast(t *, luaM_malloc(L, sizeof(t)))</td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00034">34</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lstate_8c-source.html#l00100">f_luaopen()</a>, <a class="el" href="lfunc_8c-source.html#l00048">luaF_findupval()</a>, <a class="el" href="lfunc_8c-source.html#l00077">luaF_newproto()</a>, and <a class="el" href="ltable_8c-source.html#l00345">luaH_new()</a>. </div> </div><p> <a class="anchor" name="715cc368a85506c7a104cda58f270f3e"></a><!-- doxytag: member="lmem.h::luaM_newvector" ref="715cc368a85506c7a104cda58f270f3e" args="(L, n, t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_newvector </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">n, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">t </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(t *, <a class="code" href="lmem_8h.html#352102a0627666bfc7f22209c1a7027d">luaM_malloc</a>(L, \ <a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(<a class="code" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a>, n)*<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(<a class="code" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a>, <span class="keyword">sizeof</span>(t)))) </pre></div> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00035">35</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lundump_8c-source.html#l00122">LoadCode()</a>, <a class="el" href="lundump_8c-source.html#l00172">LoadConstants()</a>, <a class="el" href="lundump_8c-source.html#l00146">LoadLines()</a>, <a class="el" href="lundump_8c-source.html#l00131">LoadLocals()</a>, <a class="el" href="lundump_8c-source.html#l00155">LoadUpvalues()</a>, <a class="el" href="lstring_8c-source.html#l00027">luaS_resize()</a>, <a class="el" href="ltable_8c-source.html#l00260">setnodevector()</a>, and <a class="el" href="lstate_8c-source.html#l00071">stack_init()</a>. </div> </div><p> <a class="anchor" name="b1174e625ed7a62e5f8ba33a7e1c1917"></a><!-- doxytag: member="lmem.h::luaM_reallocvector" ref="b1174e625ed7a62e5f8ba33a7e1c1917" args="(L, v, oldn, n, t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define luaM_reallocvector </td> <td>(</td> <td class="paramtype">L, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">v, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">oldn, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">n, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">t </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment">((v)=<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(t *, <a class="code" href="lmem_8c.html#79d69c472f8b846b962340beff43fc77">luaM_realloc</a>(L, v,<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(<a class="code" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a>, oldn)*<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(<a class="code" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a>, <span class="keyword">sizeof</span>(t)), \ <a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(lu_mem, n)*<a class="code" href="llimits_8h.html#f17d62ec9e237a7644de6b9b34a48a34">cast</a>(lu_mem, <span class="keyword">sizeof</span>(t))))) </pre></div> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00042">42</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lparser_8c-source.html#l00401">close_func()</a>, <a class="el" href="ldo_8c-source.html#l00135">luaD_reallocCI()</a>, <a class="el" href="ldo_8c-source.html#l00126">luaD_reallocstack()</a>, <a class="el" href="lzio_8c-source.html#l00072">luaZ_openspace()</a>, <a class="el" href="ltable_8c-source.html#l00286">resize()</a>, and <a class="el" href="ltable_8c-source.html#l00249">setarrayvector()</a>. </div> </div><p> <a class="anchor" name="36d62c6c0c5a33c2f29cf26ff9137cbf"></a><!-- doxytag: member="lmem.h::MEMERRMSG" ref="36d62c6c0c5a33c2f29cf26ff9137cbf" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MEMERRMSG "not enough memory" </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8h-source.html#l00016">16</a> of file <a class="el" href="lmem_8h-source.html">lmem.h</a>. <p> Referenced by <a class="el" href="lstate_8c-source.html#l00100">f_luaopen()</a>, and <a class="el" href="ldo_8c-source.html#l00050">seterrorobj()</a>. </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="9b178ce1888a7eaaef7286727a7016fc"></a><!-- doxytag: member="lmem.h::luaM_growaux" ref="9b178ce1888a7eaaef7286727a7016fc" args="(lua_State *L, void *block, int *size, int size_elem, int limit, const char *errormsg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* luaM_growaux </td> <td>(</td> <td class="paramtype"><a class="el" href="structlua__State.html">lua_State</a> * </td> <td class="paramname"> <em>L</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>block</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>size_elem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>limit</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>errormsg</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8c-source.html#l00043">43</a> of file <a class="el" href="lmem_8c-source.html">lmem.c</a>. <p> References <a class="el" href="llimits_8h-source.html#l00108">cast</a>, <a class="el" href="ldebug_8c-source.html#l00627">luaG_runerror()</a>, <a class="el" href="lmem_8c-source.html#l00065">luaM_realloc()</a>, and <a class="el" href="lmem_8c-source.html#l00040">MINSIZEARRAY</a>. </div> </div><p> <a class="anchor" name="f844b131d162897e03b6ff517aaa225a"></a><!-- doxytag: member="lmem.h::luaM_realloc" ref="f844b131d162897e03b6ff517aaa225a" args="(lua_State *L, void *oldblock, lu_mem oldsize, lu_mem size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* luaM_realloc </td> <td>(</td> <td class="paramtype"><a class="el" href="structlua__State.html">lua_State</a> * </td> <td class="paramname"> <em>L</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>oldblock</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a> </td> <td class="paramname"> <em>oldsize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="llimits_8h.html#ac8c50ca0aa51c80523376da77c2c4d8">lu_mem</a> </td> <td class="paramname"> <em>size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="lmem_8c-source.html#l00065">65</a> of file <a class="el" href="lmem_8c-source.html">lmem.c</a>. <p> References <a class="el" href="lstate_8h-source.html#l00178">G</a>, <a class="el" href="lmem_8c-source.html#l00036">l_free</a>, <a class="el" href="lmem_8c-source.html#l00028">l_realloc</a>, <a class="el" href="llimits_8h-source.html#l00093">lua_assert</a>, <a class="el" href="ldo_8c-source.html#l00072">luaD_throw()</a>, <a class="el" href="ldebug_8c-source.html#l00627">luaG_runerror()</a>, and <a class="el" href="llimits_8h-source.html#l00062">MAX_SIZET</a>. <p> Referenced by <a class="el" href="lmem_8c-source.html#l00043">luaM_growaux()</a>. </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>