File "io_8h_source.html"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/ruby19/share/doc/ruby/html/dc/dac/io_8h_source.html
File size: 66.26 KB
MIME-type: text/html
Charset: utf-8

<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ruby: include/ruby/io.h 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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ruby
   &#160;<span id="projectnumber">1.9.3p551(2014-11-13revision48407)</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('../../',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_82434f6a8a39055b35115fc8d4134985.html">ruby</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">io.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/dac/io_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/**********************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">  rubyio.h -</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">  $Author: kosaki $</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">  created at: Fri Nov 12 16:47:09 JST 1993</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">  Copyright (C) 1993-2007 Yukihiro Matsumoto</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">**********************************************************************/</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#ifndef RUBY_IO_H</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#define RUBY_IO_H 1</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#if defined(__cplusplus)</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;} <span class="comment">/* satisfy cc-mode */</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d5/de3/encoding_8h.html">ruby/encoding.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#if defined(HAVE_STDIO_EXT_H)</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;stdio_ext.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;ruby/config.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#if defined(HAVE_POLL)</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#  include &lt;poll.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#  define RB_WAITFD_IN  POLLIN</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#  define RB_WAITFD_PRI POLLPRI</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#  define RB_WAITFD_OUT POLLOUT</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a8e8bb5fe44d8006f2b4efcb8211736bb">   37</a></span>&#160;<span class="preprocessor">#  define RB_WAITFD_IN  0x001</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a6284f1969d45f86324b88488afbd40f7">   38</a></span>&#160;<span class="preprocessor">#  define RB_WAITFD_PRI 0x002</span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a399021080de1229d3202874624f9d853">   39</a></span>&#160;<span class="preprocessor">#  define RB_WAITFD_OUT 0x004</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#if defined __GNUC__ &amp;&amp; __GNUC__ &gt;= 4</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#pragma GCC visibility push(default)</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d7/d6b/structrb__io__buffer__t.html">   46</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d7/d6b/structrb__io__buffer__t.html#a817f0d08e7fcb168e49fd7165a440ce1">   47</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="../../d7/d6b/structrb__io__buffer__t.html#a817f0d08e7fcb168e49fd7165a440ce1">ptr</a>;                  <span class="comment">/* off + len &lt;= capa */</span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d7/d6b/structrb__io__buffer__t.html#ac28eb294504ec4b94ac09d6bcefe5127">   48</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d7/d6b/structrb__io__buffer__t.html#ac28eb294504ec4b94ac09d6bcefe5127">off</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../d7/d6b/structrb__io__buffer__t.html#a4d7a7af58ce1b4a5fb0c6c76f8186a05">   49</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d7/d6b/structrb__io__buffer__t.html#a4d7a7af58ce1b4a5fb0c6c76f8186a05">len</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d7/d6b/structrb__io__buffer__t.html#ac4a756c05d23c62903b5000a338adb53">   50</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../d7/d6b/structrb__io__buffer__t.html#ac4a756c05d23c62903b5000a338adb53">capa</a>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;} <a class="code" href="../../d7/d6b/structrb__io__buffer__t.html">rb_io_buffer_t</a>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html">   53</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">   54</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../dd/d7e/structrb__io__t.html#a0d48f8e91d24ff4f382564b30c1b41c2">fd</a>;                     <span class="comment">/* file descriptor */</span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a91479ddab1e86af11cdac57099dee7f5">   55</a></span>&#160;    <a class="code" href="../../db/ddf/struct____s_f_i_l_e.html">FILE</a> *<a class="code" href="../../dd/d7e/structrb__io__t.html#a91479ddab1e86af11cdac57099dee7f5">stdio_file</a>;           <span class="comment">/* stdio ptr for read/write if available */</span></div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#aab130221afcebe4a7029434091ed6104">   56</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../dd/d7e/structrb__io__t.html#aab130221afcebe4a7029434091ed6104">mode</a>;                   <span class="comment">/* mode flags: FMODE_XXXs */</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a6080b18e6883f70d36a1c1554761ccfe">   57</a></span>&#160;    rb_pid_t <a class="code" href="../../dd/d7e/structrb__io__t.html#a6080b18e6883f70d36a1c1554761ccfe">pid</a>;               <span class="comment">/* child&#39;s pid (for pipes) */</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a397be62fbdfe88a3763377f262241ca7">   58</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../dd/d7e/structrb__io__t.html#a397be62fbdfe88a3763377f262241ca7">lineno</a>;                 <span class="comment">/* number of lines read */</span></div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#aaaa2c729a8c1c1550505ea250338353e">   59</a></span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#aaaa2c729a8c1c1550505ea250338353e">pathv</a>;                <span class="comment">/* pathname for file */</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#ae423e5f8678e0b393b5d642dfd8d3985">   60</a></span>&#160;    void (*<a class="code" href="../../dd/d7e/structrb__io__t.html#ae423e5f8678e0b393b5d642dfd8d3985">finalize</a>)(<span class="keyword">struct </span><a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*,int); <span class="comment">/* finalize proc */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a6d8c44388c98b9b92c47c2e9752a8dfe">   62</a></span>&#160;    <a class="code" href="../../d7/d6b/structrb__io__buffer__t.html">rb_io_buffer_t</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#a6d8c44388c98b9b92c47c2e9752a8dfe">wbuf</a>, <a class="code" href="../../dd/d7e/structrb__io__t.html#afeb1762330048aede7e7383dee981304">rbuf</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#ad4507dbb812bff2064ead59f235039c2">   64</a></span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#ad4507dbb812bff2064ead59f235039c2">tied_io_for_writing</a>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">/*</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">     * enc  enc2 read action                      write action</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">     * NULL NULL force_encoding(default_external) write the byte sequence of str</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">     * e1   NULL force_encoding(e1)               convert str.encoding to e1</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">     * e1   e2   convert from e2 to e1            convert str.encoding to e2</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">     */</span></div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html">   72</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html">rb_io_enc_t</a> {</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#aab664f9aeefa4154aecac58de7587a6f">   73</a></span>&#160;        <a class="code" href="../../d1/d7b/struct_onig_encoding_type_s_t.html">rb_encoding</a> *<a class="code" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#aab664f9aeefa4154aecac58de7587a6f">enc</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#ace618f4461dc1e9fa0e5549e5c59c0fb">   74</a></span>&#160;        <a class="code" href="../../d1/d7b/struct_onig_encoding_type_s_t.html">rb_encoding</a> *<a class="code" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#ace618f4461dc1e9fa0e5549e5c59c0fb">enc2</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#a6720fd379d1a21b53e4249089dfe505d">   75</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#a6720fd379d1a21b53e4249089dfe505d">ecflags</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#acf2d77fd93f6b9d9ec76ad1313d2a8a9">   76</a></span>&#160;        <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#acf2d77fd93f6b9d9ec76ad1313d2a8a9">ecopts</a>;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    } <a class="code" href="../../dd/d7e/structrb__io__t.html#adf64bf1f8a1cb22baf17da43266932cf">encs</a>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a86265dc445995fd9696605aa78fe99be">   79</a></span>&#160;    <a class="code" href="../../d3/d06/structrb__econv__t.html">rb_econv_t</a> *<a class="code" href="../../dd/d7e/structrb__io__t.html#a86265dc445995fd9696605aa78fe99be">readconv</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#aba43192a9eee3e82d3ea2793eb3dbdd9">   80</a></span>&#160;    <a class="code" href="../../d7/d6b/structrb__io__buffer__t.html">rb_io_buffer_t</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#aba43192a9eee3e82d3ea2793eb3dbdd9">cbuf</a>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a6078f27f1649b08a35ff32e642df4827">   82</a></span>&#160;    <a class="code" href="../../d3/d06/structrb__econv__t.html">rb_econv_t</a> *<a class="code" href="../../dd/d7e/structrb__io__t.html#a6078f27f1649b08a35ff32e642df4827">writeconv</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a8b6143bfe35f445d8564a71b547101ee">   83</a></span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#a8b6143bfe35f445d8564a71b547101ee">writeconv_asciicompat</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#aaccc1b6d4b005eda87fa017026fd2701">   84</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../dd/d7e/structrb__io__t.html#aaccc1b6d4b005eda87fa017026fd2701">writeconv_pre_ecflags</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#ac82d528d2dee6d4f0f880fa9526fa9a6">   85</a></span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#ac82d528d2dee6d4f0f880fa9526fa9a6">writeconv_pre_ecopts</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#a98a76b1e470573eb34ed020196db9ba0">   86</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="../../dd/d7e/structrb__io__t.html#a98a76b1e470573eb34ed020196db9ba0">writeconv_initialized</a>;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="../../dd/d7e/structrb__io__t.html#ab6eade210f169f0a929e1381cbef947d">   88</a></span>&#160;    <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dd/d7e/structrb__io__t.html#ab6eade210f169f0a929e1381cbef947d">write_lock</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;} <a class="code" href="../../dc/dac/io_8h.html#a7d303ebc3922879522330365f3bc6a19">rb_io_t</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a30194a6df16efb90a381dedf416445d6">   91</a></span>&#160;<span class="preprocessor">#define HAVE_RB_IO_T 1</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a00c37fcd07f39f8f5b374b94f91c7203">   93</a></span>&#160;<span class="preprocessor">#define FMODE_READABLE              0x00000001</span></div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a6c4c198b6b4a8bbc3659802101b6c3e8">   94</a></span>&#160;<span class="preprocessor">#define FMODE_WRITABLE              0x00000002</span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a289245342d513a229938e5f8700648b5">   95</a></span>&#160;<span class="preprocessor">#define FMODE_READWRITE             (FMODE_READABLE|FMODE_WRITABLE)</span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a7bd9a8d38431a018c8de1edd5829e14f">   96</a></span>&#160;<span class="preprocessor">#define FMODE_BINMODE               0x00000004</span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a95a89e4b35429fb51d7c3e52ec405d90">   97</a></span>&#160;<span class="preprocessor">#define FMODE_SYNC                  0x00000008</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a40065fb3d48c5c13642ef3880efaaa03">   98</a></span>&#160;<span class="preprocessor">#define FMODE_TTY                   0x00000010</span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a7bba3fe65c0f4b33d346273792dddade">   99</a></span>&#160;<span class="preprocessor">#define FMODE_DUPLEX                0x00000020</span></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a7a29604a28e82f69d9325405514be4a7">  100</a></span>&#160;<span class="preprocessor">#define FMODE_APPEND                0x00000040</span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a46de7b70411362002c8b92fb6a75382b">  101</a></span>&#160;<span class="preprocessor">#define FMODE_CREATE                0x00000080</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">/* #define FMODE_NOREVLOOKUP        0x00000100 */</span></div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#ac4bc328ba5e87fac5381cf7b4afa7153">  103</a></span>&#160;<span class="preprocessor">#define FMODE_WSPLIT                0x00000200</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a549273c107e35c00c202299a498bd758">  104</a></span>&#160;<span class="preprocessor">#define FMODE_WSPLIT_INITIALIZED    0x00000400</span></div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#aced46a99b499f14f97bfe994746238cf">  105</a></span>&#160;<span class="preprocessor">#define FMODE_TRUNC                 0x00000800</span></div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#aaf5edfb63656cca0368d0de8324015c1">  106</a></span>&#160;<span class="preprocessor">#define FMODE_TEXTMODE              0x00001000</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">/* #define FMODE_PREP               0x00010000 */</span></div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a1887ab1ec5253a5f363e78092a55348c">  108</a></span>&#160;<span class="preprocessor">#define FMODE_SETENC_BY_BOM         0x00100000</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#aa00f0dca97539a5dd0c4e67ad5be93a3">  110</a></span>&#160;<span class="preprocessor">#define GetOpenFile(obj,fp) rb_io_check_closed((fp) = RFILE(rb_io_taint_check(obj))-&gt;fptr)</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a50a11c1afcd3899ebe8706ef1890850f">  112</a></span>&#160;<span class="preprocessor">#define RB_IO_BUFFER_INIT(buf) do {\</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">    (buf).ptr = NULL;\</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">    (buf).off = 0;\</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">    (buf).len = 0;\</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">    (buf).capa = 0;\</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a806072dc06b95702f12c2d59e815cfde">  119</a></span>&#160;<span class="preprocessor">#define MakeOpenFile(obj, fp) do {\</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">    if (RFILE(obj)-&gt;fptr) {\</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">        rb_io_close(obj);\</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">        rb_io_fptr_finalize(RFILE(obj)-&gt;fptr);\</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">        RFILE(obj)-&gt;fptr = 0;\</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">    }\</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">    (fp) = 0;\</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">    RB_IO_FPTR_NEW(fp);\</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">    RFILE(obj)-&gt;fptr = (fp);\</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#afdc7cc0df5a379ef40a172fc9c408d83">  130</a></span>&#160;<span class="preprocessor">#define RB_IO_FPTR_NEW(fp) do {\</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">    (fp) = ALLOC(rb_io_t);\</span></div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">    (fp)-&gt;fd = -1;\</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">    (fp)-&gt;stdio_file = NULL;\</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">    (fp)-&gt;mode = 0;\</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">    (fp)-&gt;pid = 0;\</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">    (fp)-&gt;lineno = 0;\</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">    (fp)-&gt;pathv = Qnil;\</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">    (fp)-&gt;finalize = 0;\</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">    RB_IO_BUFFER_INIT((fp)-&gt;wbuf);\</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">    RB_IO_BUFFER_INIT((fp)-&gt;rbuf);\</span></div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">    RB_IO_BUFFER_INIT((fp)-&gt;cbuf);\</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">    (fp)-&gt;readconv = NULL;\</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">    (fp)-&gt;writeconv = NULL;\</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">    (fp)-&gt;writeconv_asciicompat = Qnil;\</span></div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">    (fp)-&gt;writeconv_pre_ecflags = 0;\</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">    (fp)-&gt;writeconv_pre_ecopts = Qnil;\</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">    (fp)-&gt;writeconv_initialized = 0;\</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">    (fp)-&gt;tied_io_for_writing = 0;\</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">    (fp)-&gt;encs.enc = NULL;\</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">    (fp)-&gt;encs.enc2 = NULL;\</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">    (fp)-&gt;encs.ecflags = 0;\</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">    (fp)-&gt;encs.ecopts = Qnil;\</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">    (fp)-&gt;write_lock = 0;\</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<a class="code" href="../../db/ddf/struct____s_f_i_l_e.html">FILE</a> *<a class="code" href="../../dc/dac/io_8h.html#a5a0d6757d5f6624ea43d72323e1cb76f">rb_io_stdio_file</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<a class="code" href="../../db/ddf/struct____s_f_i_l_e.html">FILE</a> *<a class="code" href="../../dc/dac/io_8h.html#a07c2492c65dc6094210adc71cb362c72">rb_fdopen</a>(<span class="keywordtype">int</span>, <span class="keyword">const</span> <span class="keywordtype">char</span>*);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a0c32c67101e6698b9b314041ac5025f4">rb_io_modestr_fmode</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *modestr);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a18815b569044e1ffbe48c093ed7efd1f">rb_io_modestr_oflags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *modestr);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a5c81f2aab2c1cf43fe65b926f8a5bd73">rb_io_oflags_fmode</a>(<span class="keywordtype">int</span> oflags);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#a728977df67c656197402bb30a14af953">rb_io_check_writable</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#a8557569435da7f8a669908723fcd5e94">rb_io_check_readable</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#acbd19ff86a565ed9e9f15e4f49736f3d">rb_io_check_char_readable</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#a38b3a618992ee85d5510dc70db4e2b36">rb_io_check_byte_readable</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a6fc4023c7b0bced3b799f7300913de28">rb_io_fptr_finalize</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#aeb14fb21179cb04f2a87dec384f8236b">rb_io_synchronized</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#af5b8dfbd6b4a542196867145faaa35f5">rb_io_check_initialized</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#a6b4f0c0735ecb278abd3f63059b5fc48">rb_io_check_closed</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dc/dac/io_8h.html#a146b88f22bfc5b430274d9f64aa40b42">rb_io_get_io</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> io);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dc/dac/io_8h.html#ad2562db4d858dc312c9a189e8470b96a">rb_io_get_write_io</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> io);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dc/dac/io_8h.html#ae2ca9d075a7f1188906d9e23ed053bf5">rb_io_set_write_io</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> io, <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> w);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#aef370f8ba67623893a3b559bf27b30e3">rb_io_wait_readable</a>(<span class="keywordtype">int</span>);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#af28a170d3ffb07353653f832d95c6ba6">rb_io_wait_writable</a>(<span class="keywordtype">int</span>);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a5d928dd718bfee4b74deb87c1e82efd6">rb_wait_for_single_fd</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">int</span> events, <span class="keyword">struct</span> <a class="code" href="../../d1/d1b/structtimeval.html">timeval</a> *tv);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#ad3cd1cfd937d36dfeb7d0f2f4aeb08ab">rb_io_set_nonblock</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a> *fptr);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a51c36b8e9d3a677016832864186cc72d">rb_io_extract_encoding_option</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> opt, <a class="code" href="../../d1/d7b/struct_onig_encoding_type_s_t.html">rb_encoding</a> **enc_p, <a class="code" href="../../d1/d7b/struct_onig_encoding_type_s_t.html">rb_encoding</a> **enc2_p, <span class="keywordtype">int</span> *fmode_p);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;ssize_t <a class="code" href="../../dc/dac/io_8h.html#ac498ae6e389ece41fbcddd87a974677f">rb_io_bufwrite</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> io, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="../../d6/da0/nkf-utf8_2nkf_8c.html#ac37f17a60c8b5533aac4840c681f62b8">buf</a>, <span class="keywordtype">size_t</span> <a class="code" href="../../d5/db5/encoding_8c.html#a439227feff9d7f55384e8780cfc2eb82">size</a>);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">/* compatibility for ruby 1.8 and older */</span></div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a4e14e8a6e7270c83c3df42307ba89cbc">  181</a></span>&#160;<span class="preprocessor">#define rb_io_mode_flags(modestr) rb_io_modestr_fmode(modestr)</span></div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="../../dc/dac/io_8h.html#a47475442f66e56c7e18315aec5d23325">  182</a></span>&#160;<span class="preprocessor">#define rb_io_modenum_flags(oflags) rb_io_oflags_fmode(oflags)</span></div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../dc/dac/io_8h.html#a68e7deaa22cac98e654c80bd7fe187f4">rb_io_taint_check</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a>);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<a class="code" href="../../dc/dac/io_8h.html#a777e880b4113b841f6a9dd8616b39778">NORETURN</a>(<span class="keywordtype">void</span> <a class="code" href="../../df/d0a/io_8c.html#af29c366cc0b8091e08b0c2f5b32ca59f">rb_eof_error</a>(<span class="keywordtype">void</span>));</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dac/io_8h.html#ac54adfb185a404954c702527ee9063af">rb_io_read_check</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../dc/dac/io_8h.html#a88e47151779c6afecd2b4a13956d80c9">rb_io_read_pending</a>(<a class="code" href="../../dd/d7e/structrb__io__t.html">rb_io_t</a>*);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<a class="code" href="../../dc/dac/io_8h.html#a4bf4e036cf318529d66c62bfc783c965">DEPRECATED</a>(<span class="keywordtype">void</span> <a class="code" href="../../df/d0a/io_8c.html#ad3eba03cd96f7d2b91cd9142ff437ace">rb_read_check</a>(<a class="code" href="../../db/ddf/struct____s_f_i_l_e.html">FILE</a>*));</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#if defined __GNUC__ &amp;&amp; __GNUC__ &gt;= 4</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#pragma GCC visibility pop</span></div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#if defined(__cplusplus)</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;{ <span class="comment">/* satisfy cc-mode */</span></div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;}  <span class="comment">/* extern &quot;C&quot; { */</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* RUBY_IO_H */</span><span class="preprocessor"></span></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="io_8h_html_ad3cd1cfd937d36dfeb7d0f2f4aeb08ab"><div class="ttname"><a href="../../dc/dac/io_8h.html#ad3cd1cfd937d36dfeb7d0f2f4aeb08ab">rb_io_set_nonblock</a></div><div class="ttdeci">void rb_io_set_nonblock(rb_io_t *fptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l02124">io.c:2124</a></div></div>
