Current File : //opt/RZruby/share/doc/ruby/html/da/d7a/dl_8c_source.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Ruby: ext/dl/dl.c Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Ruby
   &#160;<span id="projectnumber">1.9.3p551(2014-11-13revision48407)</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../modules.html"><span>Modules</span></a></li>
      <li><a href="../../annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
      <li><a href="../../globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_31cedd4509e06940f559c1ca2f722e02.html">ext</a></li><li class="navelem"><a class="el" href="../../dir_e9683733d4544b457a6fcc0f6908f54a.html">dl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">dl.c</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../da/d7a/dl_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * ext/dl/dl.c</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * doumentation:</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * - Vincent Batts (vbatts@hashbangbash.com)</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../de/de6/ruby_2ruby_8h.html">ruby/ruby.h</a>&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../dc/dac/io_8h.html">ruby/io.h</a>&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/d81/dl_8h.html">dl.h</a>&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#abd16b5eaf282e1bc9722984c3c1b0c6d">   13</a></span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>;</div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#a863fd0408ea0599b3be123b24912e249">   14</a></span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../da/d7a/dl_8c.html#a863fd0408ea0599b3be123b24912e249">rb_eDLError</a>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#ab2463071c50e78dc594888799bf070a3">   15</a></span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../da/d7a/dl_8c.html#ab2463071c50e78dc594888799bf070a3">rb_eDLTypeError</a>;</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#a05d4b52bfcf3d1247f65b1f50c98e715">   17</a></span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#afa5b9137f051ac26d7ccc8824f178233">ID</a> <a class="code" href="../../da/d7a/dl_8c.html#a05d4b52bfcf3d1247f65b1f50c98e715">rbdl_id_cdecl</a>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#a758e568959188a34a75c3068107d8919">   18</a></span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#afa5b9137f051ac26d7ccc8824f178233">ID</a> <a class="code" href="../../da/d7a/dl_8c.html#a758e568959188a34a75c3068107d8919">rbdl_id_stdcall</a>;</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#a003ad0e8f8d153200d84dd601f56009d">   21</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#a003ad0e8f8d153200d84dd601f56009d">rb_dl_dlopen</a>(<span class="keywordtype">int</span> <a class="code" href="../../d5/d9d/tcltklib_8c.html#a5122b379c5c4fc9103e147bf69ff08b4">argc</a>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../d5/d9d/tcltklib_8c.html#ab9ebbdd4596789afb752d19fca153ee5">argv</a>[], <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <span class="keyword">self</span>)</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;{</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../db/d2e/intern_8h.html#a4e25a1a5ca0fc372179c4f429600bc2a">rb_class_new_instance</a>(argc, argv, <a class="code" href="../../de/d81/dl_8h.html#ad4ae70774b793148692fa325f658711a">rb_cDLHandle</a>);</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> * call-seq: DL.malloc</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> * Allocate +size+ bytes of memory and return the integer memory address</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * for the allocated memory.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#ad2e8ae342c5a6ba7f50d18b671fc8cf0">   33</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#ad2e8ae342c5a6ba7f50d18b671fc8cf0">rb_dl_malloc</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <span class="keyword">self</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../d5/db5/encoding_8c.html#a439227feff9d7f55384e8780cfc2eb82">size</a>)</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="../../d5/d9d/tcltklib_8c.html#a9d08db2e7a99d650ace90f02ea93108b">ptr</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="../../d5/d9d/tcltklib_8c.html#a94573b23a7c5d9c129da54deebf38842">rb_secure</a>(4);</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    ptr = (<span class="keywordtype">void</span>*)<a class="code" href="../../d8/d16/gc_8c.html#a6bc5fb330da1d3b53deec9a4fd38f72f">ruby_xmalloc</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a877c38180d23c5447d976c70dda89d69">NUM2INT</a>(size));</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../de/d81/dl_8h.html#a60974635e5706a1686a0443d28f7451f">PTR2NUM</a>(ptr);</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;}</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"> * call-seq: DL.realloc(addr, size)</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"> * Change the size of the memory allocated at the memory location +addr+ to</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"> * +size+ bytes.  Returns the memory address of the reallocated memory, which</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"> * may be different than the address passed in.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#a841159ba56257a72a478daa93b243845">   50</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#a841159ba56257a72a478daa93b243845">rb_dl_realloc</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <span class="keyword">self</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> addr, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../d5/db5/encoding_8c.html#a439227feff9d7f55384e8780cfc2eb82">size</a>)</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="../../d5/d9d/tcltklib_8c.html#a9d08db2e7a99d650ace90f02ea93108b">ptr</a> = <a class="code" href="../../de/d81/dl_8h.html#a1bfda858388d9fde65ce0debd0b6879c">NUM2PTR</a>(addr);</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <a class="code" href="../../d5/d9d/tcltklib_8c.html#a94573b23a7c5d9c129da54deebf38842">rb_secure</a>(4);</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    ptr = (<span class="keywordtype">void</span>*)<a class="code" href="../../d8/d16/gc_8c.html#a6d2202b39dca06c253433cae603ed97f">ruby_xrealloc</a>(ptr, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a877c38180d23c5447d976c70dda89d69">NUM2INT</a>(size));</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../de/d81/dl_8h.html#a60974635e5706a1686a0443d28f7451f">PTR2NUM</a>(ptr);</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment"> * call-seq: DL.free(addr)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment"> * Free the memory at address +addr+</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#a06b48e29ceb4f7dfcf5447382d2f58c9">   65</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#a06b48e29ceb4f7dfcf5447382d2f58c9">rb_dl_free</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <span class="keyword">self</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> addr)</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;{</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="../../d5/d9d/tcltklib_8c.html#a9d08db2e7a99d650ace90f02ea93108b">ptr</a> = <a class="code" href="../../de/d81/dl_8h.html#a1bfda858388d9fde65ce0debd0b6879c">NUM2PTR</a>(addr);</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="../../d5/d9d/tcltklib_8c.html#a94573b23a7c5d9c129da54deebf38842">rb_secure</a>(4);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="../../d8/d16/gc_8c.html#a0bffec5b2cc004adcebb6802e7620387">ruby_xfree</a>(ptr);</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a951c0ac0eb3744c19168be7d33097b11">Qnil</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#a39896899f5f60a9def2c0951536a2548">   75</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#a39896899f5f60a9def2c0951536a2548">rb_dl_ptr2value</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <span class="keyword">self</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> addr)</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;{</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="../../d5/d9d/tcltklib_8c.html#a94573b23a7c5d9c129da54deebf38842">rb_secure</a>(4);</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a>)<a class="code" href="../../de/d81/dl_8h.html#a1bfda858388d9fde65ce0debd0b6879c">NUM2PTR</a>(addr);</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#ab45b324238111a0d2814ae8f7ddf4d34">   82</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#ab45b324238111a0d2814ae8f7ddf4d34">rb_dl_value2ptr</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <span class="keyword">self</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../d5/d11/ripper_8c.html#a68fefa607ad528d20b0ae5d69a346d46">val</a>)</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="../../de/d81/dl_8h.html#a60974635e5706a1686a0443d28f7451f">PTR2NUM</a>((<span class="keywordtype">void</span>*)val);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;}</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#a4862ee590b7d3af9bd0687c02b90e6f6">   88</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#a4862ee590b7d3af9bd0687c02b90e6f6">rb_dl_init_callbacks</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> dl)</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;{</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> cb[] = <span class="stringliteral">&quot;dl/callback.so&quot;</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <a class="code" href="../../db/d2e/intern_8h.html#ad5fcb70bd418c881cb337bf9eda01268">rb_autoload</a>(dl, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a>(<span class="stringliteral">&quot;CdeclCallbackAddrs&quot;</span>), cb);</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="../../db/d2e/intern_8h.html#ad5fcb70bd418c881cb337bf9eda01268">rb_autoload</a>(dl, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a>(<span class="stringliteral">&quot;CdeclCallbackProcs&quot;</span>), cb);</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#ifdef FUNC_STDCALL</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor"></span>    <a class="code" href="../../db/d2e/intern_8h.html#ad5fcb70bd418c881cb337bf9eda01268">rb_autoload</a>(dl, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a>(<span class="stringliteral">&quot;StdcallCallbackAddrs&quot;</span>), cb);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <a class="code" href="../../db/d2e/intern_8h.html#ad5fcb70bd418c881cb337bf9eda01268">rb_autoload</a>(dl, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a>(<span class="stringliteral">&quot;StdcallCallbackProcs&quot;</span>), cb);</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="../../da/d7a/dl_8c.html#abc745f723f75f220c5eb55650097f283">  101</a></span>&#160;<a class="code" href="../../da/d7a/dl_8c.html#abc745f723f75f220c5eb55650097f283">Init_dl</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;{</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../d2/d58/handle_8c.html#aeb455309f9e32da2f29175095cc81178">Init_dlhandle</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../d3/df8/cfunc_8c.html#a8e09630bfb128bd1659f20dd66e06d18">Init_dlcfunc</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="../../d6/d8e/cptr_8c.html#a5cbd6e04ec0619a57cf8389a13f27437">Init_dlptr</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <a class="code" href="../../da/d7a/dl_8c.html#a05d4b52bfcf3d1247f65b1f50c98e715">rbdl_id_cdecl</a> = <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a>(<span class="stringliteral">&quot;cdecl&quot;</span>);</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <a class="code" href="../../da/d7a/dl_8c.html#a758e568959188a34a75c3068107d8919">rbdl_id_stdcall</a> = <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a>(<span class="stringliteral">&quot;stdcall&quot;</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">/* Document-module: DL</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">     * A bridge to the dlopen() or dynamic library linker function.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">     * == Example</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">     *   bash $&gt; cat &gt; sum.c &lt;&lt;EOF</span></div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">     *   double sum(double *arry, int len)</span></div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">     *   {</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">     *           double ret = 0;</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">     *           int i;</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">     *           for(i = 0; i &lt; len; i++){</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">     *                   ret = ret + arry[i];</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">     *           }</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">     *           return ret;</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">     *   }</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">     *   double split(double num)</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">     *   {</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">     *           double ret = 0;</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">     *           ret = num / 2;</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">     *           return ret;</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">     *   }</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">     *   EOF</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">     *   bash $&gt; gcc -o libsum.so -shared sum.c</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">     *   bash $&gt; cat &gt; sum.rb &lt;&lt;EOF</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">     *   require &#39;dl&#39;</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">     *   require &#39;dl/import&#39;</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">     *   module LibSum</span></div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">     *           extend DL::Importer</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">     *           dlload &#39;./libsum.so&#39;</span></div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">     *           extern &#39;double sum(double*, int)&#39;</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">     *           extern &#39;double split(double)&#39;</span></div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">     *   end</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">     *   a = [2.0, 3.0, 4.0]</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">     *   sum = LibSum.sum(a.pack(&quot;d*&quot;), a.count)</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">     *   p LibSum.split(sum)</span></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">     *   EOF</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">     *   bash $&gt; ruby sum.rb</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">     *   4.5</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment">     * WIN! :-)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a> = <a class="code" href="../../de/ddf/group__class.html#ga911071d40f9312e49a774ea0e1b12869">rb_define_module</a>(<span class="stringliteral">&quot;DL&quot;</span>);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">     * Document-class: DL::DLError</span></div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">     * standard dynamic load exception</span></div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <a class="code" href="../../da/d7a/dl_8c.html#a863fd0408ea0599b3be123b24912e249">rb_eDLError</a> = <a class="code" href="../../de/ddf/group__class.html#ga5266deadce0318d830a1e63c0933b898">rb_define_class_under</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;DLError&quot;</span>, <a class="code" href="../../db/dcc/error_8c.html#a3fc1bd0a9e1211aef38f81d600345ed9">rb_eStandardError</a>);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">     * Document-class: DL::DLTypeError</span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">     * dynamic load incorrect type exception</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <a class="code" href="../../da/d7a/dl_8c.html#ab2463071c50e78dc594888799bf070a3">rb_eDLTypeError</a> = <a class="code" href="../../de/ddf/group__class.html#ga5266deadce0318d830a1e63c0933b898">rb_define_class_under</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;DLTypeError&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#a863fd0408ea0599b3be123b24912e249">rb_eDLError</a>);</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="comment">/* Document-const: MAX_CALLBACK</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment">     * Maximum number of callbacks</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;MAX_CALLBACK&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#aac6c0d6a0e02c32b95cf070112fe590f">MAX_CALLBACK</a>));</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="comment">/* Document-const: DLSTACK_SIZE</span></div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">     * Dynamic linker stack size</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;DLSTACK_SIZE&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a4c5c02505d9ac495d8401abc11e52bc5">DLSTACK_SIZE</a>));</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <a class="code" href="../../da/d7a/dl_8c.html#a4862ee590b7d3af9bd0687c02b90e6f6">rb_dl_init_callbacks</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>);</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="comment">/* Document-const: RTLD_GLOBAL</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">     * rtld DL::Handle flag.</span></div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">     * The symbols defined by this library will be made available for symbol</span></div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment">     * resolution of subsequently loaded libraries.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;RTLD_GLOBAL&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(RTLD_GLOBAL));</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="comment">/* Document-const: RTLD_LAZY</span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">     * rtld DL::Handle flag.</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment">     * Perform lazy binding.  Only resolve symbols as the code that references</span></div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment">     * them is executed.  If the  symbol is never referenced, then it is never</span></div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment">     * resolved.  (Lazy binding is only performed for function references;</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment">     * references to variables are always immediately bound when the library</span></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">     * is loaded.)</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;RTLD_LAZY&quot;</span>,   <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(RTLD_LAZY));</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="comment">/* Document-const: RTLD_NOW</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">     * rtld DL::Handle flag.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="comment">     * If this value is specified or the environment variable LD_BIND_NOW is</span></div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="comment">     * set to a nonempty string, all undefined symbols in the library are</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">     * resolved before dlopen() returns.  If this cannot be done an error is</span></div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment">     * returned.</span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;RTLD_NOW&quot;</span>,    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(RTLD_NOW));</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="comment">/* Document-const: TYPE_VOID</span></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="comment">     * DL::CFunc type - void</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_VOID&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#ad21088f148d36031ae671d32c38e54cb">DLTYPE_VOID</a>));</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="comment">/* Document-const: TYPE_VOIDP</span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">     * DL::CFunc type - void*</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_VOIDP&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#ae35b1f0895d8892e3e852a98a7f25562">DLTYPE_VOIDP</a>));</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="comment">/* Document-const: TYPE_CHAR</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="comment">     * DL::CFunc type - char</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_CHAR&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#ae4374269fd7ca3aa1729b47566ca61ce">DLTYPE_CHAR</a>));</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="comment">/* Document-const: TYPE_SHORT</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">     * DL::CFunc type - short</span></div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_SHORT&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a55f7aa934c2ba10179aefc6fe16d23fd">DLTYPE_SHORT</a>));</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="comment">/* Document-const: TYPE_INT</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">     * DL::CFunc type - int</span></div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_INT&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a320798613603393ae455601b13512d94">DLTYPE_INT</a>));</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="comment">/* Document-const: TYPE_LONG</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">     * DL::CFunc type - long</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_LONG&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a362ec8dc043bd78871eacabcca3314cb">DLTYPE_LONG</a>));</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">#if HAVE_LONG_LONG</span></div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor"></span>    <span class="comment">/* Document-const: TYPE_LONG_LONG</span></div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="comment">     * DL::CFunc type - long long</span></div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_LONG_LONG&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(DLTYPE_LONG_LONG));</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="comment">/* Document-const: TYPE_FLOAT</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="comment">     * DL::CFunc type - float</span></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_FLOAT&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a38a478aecdb6eef575ad3fc1d7f41b21">DLTYPE_FLOAT</a>));</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="comment">/* Document-const: TYPE_DOUBLE</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="comment">     * DL::CFunc type - double</span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;TYPE_DOUBLE&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a3438079b431d2ca4839470d741052cba">DLTYPE_DOUBLE</a>));</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="comment">/* Document-const: ALIGN_VOIDP</span></div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="comment">     * The Offset of a struct void* and a void*</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_VOIDP&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#addcbec4cfa847c1327a404b13a5e2723">ALIGN_VOIDP</a>));</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="comment">/* Document-const: ALIGN_CHAR</span></div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="comment">     * The Offset of a struct char and a char</span></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_CHAR&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a9dfa0cc58d3eab4ed437570dec42fee3">ALIGN_CHAR</a>));</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">/* Document-const: ALIGN_SHORT</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="comment">     * The Offset of a struct short and a short</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_SHORT&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#ab5c5f8a660cfdc3b2e064af3c6af4773">ALIGN_SHORT</a>));</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="comment">/* Document-const: ALIGN_INT</span></div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment">     * The Offset of a struct int and a int</span></div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_INT&quot;</span>,   <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#af1ef7f352cf9f350b0004cc0110b9e23">ALIGN_INT</a>));</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="comment">/* Document-const: ALIGN_LONG</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">     * The Offset of a struct long and a long</span></div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_LONG&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#aa173dff6a214bde78ec04f8f3e60664c">ALIGN_LONG</a>));</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#if HAVE_LONG_LONG</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor"></span>    <span class="comment">/* Document-const: ALIGN_LONG_LONG</span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="comment">     * The Offset of a struct long long and a long long</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_LONG_LONG&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(ALIGN_LONG_LONG));</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">/* Document-const: ALIGN_FLOAT</span></div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="comment">     * The Offset of a struct float and a float</span></div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_FLOAT&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#ac193cb876f0605c1210524fe93c68509">ALIGN_FLOAT</a>));</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="comment">/* Document-const: ALIGN_DOUBLE</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="comment">     * The Offset of a struct double and a double</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;ALIGN_DOUBLE&quot;</span>,<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<a class="code" href="../../de/d81/dl_8h.html#a4fcc962bf451b366e6a3668f9ca2da94">ALIGN_DOUBLE</a>));</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    <span class="comment">/* Document-const: SIZEOF_VOIDP</span></div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="comment">     * OS Dependent - sizeof(void*)</span></div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_VOIDP&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">void</span>*)));</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="comment">/* Document-const: SIZEOF_CHAR</span></div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="comment">     * OS Dependent - sizeof(char)</span></div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_CHAR&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)));</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">/* Document-const: SIZEOF_SHORT</span></div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="comment">     * OS Dependent - sizeof(short)</span></div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_SHORT&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">short</span>)));</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="comment">/* Document-const: SIZEOF_INT</span></div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="comment">     * OS Dependent - sizeof(int)</span></div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_INT&quot;</span>,   <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)));</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="comment">/* Document-const: SIZEOF_LONG</span></div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="comment">     * OS Dependent - sizeof(long)</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_LONG&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">long</span>)));</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">#if HAVE_LONG_LONG</span></div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor"></span>    <span class="comment">/* Document-const: SIZEOF_LONG_LONG</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="comment">     * OS Dependent - sizeof(long long)</span></div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_LONG_LONG&quot;</span>,  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(LONG_LONG)));</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="comment">/* Document-const: SIZEOF_FLOAT</span></div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="comment">     * OS Dependent - sizeof(float)</span></div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_FLOAT&quot;</span>, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)));</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="comment">/* Document-const: SIZEOF_DOUBLE</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="comment">     * OS Dependent - sizeof(double)</span></div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;SIZEOF_DOUBLE&quot;</span>,<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)));</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <a class="code" href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;dlwrap&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#ab45b324238111a0d2814ae8f7ddf4d34">rb_dl_value2ptr</a>, 1);</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <a class="code" href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;dlunwrap&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#a39896899f5f60a9def2c0951536a2548">rb_dl_ptr2value</a>, 1);</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <a class="code" href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;dlopen&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#a003ad0e8f8d153200d84dd601f56009d">rb_dl_dlopen</a>, -1);</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <a class="code" href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;malloc&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#ad2e8ae342c5a6ba7f50d18b671fc8cf0">rb_dl_malloc</a>, 1);</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <a class="code" href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;realloc&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#a841159ba56257a72a478daa93b243845">rb_dl_realloc</a>, 2);</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <a class="code" href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;free&quot;</span>, <a class="code" href="../../da/d7a/dl_8c.html#a06b48e29ceb4f7dfcf5447382d2f58c9">rb_dl_free</a>, 1);</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <span class="comment">/* Document-const: RUBY_FREE</span></div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="comment">     * Address of the ruby_xfree() function</span></div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;RUBY_FREE&quot;</span>, <a class="code" href="../../de/d81/dl_8h.html#a60974635e5706a1686a0443d28f7451f">PTR2NUM</a>(<a class="code" href="../../d8/d16/gc_8c.html#a0bffec5b2cc004adcebb6802e7620387">ruby_xfree</a>));</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="comment">/* Document-const: BUILD_RUBY_PLATFORM</span></div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="comment">     * Platform built against (i.e. &quot;x86_64-linux&quot;, etc.)</span></div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="comment">     * See also RUBY_PLATFORM</span></div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;BUILD_RUBY_PLATFORM&quot;</span>, <a class="code" href="../../db/d2e/intern_8h.html#ada1577ce4242b06ff5c1c52f37f5e679">rb_str_new2</a>(<a class="code" href="../../d8/db0/defines_8h.html#a88a5f2518a95ad0105db35166afe6220">RUBY_PLATFORM</a>));</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    <span class="comment">/* Document-const: BUILD_RUBY_VERSION</span></div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="comment">     * Ruby Version built. (i.e. &quot;1.9.3&quot;)</span></div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="comment">     * See also RUBY_VERSION</span></div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a>(<a class="code" href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a>, <span class="stringliteral">&quot;BUILD_RUBY_VERSION&quot;</span>,  <a class="code" href="../../db/d2e/intern_8h.html#ada1577ce4242b06ff5c1c52f37f5e679">rb_str_new2</a>(<a class="code" href="../../df/dfc/dl_2extconf_8h.html#ad0c39c601f4084e6d3ee83dcba61358d">RUBY_VERSION</a>));</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <a class="code" href="../../d2/d58/handle_8c.html#aeb455309f9e32da2f29175095cc81178">Init_dlhandle</a>();</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <a class="code" href="../../d3/df8/cfunc_8c.html#a8e09630bfb128bd1659f20dd66e06d18">Init_dlcfunc</a>();</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <a class="code" href="../../d6/d8e/cptr_8c.html#a5cbd6e04ec0619a57cf8389a13f27437">Init_dlptr</a>();</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;}</div>
