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
 <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 Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
<li 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 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> <span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * ext/dl/dl.c</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * doumentation:</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * - Vincent Batts (vbatts@hashbangbash.com)</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <<a class="code" href="../../de/de6/ruby_2ruby_8h.html">ruby/ruby.h</a>></span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <<a class="code" href="../../dc/dac/io_8h.html">ruby/io.h</a>></span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <ctype.h></span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="../../de/d81/dl_8h.html">dl.h</a>"</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#abd16b5eaf282e1bc9722984c3c1b0c6d"> 13</a></span> <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> <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> <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> </div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../de/d81/dl_8h.html#a05d4b52bfcf3d1247f65b1f50c98e715"> 17</a></span> <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> <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> </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <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> <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> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <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> }</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * call-seq: DL.malloc</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <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> <span class="comment"> * for the allocated memory.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <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> <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> {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <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> </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <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>  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>  <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> }</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * call-seq: DL.realloc(addr, size)</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <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> <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> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <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> <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> {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <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> </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <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>  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>  <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> }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * call-seq: DL.free(addr)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * Free the memory at address +addr+</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <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> <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> {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <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> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <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>  <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>  <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> }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <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> <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> {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <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>  <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> }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <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> <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> {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <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> }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <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> <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> {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> cb[] = <span class="stringliteral">"dl/callback.so"</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</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">"CdeclCallbackAddrs"</span>), cb);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</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">"CdeclCallbackProcs"</span>), cb);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#ifdef FUNC_STDCALL</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <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">"StdcallCallbackAddrs"</span>), cb);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</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">"StdcallCallbackProcs"</span>), cb);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span>}</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <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> <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> {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <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>  <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>  <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> </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <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">"cdecl"</span>);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <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">"stdcall"</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">/* Document-module: DL</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <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> <span class="comment"> *</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> * == Example</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> * bash $> cat > sum.c <<EOF</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> * double sum(double *arry, int len)</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> * {</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> * double ret = 0;</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * int i;</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> * for(i = 0; i < len; i++){</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> * ret = ret + arry[i];</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> * }</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> * return ret;</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> * }</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * double split(double num)</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * {</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * double ret = 0;</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> * ret = num / 2;</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> * return ret;</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> * }</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> * EOF</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> * bash $> gcc -o libsum.so -shared sum.c</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> * bash $> cat > sum.rb <<EOF</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> * require 'dl'</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> * require 'dl/import'</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> * module LibSum</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> * extend DL::Importer</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * dlload './libsum.so'</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> * extern 'double sum(double*, int)'</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> * extern 'double split(double)'</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> * end</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> * a = [2.0, 3.0, 4.0]</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> * sum = LibSum.sum(a.pack("d*"), a.count)</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> * p LibSum.split(sum)</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> * EOF</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> * bash $> ruby sum.rb</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> * 4.5</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> * WIN! :-)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <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">"DL"</span>);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> * Document-class: DL::DLError</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> * standard dynamic load exception</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <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">"DLError"</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> </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> * Document-class: DL::DLTypeError</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> * dynamic load incorrect type exception</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <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">"DLTypeError"</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> </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">/* Document-const: MAX_CALLBACK</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> * Maximum number of callbacks</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <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">"MAX_CALLBACK"</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> </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">/* Document-const: DLSTACK_SIZE</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> * Dynamic linker stack size</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <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">"DLSTACK_SIZE"</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> </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <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> </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="comment">/* Document-const: RTLD_GLOBAL</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> * rtld DL::Handle flag.</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <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> <span class="comment"> * resolution of subsequently loaded libraries.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <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">"RTLD_GLOBAL"</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> </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">/* Document-const: RTLD_LAZY</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> * rtld DL::Handle flag.</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <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> <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> <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> <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> <span class="comment"> * is loaded.)</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <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">"RTLD_LAZY"</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> </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">/* Document-const: RTLD_NOW</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * rtld DL::Handle flag.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <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> <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> <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> <span class="comment"> * returned.</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <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">"RTLD_NOW"</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> </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="comment">/* Document-const: TYPE_VOID</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> * DL::CFunc type - void</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <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">"TYPE_VOID"</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> </div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="comment">/* Document-const: TYPE_VOIDP</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> * DL::CFunc type - void*</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <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">"TYPE_VOIDP"</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> </div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="comment">/* Document-const: TYPE_CHAR</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> * DL::CFunc type - char</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <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">"TYPE_CHAR"</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> </div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="comment">/* Document-const: TYPE_SHORT</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment"> * DL::CFunc type - short</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <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">"TYPE_SHORT"</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> </div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="comment">/* Document-const: TYPE_INT</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> * DL::CFunc type - int</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <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">"TYPE_INT"</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> </div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="comment">/* Document-const: TYPE_LONG</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> * DL::CFunc type - long</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <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">"TYPE_LONG"</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> </div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor">#if HAVE_LONG_LONG</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <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> <span class="comment"> *</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> * DL::CFunc type - long long</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <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">"TYPE_LONG_LONG"</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> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="comment">/* Document-const: TYPE_FLOAT</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> * DL::CFunc type - float</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <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">"TYPE_FLOAT"</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> </div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="comment">/* Document-const: TYPE_DOUBLE</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> * DL::CFunc type - double</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <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">"TYPE_DOUBLE"</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> </div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="comment">/* Document-const: ALIGN_VOIDP</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <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">"ALIGN_VOIDP"</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> </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="comment">/* Document-const: ALIGN_CHAR</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <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">"ALIGN_CHAR"</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> </div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">/* Document-const: ALIGN_SHORT</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <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">"ALIGN_SHORT"</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> </div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="comment">/* Document-const: ALIGN_INT</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <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">"ALIGN_INT"</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> </div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="comment">/* Document-const: ALIGN_LONG</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <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">"ALIGN_LONG"</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> </div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor">#if HAVE_LONG_LONG</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <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> <span class="comment"> *</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <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">"ALIGN_LONG_LONG"</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> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="comment">/* Document-const: ALIGN_FLOAT</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <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">"ALIGN_FLOAT"</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> </div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="comment">/* Document-const: ALIGN_DOUBLE</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <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">"ALIGN_DOUBLE"</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> </div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="comment">/* Document-const: SIZEOF_VOIDP</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> * OS Dependent - sizeof(void*)</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <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">"SIZEOF_VOIDP"</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> </div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="comment">/* Document-const: SIZEOF_CHAR</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * OS Dependent - sizeof(char)</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <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">"SIZEOF_CHAR"</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> </div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="comment">/* Document-const: SIZEOF_SHORT</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> * OS Dependent - sizeof(short)</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <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">"SIZEOF_SHORT"</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> </div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="comment">/* Document-const: SIZEOF_INT</span></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> * OS Dependent - sizeof(int)</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <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">"SIZEOF_INT"</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> </div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="comment">/* Document-const: SIZEOF_LONG</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> * OS Dependent - sizeof(long)</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <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">"SIZEOF_LONG"</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> </div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor">#if HAVE_LONG_LONG</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <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> <span class="comment"> *</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> * OS Dependent - sizeof(long long)</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <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">"SIZEOF_LONG_LONG"</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> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="comment">/* Document-const: SIZEOF_FLOAT</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> * OS Dependent - sizeof(float)</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <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">"SIZEOF_FLOAT"</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> </div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="comment">/* Document-const: SIZEOF_DOUBLE</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> * OS Dependent - sizeof(double)</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <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">"SIZEOF_DOUBLE"</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> </div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <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">"dlwrap"</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>  <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">"dlunwrap"</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> </div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <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">"dlopen"</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>  <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">"malloc"</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>  <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">"realloc"</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>  <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">"free"</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> </div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="comment">/* Document-const: RUBY_FREE</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment"> * Address of the ruby_xfree() function</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <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">"RUBY_FREE"</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> </div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="comment">/* Document-const: BUILD_RUBY_PLATFORM</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> * Platform built against (i.e. "x86_64-linux", etc.)</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"> * See also RUBY_PLATFORM</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <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">"BUILD_RUBY_PLATFORM"</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> </div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="comment">/* Document-const: BUILD_RUBY_VERSION</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> * Ruby Version built. (i.e. "1.9.3")</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment"> * See also RUBY_VERSION</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <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">"BUILD_RUBY_VERSION"</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> </div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <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>  <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>  <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> }</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  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>