<div class="ttc" id="io_8h_html_aeb14fb21179cb04f2a87dec384f8236b"><div class="ttname"><a href="../../dc/dac/io_8h.html#aeb14fb21179cb04f2a87dec384f8236b">rb_io_synchronized</a></div><div class="ttdeci">void rb_io_synchronized(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l05226">io.c:5226</a></div></div>
<div class="ttc" id="io_8h_html_a18815b569044e1ffbe48c093ed7efd1f"><div class="ttname"><a href="../../dc/dac/io_8h.html#a18815b569044e1ffbe48c093ed7efd1f">rb_io_modestr_oflags</a></div><div class="ttdeci">int rb_io_modestr_oflags(const char *modestr)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l04531">io.c:4531</a></div></div>
<div class="ttc" id="io_8h_html_a7d303ebc3922879522330365f3bc6a19"><div class="ttname"><a href="../../dc/dac/io_8h.html#a7d303ebc3922879522330365f3bc6a19">rb_io_t</a></div><div class="ttdeci">struct rb_io_t rb_io_t</div></div>
<div class="ttc" id="structrb__io__t_html_aba43192a9eee3e82d3ea2793eb3dbdd9"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#aba43192a9eee3e82d3ea2793eb3dbdd9">rb_io_t::cbuf</a></div><div class="ttdeci">rb_io_buffer_t cbuf</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00080">io.h:80</a></div></div>
<div class="ttc" id="structrb__io__t_1_1rb__io__enc__t_html_acf2d77fd93f6b9d9ec76ad1313d2a8a9"><div class="ttname"><a href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#acf2d77fd93f6b9d9ec76ad1313d2a8a9">rb_io_t::rb_io_enc_t::ecopts</a></div><div class="ttdeci">VALUE ecopts</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00076">io.h:76</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="io_8h_html_af5b8dfbd6b4a542196867145faaa35f5"><div class="ttname"><a href="../../dc/dac/io_8h.html#af5b8dfbd6b4a542196867145faaa35f5">rb_io_check_initialized</a></div><div class="ttdeci">void rb_io_check_initialized(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00470">io.c:470</a></div></div>
<div class="ttc" id="io_8h_html_ac498ae6e389ece41fbcddd87a974677f"><div class="ttname"><a href="../../dc/dac/io_8h.html#ac498ae6e389ece41fbcddd87a974677f">rb_io_bufwrite</a></div><div class="ttdeci">ssize_t rb_io_bufwrite(VALUE io, const void *buf, size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l01163">io.c:1163</a></div></div>
<div class="ttc" id="io_8h_html_a38b3a618992ee85d5510dc70db4e2b36"><div class="ttname"><a href="../../dc/dac/io_8h.html#a38b3a618992ee85d5510dc70db4e2b36">rb_io_check_byte_readable</a></div><div class="ttdeci">void rb_io_check_byte_readable(rb_io_t *fptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00648">io.c:648</a></div></div>
<div class="ttc" id="structrb__io__buffer__t_html_a817f0d08e7fcb168e49fd7165a440ce1"><div class="ttname"><a href="../../d7/d6b/structrb__io__buffer__t.html#a817f0d08e7fcb168e49fd7165a440ce1">rb_io_buffer_t::ptr</a></div><div class="ttdeci">char * ptr</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00047">io.h:47</a></div></div>
<div class="ttc" id="structrb__io__t_html_aaccc1b6d4b005eda87fa017026fd2701"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#aaccc1b6d4b005eda87fa017026fd2701">rb_io_t::writeconv_pre_ecflags</a></div><div class="ttdeci">int writeconv_pre_ecflags</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00084">io.h:84</a></div></div>
<div class="ttc" id="io_8h_html_a0c32c67101e6698b9b314041ac5025f4"><div class="ttname"><a href="../../dc/dac/io_8h.html#a0c32c67101e6698b9b314041ac5025f4">rb_io_modestr_fmode</a></div><div class="ttdeci">int rb_io_modestr_fmode(const char *modestr)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l04412">io.c:4412</a></div></div>
<div class="ttc" id="io_8h_html_a6fc4023c7b0bced3b799f7300913de28"><div class="ttname"><a href="../../dc/dac/io_8h.html#a6fc4023c7b0bced3b799f7300913de28">rb_io_fptr_finalize</a></div><div class="ttdeci">int rb_io_fptr_finalize(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l03876">io.c:3876</a></div></div>
<div class="ttc" id="structrb__io__t_html_a98a76b1e470573eb34ed020196db9ba0"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a98a76b1e470573eb34ed020196db9ba0">rb_io_t::writeconv_initialized</a></div><div class="ttdeci">int writeconv_initialized</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00086">io.h:86</a></div></div>
<div class="ttc" id="io_8h_html_a68e7deaa22cac98e654c80bd7fe187f4"><div class="ttname"><a href="../../dc/dac/io_8h.html#a68e7deaa22cac98e654c80bd7fe187f4">rb_io_taint_check</a></div><div class="ttdeci">VALUE rb_io_taint_check(VALUE)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00461">io.c:461</a></div></div>
<div class="ttc" id="structrb__io__t_html_ac82d528d2dee6d4f0f880fa9526fa9a6"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#ac82d528d2dee6d4f0f880fa9526fa9a6">rb_io_t::writeconv_pre_ecopts</a></div><div class="ttdeci">VALUE writeconv_pre_ecopts</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00085">io.h:85</a></div></div>
<div class="ttc" id="structrb__io__t_1_1rb__io__enc__t_html_ace618f4461dc1e9fa0e5549e5c59c0fb"><div class="ttname"><a href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#ace618f4461dc1e9fa0e5549e5c59c0fb">rb_io_t::rb_io_enc_t::enc2</a></div><div class="ttdeci">rb_encoding * enc2</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00074">io.h:74</a></div></div>
<div class="ttc" id="io_8h_html_ac54adfb185a404954c702527ee9063af"><div class="ttname"><a href="../../dc/dac/io_8h.html#ac54adfb185a404954c702527ee9063af">rb_io_read_check</a></div><div class="ttdeci">void rb_io_read_check(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00710">io.c:710</a></div></div>
<div class="ttc" id="structrb__io__buffer__t_html"><div class="ttname"><a href="../../d7/d6b/structrb__io__buffer__t.html">rb_io_buffer_t</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00046">io.h:46</a></div></div>
<div class="ttc" id="structrb__io__buffer__t_html_ac4a756c05d23c62903b5000a338adb53"><div class="ttname"><a href="../../d7/d6b/structrb__io__buffer__t.html#ac4a756c05d23c62903b5000a338adb53">rb_io_buffer_t::capa</a></div><div class="ttdeci">int capa</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00050">io.h:50</a></div></div>
<div class="ttc" id="struct____s_f_i_l_e_html"><div class="ttname"><a href="../../db/ddf/struct____s_f_i_l_e.html">__sFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/d50/vsnprintf_8c_source.html#l00175">vsnprintf.c:175</a></div></div>
<div class="ttc" id="structrb__io__t_html_aab130221afcebe4a7029434091ed6104"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#aab130221afcebe4a7029434091ed6104">rb_io_t::mode</a></div><div class="ttdeci">int mode</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00056">io.h:56</a></div></div>
<div class="ttc" id="structrb__io__t_1_1rb__io__enc__t_html_aab664f9aeefa4154aecac58de7587a6f"><div class="ttname"><a href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#aab664f9aeefa4154aecac58de7587a6f">rb_io_t::rb_io_enc_t::enc</a></div><div class="ttdeci">rb_encoding * enc</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00073">io.h:73</a></div></div>
<div class="ttc" id="io_8h_html_ad2562db4d858dc312c9a189e8470b96a"><div class="ttname"><a href="../../dc/dac/io_8h.html#ad2562db4d858dc312c9a189e8470b96a">rb_io_get_write_io</a></div><div class="ttdeci">VALUE rb_io_get_write_io(VALUE io)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00500">io.c:500</a></div></div>
<div class="ttc" id="io_8h_html_a4bf4e036cf318529d66c62bfc783c965"><div class="ttname"><a href="../../dc/dac/io_8h.html#a4bf4e036cf318529d66c62bfc783c965">DEPRECATED</a></div><div class="ttdeci">DEPRECATED(void rb_read_check(FILE *))</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="io_8h_html_af28a170d3ffb07353653f832d95c6ba6"><div class="ttname"><a href="../../dc/dac/io_8h.html#af28a170d3ffb07353653f832d95c6ba6">rb_io_wait_writable</a></div><div class="ttdeci">int rb_io_wait_writable(int)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00916">io.c:916</a></div></div>
<div class="ttc" id="io_8h_html_a777e880b4113b841f6a9dd8616b39778"><div class="ttname"><a href="../../dc/dac/io_8h.html#a777e880b4113b841f6a9dd8616b39778">NORETURN</a></div><div class="ttdeci">NORETURN(void rb_eof_error(void))</div></div>
<div class="ttc" id="structrb__io__t_html_adf64bf1f8a1cb22baf17da43266932cf"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#adf64bf1f8a1cb22baf17da43266932cf">rb_io_t::encs</a></div><div class="ttdeci">struct rb_io_t::rb_io_enc_t encs</div></div>
<div class="ttc" id="structrb__io__t_html_a8b6143bfe35f445d8564a71b547101ee"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a8b6143bfe35f445d8564a71b547101ee">rb_io_t::writeconv_asciicompat</a></div><div class="ttdeci">VALUE writeconv_asciicompat</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00083">io.h:83</a></div></div>
<div class="ttc" id="structrb__io__t_html_a6080b18e6883f70d36a1c1554761ccfe"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a6080b18e6883f70d36a1c1554761ccfe">rb_io_t::pid</a></div><div class="ttdeci">rb_pid_t pid</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00057">io.h:57</a></div></div>
<div class="ttc" id="structrb__io__buffer__t_html_a4d7a7af58ce1b4a5fb0c6c76f8186a05"><div class="ttname"><a href="../../d7/d6b/structrb__io__buffer__t.html#a4d7a7af58ce1b4a5fb0c6c76f8186a05">rb_io_buffer_t::len</a></div><div class="ttdeci">int len</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00049">io.h:49</a></div></div>
<div class="ttc" id="encoding_8h_html"><div class="ttname"><a href="../../d5/de3/encoding_8h.html">encoding.h</a></div></div>
<div class="ttc" id="io_8h_html_a51c36b8e9d3a677016832864186cc72d"><div class="ttname"><a href="../../dc/dac/io_8h.html#a51c36b8e9d3a677016832864186cc72d">rb_io_extract_encoding_option</a></div><div class="ttdeci">int rb_io_extract_encoding_option(VALUE opt, rb_encoding **enc_p, rb_encoding **enc2_p, int *fmode_p)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l04681">io.c:4681</a></div></div>
<div class="ttc" id="structrb__io__t_html_a6d8c44388c98b9b92c47c2e9752a8dfe"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a6d8c44388c98b9b92c47c2e9752a8dfe">rb_io_t::wbuf</a></div><div class="ttdeci">rb_io_buffer_t wbuf</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00062">io.h:62</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="nkf-utf8_2nkf_8c_html_ac37f17a60c8b5533aac4840c681f62b8"><div class="ttname"><a href="../../d6/da0/nkf-utf8_2nkf_8c.html#ac37f17a60c8b5533aac4840c681f62b8">buf</a></div><div class="ttdeci">unsigned char buf[MIME_BUF_SIZE]</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/da0/nkf-utf8_2nkf_8c_source.html#l03913">nkf.c:3913</a></div></div>
<div class="ttc" id="structrb__io__t_html_ad4507dbb812bff2064ead59f235039c2"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#ad4507dbb812bff2064ead59f235039c2">rb_io_t::tied_io_for_writing</a></div><div class="ttdeci">VALUE tied_io_for_writing</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00064">io.h:64</a></div></div>
<div class="ttc" id="structrb__io__t_1_1rb__io__enc__t_html"><div class="ttname"><a href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html">rb_io_t::rb_io_enc_t</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00072">io.h:72</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a3c1d4bfc6a81af60bdcb48744c35f760"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">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="io_8h_html_a146b88f22bfc5b430274d9f64aa40b42"><div class="ttname"><a href="../../dc/dac/io_8h.html#a146b88f22bfc5b430274d9f64aa40b42">rb_io_get_io</a></div><div class="ttdeci">VALUE rb_io_get_io(VALUE io)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00488">io.c:488</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="io_8h_html_a5c81f2aab2c1cf43fe65b926f8a5bd73"><div class="ttname"><a href="../../dc/dac/io_8h.html#a5c81f2aab2c1cf43fe65b926f8a5bd73">rb_io_oflags_fmode</a></div><div class="ttdeci">int rb_io_oflags_fmode(int oflags)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l04461">io.c:4461</a></div></div>
<div class="ttc" id="structrb__io__t_html_a86265dc445995fd9696605aa78fe99be"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a86265dc445995fd9696605aa78fe99be">rb_io_t::readconv</a></div><div class="ttdeci">rb_econv_t * readconv</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00079">io.h:79</a></div></div>
<div class="ttc" id="structrb__io__t_html_ab6eade210f169f0a929e1381cbef947d"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#ab6eade210f169f0a929e1381cbef947d">rb_io_t::write_lock</a></div><div class="ttdeci">VALUE write_lock</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00088">io.h:88</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="io_8h_html_acbd19ff86a565ed9e9f15e4f49736f3d"><div class="ttname"><a href="../../dc/dac/io_8h.html#acbd19ff86a565ed9e9f15e4f49736f3d">rb_io_check_char_readable</a></div><div class="ttdeci">void rb_io_check_char_readable(rb_io_t *fptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00629">io.c:629</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="structrb__econv__t_html"><div class="ttname"><a href="../../d3/d06/structrb__econv__t.html">rb_econv_t</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d26/transcode_8c_source.html#l00111">transcode.c:111</a></div></div>
<div class="ttc" id="structrb__io__buffer__t_html_ac28eb294504ec4b94ac09d6bcefe5127"><div class="ttname"><a href="../../d7/d6b/structrb__io__buffer__t.html#ac28eb294504ec4b94ac09d6bcefe5127">rb_io_buffer_t::off</a></div><div class="ttdeci">int off</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00048">io.h:48</a></div></div>
<div class="ttc" id="structrb__io__t_html_aaaa2c729a8c1c1550505ea250338353e"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#aaaa2c729a8c1c1550505ea250338353e">rb_io_t::pathv</a></div><div class="ttdeci">VALUE pathv</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00059">io.h:59</a></div></div>
<div class="ttc" id="io_8h_html_a07c2492c65dc6094210adc71cb362c72"><div class="ttname"><a href="../../dc/dac/io_8h.html#a07c2492c65dc6094210adc71cb362c72">rb_fdopen</a></div><div class="ttdeci">FILE * rb_fdopen(int, const char *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l04964">io.c:4964</a></div></div>
<div class="ttc" id="structrb__io__t_html_ae423e5f8678e0b393b5d642dfd8d3985"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#ae423e5f8678e0b393b5d642dfd8d3985">rb_io_t::finalize</a></div><div class="ttdeci">void(* finalize)(struct rb_io_t *, int)</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00060">io.h:60</a></div></div>
<div class="ttc" id="structrb__io__t_1_1rb__io__enc__t_html_a6720fd379d1a21b53e4249089dfe505d"><div class="ttname"><a href="../../d7/d5d/structrb__io__t_1_1rb__io__enc__t.html#a6720fd379d1a21b53e4249089dfe505d">rb_io_t::rb_io_enc_t::ecflags</a></div><div class="ttdeci">int ecflags</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00075">io.h:75</a></div></div>
<div class="ttc" id="io_8h_html_a5a0d6757d5f6624ea43d72323e1cb76f"><div class="ttname"><a href="../../dc/dac/io_8h.html#a5a0d6757d5f6624ea43d72323e1cb76f">rb_io_stdio_file</a></div><div class="ttdeci">FILE * rb_io_stdio_file(rb_io_t *fptr)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l06771">io.c:6771</a></div></div>
<div class="ttc" id="io_8h_html_a728977df67c656197402bb30a14af953"><div class="ttname"><a href="../../dc/dac/io_8h.html#a728977df67c656197402bb30a14af953">rb_io_check_writable</a></div><div class="ttdeci">void rb_io_check_writable(rb_io_t *)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00681">io.c:681</a></div></div>
<div class="ttc" id="structrb__io__t_html_afeb1762330048aede7e7383dee981304"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#afeb1762330048aede7e7383dee981304">rb_io_t::rbuf</a></div><div class="ttdeci">rb_io_buffer_t rbuf</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00062">io.h:62</a></div></div>
<div class="ttc" id="structrb__io__t_html_a91479ddab1e86af11cdac57099dee7f5"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a91479ddab1e86af11cdac57099dee7f5">rb_io_t::stdio_file</a></div><div class="ttdeci">FILE * stdio_file</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00055">io.h:55</a></div></div>
<div class="ttc" id="structrb__io__t_html_a397be62fbdfe88a3763377f262241ca7"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a397be62fbdfe88a3763377f262241ca7">rb_io_t::lineno</a></div><div class="ttdeci">int lineno</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00058">io.h:58</a></div></div>
<div class="ttc" id="io_8h_html_ae2ca9d075a7f1188906d9e23ed053bf5"><div class="ttname"><a href="../../dc/dac/io_8h.html#ae2ca9d075a7f1188906d9e23ed053bf5">rb_io_set_write_io</a></div><div class="ttdeci">VALUE rb_io_set_write_io(VALUE io, VALUE w)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00512">io.c:512</a></div></div>
<div class="ttc" id="io_8h_html_aef370f8ba67623893a3b559bf27b30e3"><div class="ttname"><a href="../../dc/dac/io_8h.html#aef370f8ba67623893a3b559bf27b30e3">rb_io_wait_readable</a></div><div class="ttdeci">int rb_io_wait_readable(int)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00890">io.c:890</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 class="ttc" id="structrb__io__t_html_a6078f27f1649b08a35ff32e642df4827"><div class="ttname"><a href="../../dd/d7e/structrb__io__t.html#a6078f27f1649b08a35ff32e642df4827">rb_io_t::writeconv</a></div><div class="ttdeci">rb_econv_t * writeconv</div><div class="ttdef"><b>Definition:</b> <a href="../../dc/dac/io_8h_source.html#l00082">io.h:82</a></div></div>
<div class="ttc" id="io_8c_html_ad3eba03cd96f7d2b91cd9142ff437ace"><div class="ttname"><a href="../../df/d0a/io_8c.html#ad3eba03cd96f7d2b91cd9142ff437ace">rb_read_check</a></div><div class="ttdeci">void rb_read_check(FILE *fp)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00702">io.c:702</a></div></div>
<div class="ttc" id="struct_onig_encoding_type_s_t_html"><div class="ttname"><a href="../../d1/d7b/struct_onig_encoding_type_s_t.html">OnigEncodingTypeST</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d8/db3/oniguruma_8h_source.html#l00156">oniguruma.h:156</a></div></div>
<div class="ttc" id="io_8c_html_af29c366cc0b8091e08b0c2f5b32ca59f"><div class="ttname"><a href="../../df/d0a/io_8c.html#af29c366cc0b8091e08b0c2f5b32ca59f">rb_eof_error</a></div><div class="ttdeci">void rb_eof_error(void)</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d0a/io_8c_source.html#l00455">io.c:455</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>