<div class="ttc" id="dl_8c_html_a758e568959188a34a75c3068107d8919"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a758e568959188a34a75c3068107d8919">rbdl_id_stdcall</a></div><div class="ttdeci">ID rbdl_id_stdcall</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00018">dl.c:18</a></div></div>
<div class="ttc" id="error_8c_html_a3fc1bd0a9e1211aef38f81d600345ed9"><div class="ttname"><a href="../../db/dcc/error_8c.html#a3fc1bd0a9e1211aef38f81d600345ed9">rb_eStandardError</a></div><div class="ttdeci">VALUE rb_eStandardError</div><div class="ttdef"><b>Definition:</b> <a href="../../db/dcc/error_8c_source.html#l00465">error.c:465</a></div></div>
<div class="ttc" id="dl_8c_html_abd16b5eaf282e1bc9722984c3c1b0c6d"><div class="ttname"><a href="../../da/d7a/dl_8c.html#abd16b5eaf282e1bc9722984c3c1b0c6d">rb_mDL</a></div><div class="ttdeci">VALUE rb_mDL</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00013">dl.c:13</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a877c38180d23c5447d976c70dda89d69"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a877c38180d23c5447d976c70dda89d69">NUM2INT</a></div><div class="ttdeci">#define NUM2INT(x)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00536">ruby.h:536</a></div></div>
<div class="ttc" id="ripper_8c_html_a68fefa607ad528d20b0ae5d69a346d46"><div class="ttname"><a href="../../d5/d11/ripper_8c.html#a68fefa607ad528d20b0ae5d69a346d46">val</a></div><div class="ttdeci">parser parser_yylval val</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d11/ripper_8c_source.html#l14289">ripper.c:14289</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html">ruby.h</a></div></div>
<div class="ttc" id="dl_8h_html_a55f7aa934c2ba10179aefc6fe16d23fd"><div class="ttname"><a href="../../de/d81/dl_8h.html#a55f7aa934c2ba10179aefc6fe16d23fd">DLTYPE_SHORT</a></div><div class="ttdeci">#define DLTYPE_SHORT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00166">dl.h:166</a></div></div>
<div class="ttc" id="dl_8c_html_a4862ee590b7d3af9bd0687c02b90e6f6"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a4862ee590b7d3af9bd0687c02b90e6f6">rb_dl_init_callbacks</a></div><div class="ttdeci">static void rb_dl_init_callbacks(VALUE dl)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00088">dl.c:88</a></div></div>
<div class="ttc" id="dl_8c_html_a05d4b52bfcf3d1247f65b1f50c98e715"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a05d4b52bfcf3d1247f65b1f50c98e715">rbdl_id_cdecl</a></div><div class="ttdeci">ID rbdl_id_cdecl</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00017">dl.c:17</a></div></div>
<div class="ttc" id="dl_8h_html"><div class="ttname"><a href="../../de/d81/dl_8h.html">dl.h</a></div></div>
<div class="ttc" id="intern_8h_html_ad5fcb70bd418c881cb337bf9eda01268"><div class="ttname"><a href="../../db/d2e/intern_8h.html#ad5fcb70bd418c881cb337bf9eda01268">rb_autoload</a></div><div class="ttdeci">void rb_autoload(VALUE, ID, const char *)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d2a/variable_8c_source.html#l01438">variable.c:1438</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_aa6a1040cbacdc1c2a409fb3f002071bc"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div><div class="ttdeci">unsigned long VALUE</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00088">ruby.h:88</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_aca9f83a35416ed9d6e0b860afa5eaf0f"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#aca9f83a35416ed9d6e0b860afa5eaf0f">INT2NUM</a></div><div class="ttdeci">static VALUE INT2NUM(int v)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00981">ruby.h:981</a></div></div>
<div class="ttc" id="dl_8h_html_a1bfda858388d9fde65ce0debd0b6879c"><div class="ttname"><a href="../../de/d81/dl_8h.html#a1bfda858388d9fde65ce0debd0b6879c">NUM2PTR</a></div><div class="ttdeci">#define NUM2PTR(x)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00178">dl.h:178</a></div></div>
<div class="ttc" id="group__class_html_ga5266deadce0318d830a1e63c0933b898"><div class="ttname"><a href="../../de/ddf/group__class.html#ga5266deadce0318d830a1e63c0933b898">rb_define_class_under</a></div><div class="ttdeci">VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class="ttdoc">Defines a class under the namespace of outer. </div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d0c/class_8c_source.html#l00515">class.c:515</a></div></div>
<div class="ttc" id="dl_8c_html_a841159ba56257a72a478daa93b243845"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a841159ba56257a72a478daa93b243845">rb_dl_realloc</a></div><div class="ttdeci">VALUE rb_dl_realloc(VALUE self, VALUE addr, VALUE size)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00050">dl.c:50</a></div></div>
<div class="ttc" id="dl_8h_html_ac193cb876f0605c1210524fe93c68509"><div class="ttname"><a href="../../de/d81/dl_8h.html#ac193cb876f0605c1210524fe93c68509">ALIGN_FLOAT</a></div><div class="ttdeci">#define ALIGN_FLOAT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00155">dl.h:155</a></div></div>
<div class="ttc" id="dl_8c_html_a863fd0408ea0599b3be123b24912e249"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a863fd0408ea0599b3be123b24912e249">rb_eDLError</a></div><div class="ttdeci">VALUE rb_eDLError</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00014">dl.c:14</a></div></div>
<div class="ttc" id="dl_8h_html_ad21088f148d36031ae671d32c38e54cb"><div class="ttname"><a href="../../de/d81/dl_8h.html#ad21088f148d36031ae671d32c38e54cb">DLTYPE_VOID</a></div><div class="ttdeci">#define DLTYPE_VOID</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00163">dl.h:163</a></div></div>
<div class="ttc" id="dl_8c_html_ab2463071c50e78dc594888799bf070a3"><div class="ttname"><a href="../../da/d7a/dl_8c.html#ab2463071c50e78dc594888799bf070a3">rb_eDLTypeError</a></div><div class="ttdeci">VALUE rb_eDLTypeError</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00015">dl.c:15</a></div></div>
<div class="ttc" id="io_8h_html"><div class="ttname"><a href="../../dc/dac/io_8h.html">io.h</a></div></div>
<div class="ttc" id="dl_8c_html_a39896899f5f60a9def2c0951536a2548"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a39896899f5f60a9def2c0951536a2548">rb_dl_ptr2value</a></div><div class="ttdeci">VALUE rb_dl_ptr2value(VALUE self, VALUE addr)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00075">dl.c:75</a></div></div>
<div class="ttc" id="tcltklib_8c_html_a94573b23a7c5d9c129da54deebf38842"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#a94573b23a7c5d9c129da54deebf38842">rb_secure</a></div><div class="ttdeci">rb_secure(4)</div></div>
<div class="ttc" id="dl_8h_html_addcbec4cfa847c1327a404b13a5e2723"><div class="ttname"><a href="../../de/d81/dl_8h.html#addcbec4cfa847c1327a404b13a5e2723">ALIGN_VOIDP</a></div><div class="ttdeci">#define ALIGN_VOIDP</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00147">dl.h:147</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a951c0ac0eb3744c19168be7d33097b11"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a951c0ac0eb3744c19168be7d33097b11">Qnil</a></div><div class="ttdeci">#define Qnil</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00367">ruby.h:367</a></div></div>
<div class="ttc" id="dl_8c_html_abc745f723f75f220c5eb55650097f283"><div class="ttname"><a href="../../da/d7a/dl_8c.html#abc745f723f75f220c5eb55650097f283">Init_dl</a></div><div class="ttdeci">void Init_dl(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00101">dl.c:101</a></div></div>
<div class="ttc" id="dl_8h_html_aac6c0d6a0e02c32b95cf070112fe590f"><div class="ttname"><a href="../../de/d81/dl_8h.html#aac6c0d6a0e02c32b95cf070112fe590f">MAX_CALLBACK</a></div><div class="ttdeci">#define MAX_CALLBACK</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00034">dl.h:34</a></div></div>
<div class="ttc" id="intern_8h_html_a4e25a1a5ca0fc372179c4f429600bc2a"><div class="ttname"><a href="../../db/d2e/intern_8h.html#a4e25a1a5ca0fc372179c4f429600bc2a">rb_class_new_instance</a></div><div class="ttdeci">VALUE rb_class_new_instance(int, VALUE *, VALUE)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/de1/object_8c_source.html#l01639">object.c:1639</a></div></div>
<div class="ttc" id="dl_8h_html_a3438079b431d2ca4839470d741052cba"><div class="ttname"><a href="../../de/d81/dl_8h.html#a3438079b431d2ca4839470d741052cba">DLTYPE_DOUBLE</a></div><div class="ttdeci">#define DLTYPE_DOUBLE</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00173">dl.h:173</a></div></div>
<div class="ttc" id="dl_8c_html_ad2e8ae342c5a6ba7f50d18b671fc8cf0"><div class="ttname"><a href="../../da/d7a/dl_8c.html#ad2e8ae342c5a6ba7f50d18b671fc8cf0">rb_dl_malloc</a></div><div class="ttdeci">VALUE rb_dl_malloc(VALUE self, VALUE size)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00033">dl.c:33</a></div></div>
<div class="ttc" id="dl_8h_html_aa173dff6a214bde78ec04f8f3e60664c"><div class="ttname"><a href="../../de/d81/dl_8h.html#aa173dff6a214bde78ec04f8f3e60664c">ALIGN_LONG</a></div><div class="ttdeci">#define ALIGN_LONG</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00151">dl.h:151</a></div></div>
<div class="ttc" id="dl_8h_html_a60974635e5706a1686a0443d28f7451f"><div class="ttname"><a href="../../de/d81/dl_8h.html#a60974635e5706a1686a0443d28f7451f">PTR2NUM</a></div><div class="ttdeci">#define PTR2NUM(x)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00177">dl.h:177</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a861b20872f7d24f1c5f2da5261037322"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a861b20872f7d24f1c5f2da5261037322">rb_define_const</a></div><div class="ttdeci">void rb_define_const(VALUE, const char *, VALUE)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d2a/variable_8c_source.html#l01923">variable.c:1923</a></div></div>
<div class="ttc" id="dl_8h_html_a9dfa0cc58d3eab4ed437570dec42fee3"><div class="ttname"><a href="../../de/d81/dl_8h.html#a9dfa0cc58d3eab4ed437570dec42fee3">ALIGN_CHAR</a></div><div class="ttdeci">#define ALIGN_CHAR</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00149">dl.h:149</a></div></div>
<div class="ttc" id="tcltklib_8c_html_ab9ebbdd4596789afb752d19fca153ee5"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#ab9ebbdd4596789afb752d19fca153ee5">argv</a></div><div class="ttdeci">VALUE * argv</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9d/tcltklib_8c_source.html#l01962">tcltklib.c:1962</a></div></div>
<div class="ttc" id="group__defmethod_html_gafc7122dde38ecff13de3e9d19a30aaeb"><div class="ttname"><a href="../../d7/d19/group__defmethod.html#gafc7122dde38ecff13de3e9d19a30aaeb">rb_define_module_function</a></div><div class="ttdeci">void rb_define_module_function(VALUE module, const char *name, VALUE(*func)(ANYARGS), int argc)</div><div class="ttdoc">Defines a module function for module. </div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d0c/class_8c_source.html#l01358">class.c:1358</a></div></div>
<div class="ttc" id="dl_8c_html_a06b48e29ceb4f7dfcf5447382d2f58c9"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a06b48e29ceb4f7dfcf5447382d2f58c9">rb_dl_free</a></div><div class="ttdeci">VALUE rb_dl_free(VALUE self, VALUE addr)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00065">dl.c:65</a></div></div>
<div class="ttc" id="gc_8c_html_a0bffec5b2cc004adcebb6802e7620387"><div class="ttname"><a href="../../d8/d16/gc_8c.html#a0bffec5b2cc004adcebb6802e7620387">ruby_xfree</a></div><div class="ttdeci">void ruby_xfree(void *x)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d16/gc_8c_source.html#l00916">gc.c:916</a></div></div>
<div class="ttc" id="dl_8h_html_ab5c5f8a660cfdc3b2e064af3c6af4773"><div class="ttname"><a href="../../de/d81/dl_8h.html#ab5c5f8a660cfdc3b2e064af3c6af4773">ALIGN_SHORT</a></div><div class="ttdeci">#define ALIGN_SHORT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00148">dl.h:148</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_afa5b9137f051ac26d7ccc8824f178233"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#afa5b9137f051ac26d7ccc8824f178233">ID</a></div><div class="ttdeci">unsigned long ID</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00089">ruby.h:89</a></div></div>
<div class="ttc" id="tcltklib_8c_html_a5122b379c5c4fc9103e147bf69ff08b4"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#a5122b379c5c4fc9103e147bf69ff08b4">argc</a></div><div class="ttdeci">int argc</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9d/tcltklib_8c_source.html#l01961">tcltklib.c:1961</a></div></div>
<div class="ttc" id="handle_8c_html_aeb455309f9e32da2f29175095cc81178"><div class="ttname"><a href="../../d2/d58/handle_8c.html#aeb455309f9e32da2f29175095cc81178">Init_dlhandle</a></div><div class="ttdeci">void Init_dlhandle(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d58/handle_8c_source.html#l00362">handle.c:362</a></div></div>
<div class="ttc" id="tcltklib_8c_html_a9d08db2e7a99d650ace90f02ea93108b"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#a9d08db2e7a99d650ace90f02ea93108b">ptr</a></div><div class="ttdeci">return ptr</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9d/tcltklib_8c_source.html#l00780">tcltklib.c:780</a></div></div>
<div class="ttc" id="dl_8c_html_ab45b324238111a0d2814ae8f7ddf4d34"><div class="ttname"><a href="../../da/d7a/dl_8c.html#ab45b324238111a0d2814ae8f7ddf4d34">rb_dl_value2ptr</a></div><div class="ttdeci">VALUE rb_dl_value2ptr(VALUE self, VALUE val)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00082">dl.c:82</a></div></div>
<div class="ttc" id="gc_8c_html_a6bc5fb330da1d3b53deec9a4fd38f72f"><div class="ttname"><a href="../../d8/d16/gc_8c.html#a6bc5fb330da1d3b53deec9a4fd38f72f">ruby_xmalloc</a></div><div class="ttdeci">void * ruby_xmalloc(size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d16/gc_8c_source.html#l00859">gc.c:859</a></div></div>
<div class="ttc" id="dl_8h_html_a4fcc962bf451b366e6a3668f9ca2da94"><div class="ttname"><a href="../../de/d81/dl_8h.html#a4fcc962bf451b366e6a3668f9ca2da94">ALIGN_DOUBLE</a></div><div class="ttdeci">#define ALIGN_DOUBLE</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00156">dl.h:156</a></div></div>
<div class="ttc" id="gc_8c_html_a6d2202b39dca06c253433cae603ed97f"><div class="ttname"><a href="../../d8/d16/gc_8c.html#a6d2202b39dca06c253433cae603ed97f">ruby_xrealloc</a></div><div class="ttdeci">void * ruby_xrealloc(void *ptr, size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d16/gc_8c_source.html#l00900">gc.c:900</a></div></div>
<div class="ttc" id="defines_8h_html_a88a5f2518a95ad0105db35166afe6220"><div class="ttname"><a href="../../d8/db0/defines_8h.html#a88a5f2518a95ad0105db35166afe6220">RUBY_PLATFORM</a></div><div class="ttdeci">#define RUBY_PLATFORM</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/db0/defines_8h_source.html#l00307">defines.h:307</a></div></div>
<div class="ttc" id="encoding_8c_html_a439227feff9d7f55384e8780cfc2eb82"><div class="ttname"><a href="../../d5/db5/encoding_8c.html#a439227feff9d7f55384e8780cfc2eb82">size</a></div><div class="ttdeci">int size</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/db5/encoding_8c_source.html#l00051">encoding.c:51</a></div></div>
<div class="ttc" id="dl_8h_html_a320798613603393ae455601b13512d94"><div class="ttname"><a href="../../de/d81/dl_8h.html#a320798613603393ae455601b13512d94">DLTYPE_INT</a></div><div class="ttdeci">#define DLTYPE_INT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00167">dl.h:167</a></div></div>
<div class="ttc" id="dl_8h_html_a38a478aecdb6eef575ad3fc1d7f41b21"><div class="ttname"><a href="../../de/d81/dl_8h.html#a38a478aecdb6eef575ad3fc1d7f41b21">DLTYPE_FLOAT</a></div><div class="ttdeci">#define DLTYPE_FLOAT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00172">dl.h:172</a></div></div>
<div class="ttc" id="dl_8h_html_ae35b1f0895d8892e3e852a98a7f25562"><div class="ttname"><a href="../../de/d81/dl_8h.html#ae35b1f0895d8892e3e852a98a7f25562">DLTYPE_VOIDP</a></div><div class="ttdeci">#define DLTYPE_VOIDP</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00164">dl.h:164</a></div></div>
<div class="ttc" id="cptr_8c_html_a5cbd6e04ec0619a57cf8389a13f27437"><div class="ttname"><a href="../../d6/d8e/cptr_8c.html#a5cbd6e04ec0619a57cf8389a13f27437">Init_dlptr</a></div><div class="ttdeci">void Init_dlptr(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d8e/cptr_8c_source.html#l00646">cptr.c:646</a></div></div>
<div class="ttc" id="dl_8h_html_a362ec8dc043bd78871eacabcca3314cb"><div class="ttname"><a href="../../de/d81/dl_8h.html#a362ec8dc043bd78871eacabcca3314cb">DLTYPE_LONG</a></div><div class="ttdeci">#define DLTYPE_LONG</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00168">dl.h:168</a></div></div>
<div class="ttc" id="dl_8h_html_ae4374269fd7ca3aa1729b47566ca61ce"><div class="ttname"><a href="../../de/d81/dl_8h.html#ae4374269fd7ca3aa1729b47566ca61ce">DLTYPE_CHAR</a></div><div class="ttdeci">#define DLTYPE_CHAR</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00165">dl.h:165</a></div></div>
<div class="ttc" id="dl_8h_html_ad4ae70774b793148692fa325f658711a"><div class="ttname"><a href="../../de/d81/dl_8h.html#ad4ae70774b793148692fa325f658711a">rb_cDLHandle</a></div><div class="ttdeci">VALUE rb_cDLHandle</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d58/handle_8c_source.html#l00008">handle.c:8</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a5753547d6a21eeb36aa8cb0ae7d6c9ce"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a5753547d6a21eeb36aa8cb0ae7d6c9ce">rb_intern_const</a></div><div class="ttdeci">#define rb_intern_const(str)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l01141">ruby.h:1141</a></div></div>
<div class="ttc" id="group__class_html_ga911071d40f9312e49a774ea0e1b12869"><div class="ttname"><a href="../../de/ddf/group__class.html#ga911071d40f9312e49a774ea0e1b12869">rb_define_module</a></div><div class="ttdeci">VALUE rb_define_module(const char *name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d0c/class_8c_source.html#l00587">class.c:587</a></div></div>
<div class="ttc" id="dl_8c_html_a003ad0e8f8d153200d84dd601f56009d"><div class="ttname"><a href="../../da/d7a/dl_8c.html#a003ad0e8f8d153200d84dd601f56009d">rb_dl_dlopen</a></div><div class="ttdeci">VALUE rb_dl_dlopen(int argc, VALUE argv[], VALUE self)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/d7a/dl_8c_source.html#l00021">dl.c:21</a></div></div>
<div class="ttc" id="dl_8h_html_af1ef7f352cf9f350b0004cc0110b9e23"><div class="ttname"><a href="../../de/d81/dl_8h.html#af1ef7f352cf9f350b0004cc0110b9e23">ALIGN_INT</a></div><div class="ttdeci">#define ALIGN_INT</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00150">dl.h:150</a></div></div>
<div class="ttc" id="cfunc_8c_html_a8e09630bfb128bd1659f20dd66e06d18"><div class="ttname"><a href="../../d3/df8/cfunc_8c.html#a8e09630bfb128bd1659f20dd66e06d18">Init_dlcfunc</a></div><div class="ttdeci">void Init_dlcfunc(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/df8/cfunc_8c_source.html#l00621">cfunc.c:621</a></div></div>
<div class="ttc" id="dl_2extconf_8h_html_ad0c39c601f4084e6d3ee83dcba61358d"><div class="ttname"><a href="../../df/dfc/dl_2extconf_8h.html#ad0c39c601f4084e6d3ee83dcba61358d">RUBY_VERSION</a></div><div class="ttdeci">#define RUBY_VERSION</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dfc/dl_2extconf_8h_source.html#l00008">extconf.h:8</a></div></div>
<div class="ttc" id="intern_8h_html_ada1577ce4242b06ff5c1c52f37f5e679"><div class="ttname"><a href="../../db/d2e/intern_8h.html#ada1577ce4242b06ff5c1c52f37f5e679">rb_str_new2</a></div><div class="ttdeci">VALUE rb_str_new2(const char *)</div></div>
<div class="ttc" id="dl_8h_html_a4c5c02505d9ac495d8401abc11e52bc5"><div class="ttname"><a href="../../de/d81/dl_8h.html#a4c5c02505d9ac495d8401abc11e52bc5">DLSTACK_SIZE</a></div><div class="ttdeci">#define DLSTACK_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d81/dl_8h_source.html#l00036">dl.h:36</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>