Current File : //opt/RZruby/share/doc/ruby/html/dd/d10/wait_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/io/wait/wait.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_9c666a50e7113ab35ff62afe9b9a906c.html">io</a></li><li class="navelem"><a class="el" href="../../dir_d75b5a0ad16db29483e60c71309308e0.html">wait</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">wait.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dd/d10/wait_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"></span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> io/wait.c -</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"></span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> $Author: kosaki $</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> created at: Tue Aug 28 09:08:06 JST 2001</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="comment"> All the files in this distribution are covered under the Ruby's</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> license (see the file COPYING).</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"></span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">**********************************************************************/</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"> 13</span> <span class="preprocessor">#include "ruby.h"</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</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="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <sys/types.h></span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#if defined(HAVE_SYS_IOCTL_H)</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span><span class="preprocessor">#include <sys/ioctl.h></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor">#if defined(FIONREAD_HEADER)</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span><span class="preprocessor">#include FIONREAD_HEADER</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#ifdef HAVE_RB_W32_IOCTLSOCKET</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"></span><span class="preprocessor">#define ioctl ioctlsocket</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define ioctl_arg u_long</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define ioctl_arg2num(i) ULONG2NUM(i)</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#a51eb57b7d348c5aafb399675eb838cd1"> 29</a></span> <span class="preprocessor"></span><span class="preprocessor">#define ioctl_arg int</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#a887ff962bf9167ca235be84b9f744c7e"> 30</a></span> <span class="preprocessor"></span><span class="preprocessor">#define ioctl_arg2num(i) INT2NUM(i)</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_RB_W32_IS_SOCKET</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#define FIONREAD_POSSIBLE_P(fd) rb_w32_is_socket(fd)</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#ab24f9418ce2fd4cef6b19bed1d2437e0"> 36</a></span> <span class="preprocessor"></span><span class="preprocessor">#define FIONREAD_POSSIBLE_P(fd) ((void)(fd),Qtrue)</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">static</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../dd/d10/wait_8c.html#a74472de5d38a419416a1855ee9e5a907">io_ready_p</a> <a class="code" href="../../df/da8/dln_8h.html#a10087a068d10eaadb8f9bb9200cd619a">_</a>((<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a>));</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../dd/d10/wait_8c.html#a11d5f7ce9a62b62d0a14db7f5b8fe1c0">io_wait</a> <a class="code" href="../../df/da8/dln_8h.html#a10087a068d10eaadb8f9bb9200cd619a">_</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> <a class="code" href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a>));</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">void</span> <a class="code" href="../../dd/d10/wait_8c.html#ad8c8f76fd07efc7b2b5c1f96cabc5831">Init_wait</a> <a class="code" href="../../df/da8/dln_8h.html#a10087a068d10eaadb8f9bb9200cd619a">_</a>((<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * call-seq:</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * io.nread -> int</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Returns number of bytes that can be read without blocking.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * Returns zero if no information available.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#a17ed2abe545cdbfcc452a1556141fd1c"> 52</a></span> <a class="code" href="../../dd/d10/wait_8c.html#a17ed2abe545cdbfcc452a1556141fd1c">io_nread</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a>)</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="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordtype">int</span> <a class="code" href="../../d3/d15/name2ctype_8h.html#aed1cc4dca5d94cb452f79691f54f7423">len</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="../../d6/d46/structioctl__arg.html">ioctl_arg</a> <a class="code" href="../../de/d07/bigdecimal_8c.html#aeab71244afb687f16d8c4f5ee9d6ef0e">n</a>;</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>  <a class="code" href="../../dc/dac/io_8h.html#aa00f0dca97539a5dd0c4e67ad5be93a3">GetOpenFile</a>(io, fptr);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="../../dc/dac/io_8h.html#a8557569435da7f8a669908723fcd5e94">rb_io_check_readable</a>(fptr);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  len = <a class="code" href="../../dc/dac/io_8h.html#a88e47151779c6afecd2b4a13956d80c9">rb_io_read_pending</a>(fptr);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (len > 0) <span class="keywordflow">return</span> <a class="code" href="../../d3/d15/name2ctype_8h.html#aed1cc4dca5d94cb452f79691f54f7423">len</a>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../dd/d10/wait_8c.html#ab24f9418ce2fd4cef6b19bed1d2437e0">FIONREAD_POSSIBLE_P</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>)) <span class="keywordflow">return</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#ac55fae7f748afd3fc2533d0d7d06cf5a">INT2FIX</a>(0);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (<a class="code" href="../../dc/db1/win32_8h.html#ae3a230c65883ec8edc50e3a09ca80003">ioctl</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>, FIONREAD, &n)) <span class="keywordflow">return</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#ac55fae7f748afd3fc2533d0d7d06cf5a">INT2FIX</a>(0);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">if</span> (n > 0) <span class="keywordflow">return</span> <a class="code" href="../../dd/d10/wait_8c.html#a887ff962bf9167ca235be84b9f744c7e">ioctl_arg2num</a>(n);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#ac55fae7f748afd3fc2533d0d7d06cf5a">INT2FIX</a>(0);</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> </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * call-seq:</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> * io.ready? -> true, false or nil</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> * Returns true if input available without blocking, or false.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * Returns nil if no information available.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#a74472de5d38a419416a1855ee9e5a907"> 77</a></span> <a class="code" href="../../dd/d10/wait_8c.html#a74472de5d38a419416a1855ee9e5a907">io_ready_p</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> <a class="code" href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a>)</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="../../d6/d46/structioctl__arg.html">ioctl_arg</a> <a class="code" href="../../de/d07/bigdecimal_8c.html#aeab71244afb687f16d8c4f5ee9d6ef0e">n</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="../../dc/dac/io_8h.html#aa00f0dca97539a5dd0c4e67ad5be93a3">GetOpenFile</a>(io, fptr);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="../../dc/dac/io_8h.html#a8557569435da7f8a669908723fcd5e94">rb_io_check_readable</a>(fptr);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> (<a class="code" href="../../dc/dac/io_8h.html#a88e47151779c6afecd2b4a13956d80c9">rb_io_read_pending</a>(fptr)) <span class="keywordflow">return</span> <a class="code" href="../../d5/d9d/tcltklib_8c.html#ae46a61f61c6c37c1987f6dbe1583d185">Qtrue</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../dd/d10/wait_8c.html#ab24f9418ce2fd4cef6b19bed1d2437e0">FIONREAD_POSSIBLE_P</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>)) <span class="keywordflow">return</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a951c0ac0eb3744c19168be7d33097b11">Qnil</a>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">if</span> (<a class="code" href="../../dc/db1/win32_8h.html#ae3a230c65883ec8edc50e3a09ca80003">ioctl</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>, FIONREAD, &n)) <span class="keywordflow">return</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a951c0ac0eb3744c19168be7d33097b11">Qnil</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">if</span> (n > 0) <span class="keywordflow">return</span> <a class="code" href="../../d5/d9d/tcltklib_8c.html#ae46a61f61c6c37c1987f6dbe1583d185">Qtrue</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <a class="code" href="../../d5/d9d/tcltklib_8c.html#a811810f63d0525608ee61a7d12c52c8e">Qfalse</a>;</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> </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> * call-seq:</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> * io.wait -> IO, true, false or nil</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * io.wait(timeout) -> IO, true, false or nil</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> * Waits until input is available or times out and returns self or nil when</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> * EOF is reached.</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> */</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="keyword">static</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#a11d5f7ce9a62b62d0a14db7f5b8fe1c0"> 101</a></span> <a class="code" href="../../dd/d10/wait_8c.html#a11d5f7ce9a62b62d0a14db7f5b8fe1c0">io_wait</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> <a class="code" href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a>)</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>  <a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">int</span> <a class="code" href="../../de/d07/bigdecimal_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="../../d6/d46/structioctl__arg.html">ioctl_arg</a> <a class="code" href="../../de/d07/bigdecimal_8c.html#aeab71244afb687f16d8c4f5ee9d6ef0e">n</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> timeout;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">struct </span><a class="code" href="../../d1/d1b/structtimeval.html">timeval</a> timerec;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">struct </span><a class="code" href="../../d1/d1b/structtimeval.html">timeval</a> *tv;</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>  <a class="code" href="../../dc/dac/io_8h.html#aa00f0dca97539a5dd0c4e67ad5be93a3">GetOpenFile</a>(io, fptr);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="../../dc/dac/io_8h.html#a8557569435da7f8a669908723fcd5e94">rb_io_check_readable</a>(fptr);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="../../d7/d19/group__defmethod.html#gaa7bed88640f01bee619f85fda09d28d7">rb_scan_args</a>(argc, argv, <span class="stringliteral">"01"</span>, &timeout);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span> (<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a4832bad8845a35fc50f7a160901854a1">NIL_P</a>(timeout)) {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  tv = <a class="code" href="../../dd/dfb/yaml2byte_8c.html#ad0b08ddfcb8010b1d73d9d635d5e0201">NULL</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  timerec = <a class="code" href="../../db/d2e/intern_8h.html#aa7480dcdaae719ff3ef89108d1b59d44">rb_time_interval</a>(timeout);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  tv = &timerec;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">if</span> (<a class="code" href="../../dc/dac/io_8h.html#a88e47151779c6afecd2b4a13956d80c9">rb_io_read_pending</a>(fptr)) <span class="keywordflow">return</span> <a class="code" href="../../d5/d9d/tcltklib_8c.html#ae46a61f61c6c37c1987f6dbe1583d185">Qtrue</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../dd/d10/wait_8c.html#ab24f9418ce2fd4cef6b19bed1d2437e0">FIONREAD_POSSIBLE_P</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>)) <span class="keywordflow">return</span> <a class="code" href="../../d5/d9d/tcltklib_8c.html#a811810f63d0525608ee61a7d12c52c8e">Qfalse</a>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  i = <a class="code" href="../../dc/dac/io_8h.html#a5d928dd718bfee4b74deb87c1e82efd6">rb_wait_for_single_fd</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>, <a class="code" href="../../dc/dac/io_8h.html#a8e8bb5fe44d8006f2b4efcb8211736bb">RB_WAITFD_IN</a>, tv);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">if</span> (i < 0)</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="../../db/dcc/error_8c.html#aec0502b6d84cff19bb2071d1386ff177">rb_sys_fail</a>(0);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="../../dc/dac/io_8h.html#a6b4f0c0735ecb278abd3f63059b5fc48">rb_io_check_closed</a>(fptr);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">if</span> (<a class="code" href="../../dc/db1/win32_8h.html#ae3a230c65883ec8edc50e3a09ca80003">ioctl</a>(fptr-><a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>, FIONREAD, &n)) <a class="code" href="../../db/dcc/error_8c.html#aec0502b6d84cff19bb2071d1386ff177">rb_sys_fail</a>(0);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">if</span> (n > 0) <span class="keywordflow">return</span> <a class="code" href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</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="l00130"></a><span class="lineno"> 130</span> }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</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"> * IO wait methods</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../dd/d10/wait_8c.html#ad8c8f76fd07efc7b2b5c1f96cabc5831"> 137</a></span> <a class="code" href="../../dd/d10/wait_8c.html#ad8c8f76fd07efc7b2b5c1f96cabc5831">Init_wait</a>()</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="../../d7/d19/group__defmethod.html#ga118dc7abcdb97f56fe35727ac0ff6eb8">rb_define_method</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aed01d7f8e7222def13a869f4bc45530a">rb_cIO</a>, <span class="stringliteral">"nread"</span>, <a class="code" href="../../dd/d10/wait_8c.html#a17ed2abe545cdbfcc452a1556141fd1c">io_nread</a>, 0);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="../../d7/d19/group__defmethod.html#ga118dc7abcdb97f56fe35727ac0ff6eb8">rb_define_method</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aed01d7f8e7222def13a869f4bc45530a">rb_cIO</a>, <span class="stringliteral">"ready?"</span>, <a class="code" href="../../dd/d10/wait_8c.html#a74472de5d38a419416a1855ee9e5a907">io_ready_p</a>, 0);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="../../d7/d19/group__defmethod.html#ga118dc7abcdb97f56fe35727ac0ff6eb8">rb_define_method</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#aed01d7f8e7222def13a869f4bc45530a">rb_cIO</a>, <span class="stringliteral">"wait"</span>, <a class="code" href="../../dd/d10/wait_8c.html#a11d5f7ce9a62b62d0a14db7f5b8fe1c0">io_wait</a>, -1);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
<div class="ttc" id="intern_8h_html_aa7480dcdaae719ff3ef89108d1b59d44"><div class="ttname"><a href="../../db/d2e/intern_8h.html#aa7480dcdaae719ff3ef89108d1b59d44">rb_time_interval</a></div><div class="ttdeci">struct timeval rb_time_interval(VALUE num)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d73/time_8c_source.html#l02469">time.c:2469</a></div></div>
<div class="ttc" id="bigdecimal_8c_html_aeab71244afb687f16d8c4f5ee9d6ef0e"><div class="ttname"><a href="../../de/d07/bigdecimal_8c.html#aeab71244afb687f16d8c4f5ee9d6ef0e">n</a></div><div class="ttdeci">ssize_t n</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d07/bigdecimal_8c_source.html#l05519">bigdecimal.c:5519</a></div></div>
<div class="ttc" id="structioctl__arg_html"><div class="ttname"><a href="../../d6/d46/structioctl__arg.html">ioctl_arg</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l08045">io.c:8045</a></div></div>
<div class="ttc" id="win32_8h_html_ae3a230c65883ec8edc50e3a09ca80003"><div class="ttname"><a href="../../dc/db1/win32_8h.html#ae3a230c65883ec8edc50e3a09ca80003">ioctl</a></div><div class="ttdeci">int ioctl(int, int,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/df2/win32_8c_source.html#l02319">win32.c:2319</a></div></div>
<div class="ttc" id="io_8h_html_a8557569435da7f8a669908723fcd5e94"><div class="ttname"><a href="../../dc/dac/io_8h.html#a8557569435da7f8a669908723fcd5e94">rb_io_check_readable</a></div><div class="ttdeci">void rb_io_check_readable(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00657">io.c:657</a></div></div>
<div class="ttc" id="structrb__io__t_html"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html">rb_io_t</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00053">io.h:53</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="wait_8c_html_ab24f9418ce2fd4cef6b19bed1d2437e0"><div class="ttname"><a href="../../dd/d10/wait_8c.html#ab24f9418ce2fd4cef6b19bed1d2437e0">FIONREAD_POSSIBLE_P</a></div><div class="ttdeci">#define FIONREAD_POSSIBLE_P(fd)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d10/wait_8c_source.html#l00036">wait.c:36</a></div></div>
<div class="ttc" id="tcltklib_8c_html_ae46a61f61c6c37c1987f6dbe1583d185"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#ae46a61f61c6c37c1987f6dbe1583d185">Qtrue</a></div><div class="ttdeci">return Qtrue</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9d/tcltklib_8c_source.html#l09597">tcltklib.c:9597</a></div></div>
<div class="ttc" id="io_8h_html_aa00f0dca97539a5dd0c4e67ad5be93a3"><div class="ttname"><a href="../../dc/dac/io_8h.html#aa00f0dca97539a5dd0c4e67ad5be93a3">GetOpenFile</a></div><div class="ttdeci">#define GetOpenFile(obj, fp)</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00110">io.h:110</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="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="yaml2byte_8c_html_ad0b08ddfcb8010b1d73d9d635d5e0201"><div class="ttname"><a href="../../dd/dfb/yaml2byte_8c.html#ad0b08ddfcb8010b1d73d9d635d5e0201">NULL</a></div><div class="ttdeci">n NULL</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/dfb/yaml2byte_8c_source.html#l00134">yaml2byte.c:134</a></div></div>
<div class="ttc" id="tcltklib_8c_html_a811810f63d0525608ee61a7d12c52c8e"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#a811810f63d0525608ee61a7d12c52c8e">Qfalse</a></div><div class="ttdeci">return Qfalse</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9d/tcltklib_8c_source.html#l06768">tcltklib.c:6768</a></div></div>
<div class="ttc" id="wait_8c_html_ad8c8f76fd07efc7b2b5c1f96cabc5831"><div class="ttname"><a href="../../dd/d10/wait_8c.html#ad8c8f76fd07efc7b2b5c1f96cabc5831">Init_wait</a></div><div class="ttdeci">void Init_wait()</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d10/wait_8c_source.html#l00137">wait.c:137</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a4832bad8845a35fc50f7a160901854a1"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a4832bad8845a35fc50f7a160901854a1">NIL_P</a></div><div class="ttdeci">#define NIL_P(v)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00374">ruby.h:374</a></div></div>
<div class="ttc" id="structrb__io__t_html_a0d48f8e91d24ff4f382564b30c1b41c2"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">rb_io_t::fd</a></div><div class="ttdeci">int fd</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00054">io.h:54</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="ruby_2ruby_8h_html_aed01d7f8e7222def13a869f4bc45530a"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#aed01d7f8e7222def13a869f4bc45530a">rb_cIO</a></div><div class="ttdeci">RUBY_EXTERN VALUE rb_cIO</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l01262">ruby.h:1262</a></div></div>
<div class="ttc" id="structtimeval_html"><div class="ttname"><a href="../../d1/d1b/structtimeval.html">timeval</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dd/dbc/ossl__asn1_8c_source.html#l00016">ossl_asn1.c:16</a></div></div>
<div class="ttc" id="group__defmethod_html_gaa7bed88640f01bee619f85fda09d28d7"><div class="ttname"><a href="../../d7/d19/group__defmethod.html#gaa7bed88640f01bee619f85fda09d28d7">rb_scan_args</a></div><div class="ttdeci">int rb_scan_args(int argc, const VALUE *argv, const char *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d0c/class_8c_source.html#l01416">class.c:1416</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="wait_8c_html_a887ff962bf9167ca235be84b9f744c7e"><div class="ttname"><a href="../../dd/d10/wait_8c.html#a887ff962bf9167ca235be84b9f744c7e">ioctl_arg2num</a></div><div class="ttdeci">#define ioctl_arg2num(i)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d10/wait_8c_source.html#l00030">wait.c:30</a></div></div>
<div class="ttc" id="io_8h_html_a5d928dd718bfee4b74deb87c1e82efd6"><div class="ttname"><a href="../../dc/dac/io_8h.html#a5d928dd718bfee4b74deb87c1e82efd6">rb_wait_for_single_fd</a></div><div class="ttdeci">int rb_wait_for_single_fd(int fd, int events, struct timeval *tv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/de7/thread_8c_source.html#l02965">thread.c:2965</a></div></div>
<div class="ttc" id="name2ctype_8h_html_aed1cc4dca5d94cb452f79691f54f7423"><div class="ttname"><a href="../../d3/d15/name2ctype_8h.html#aed1cc4dca5d94cb452f79691f54f7423">len</a></div><div class="ttdeci">register unsigned int len</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d15/name2ctype_8h_source.html#l22210">name2ctype.h:22210</a></div></div>
<div class="ttc" id="wait_8c_html_a11d5f7ce9a62b62d0a14db7f5b8fe1c0"><div class="ttname"><a href="../../dd/d10/wait_8c.html#a11d5f7ce9a62b62d0a14db7f5b8fe1c0">io_wait</a></div><div class="ttdeci">static VALUE io_wait(int argc, VALUE *argv, VALUE io)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d10/wait_8c_source.html#l00101">wait.c:101</a></div></div>
<div class="ttc" id="error_8c_html_aec0502b6d84cff19bb2071d1386ff177"><div class="ttname"><a href="../../db/dcc/error_8c.html#aec0502b6d84cff19bb2071d1386ff177">rb_sys_fail</a></div><div class="ttdeci">void rb_sys_fail(const char *mesg)</div><div class="ttdef"><b>Definition:</b> <a href="../../db/dcc/error_8c_source.html#l01671">error.c:1671</a></div></div>
<div class="ttc" id="dln_8h_html_a10087a068d10eaadb8f9bb9200cd619a"><div class="ttname"><a href="../../df/da8/dln_8h.html#a10087a068d10eaadb8f9bb9200cd619a">_</a></div><div class="ttdeci">#define _(args)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/da8/dln_8h_source.html#l00028">dln.h:28</a></div></div>
<div class="ttc" id="io_8h_html_a88e47151779c6afecd2b4a13956d80c9"><div class="ttname"><a href="../../dc/dac/io_8h.html#a88e47151779c6afecd2b4a13956d80c9">rb_io_read_pending</a></div><div class="ttdeci">int rb_io_read_pending(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00693">io.c:693</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_ac55fae7f748afd3fc2533d0d7d06cf5a"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#ac55fae7f748afd3fc2533d0d7d06cf5a">INT2FIX</a></div><div class="ttdeci">#define INT2FIX(i)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00225">ruby.h:225</a></div></div>
<div class="ttc" id="zlib_8c_html_a334ba1bff713f079e2b1440bcf5808fd"><div class="ttname"><a href="../../db/d74/zlib_8c.html#a334ba1bff713f079e2b1440bcf5808fd">io</a></div><div class="ttdeci">gz io</div><div class="ttdef"><b>Definition:</b> <a href="../../db/d74/zlib_8c_source.html#l02024">zlib.c:2024</a></div></div>
<div class="ttc" id="wait_8c_html_a17ed2abe545cdbfcc452a1556141fd1c"><div class="ttname"><a href="../../dd/d10/wait_8c.html#a17ed2abe545cdbfcc452a1556141fd1c">io_nread</a></div><div class="ttdeci">static VALUE io_nread(VALUE io)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d10/wait_8c_source.html#l00052">wait.c:52</a></div></div>
<div class="ttc" id="wait_8c_html_a74472de5d38a419416a1855ee9e5a907"><div class="ttname"><a href="../../dd/d10/wait_8c.html#a74472de5d38a419416a1855ee9e5a907">io_ready_p</a></div><div class="ttdeci">static VALUE io_ready_p(VALUE io)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/d10/wait_8c_source.html#l00077">wait.c:77</a></div></div>
<div class="ttc" id="io_8h_html_a8e8bb5fe44d8006f2b4efcb8211736bb"><div class="ttname"><a href="../../dc/dac/io_8h.html#a8e8bb5fe44d8006f2b4efcb8211736bb">RB_WAITFD_IN</a></div><div class="ttdeci">#define RB_WAITFD_IN</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00037">io.h:37</a></div></div>
<div class="ttc" id="bigdecimal_8c_html_acb559820d9ca11295b4500f179ef6392"><div class="ttname"><a href="../../de/d07/bigdecimal_8c.html#acb559820d9ca11295b4500f179ef6392">i</a></div><div class="ttdeci">ssize_t i</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d07/bigdecimal_8c_source.html#l05519">bigdecimal.c:5519</a></div></div>
<div class="ttc" id="group__defmethod_html_ga118dc7abcdb97f56fe35727ac0ff6eb8"><div class="ttname"><a href="../../d7/d19/group__defmethod.html#ga118dc7abcdb97f56fe35727ac0ff6eb8">rb_define_method</a></div><div class="ttdeci">void rb_define_method(VALUE klass, const char *name, VALUE(*func)(ANYARGS), int argc)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d0c/class_8c_source.html#l01210">class.c:1210</a></div></div>
<div class="ttc" id="io_8h_html_a6b4f0c0735ecb278abd3f63059b5fc48"><div class="ttname"><a href="../../dc/dac/io_8h.html#a6b4f0c0735ecb278abd3f63059b5fc48">rb_io_check_closed</a></div><div class="ttdeci">void rb_io_check_closed(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00478">io.c:478</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>