📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 08:47:58
📂
/ (Root)
/
opt
/
alt
/
ruby20
/
share
/
doc
/
ruby
/
capi
/
html
/
dd
/
d8f
📍 /opt/alt/ruby20/share/doc/ruby/capi/html/dd/d8f
🔄 Refresh
✏️
Editing: pty_8c.html
Read Only
<!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: ext/pty/pty.c File Reference</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  <span id="projectnumber">2.0.0p648(2015-12-16revision53162)</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&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_31cedd4509e06940f559c1ca2f722e02.html">ext</a></li><li class="navelem"><a class="el" href="../../dir_92df269f7e91531d5a5bb9ecb4efcd14.html">pty</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">pty.c File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include "ruby/config.h"</code><br /> <code>#include <stdlib.h></code><br /> <code>#include <stdio.h></code><br /> <code>#include <sys/types.h></code><br /> <code>#include <sys/stat.h></code><br /> <code>#include <sys/file.h></code><br /> <code>#include <fcntl.h></code><br /> <code>#include <errno.h></code><br /> <code>#include <pwd.h></code><br /> <code>#include <ctype.h></code><br /> <code>#include "<a class="el" href="../../de/de6/ruby_2ruby_8h_source.html">ruby/ruby.h</a>"</code><br /> <code>#include "<a class="el" href="../../dc/dac/io_8h_source.html">ruby/io.h</a>"</code><br /> <code>#include "<a class="el" href="../../d8/d3c/util_8h_source.html">ruby/util.h</a>"</code><br /> <code>#include "<a class="el" href="../../db/dde/internal_8h_source.html">internal.h</a>"</code><br /> <code>#include <<a class="el" href="../../d8/d39/signal_8h_source.html">signal.h</a>></code><br /> </div> <p><a href="../../dd/d8f/pty_8c_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d5e/structpty__info.html">pty_info</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d2d/structchild__info.html">child_info</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:aa2687811d048892a4fa1f14f74843767"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#aa2687811d048892a4fa1f14f74843767">WIFSTOPPED</a>(status)   (((status) & 0xff) == 0x7f)</td></tr> <tr class="separator:aa2687811d048892a4fa1f14f74843767"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5b88f0ae1cd96bdc7ae7eeb221f62dcc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a5b88f0ae1cd96bdc7ae7eeb221f62dcc">DEVICELEN</a>   16</td></tr> <tr class="separator:a5b88f0ae1cd96bdc7ae7eeb221f62dcc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa79d2d8da99968f604d504addb16a749"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#aa79d2d8da99968f604d504addb16a749">ERROR_EXIT</a>(str)</td></tr> <tr class="separator:aa79d2d8da99968f604d504addb16a749"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a81671afc1ac4177c0cb61156d947dafa"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a81671afc1ac4177c0cb61156d947dafa">echild_status</a> (<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> self)</td></tr> <tr class="separator:a81671afc1ac4177c0cb61156d947dafa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3de106505f4c320d77471a4c46c44ae6"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a3de106505f4c320d77471a4c46c44ae6">getDevice</a> (int *, int *, char [<a class="el" href="../../dd/d8f/pty_8c.html#a5b88f0ae1cd96bdc7ae7eeb221f62dcc">DEVICELEN</a>], int)</td></tr> <tr class="separator:a3de106505f4c320d77471a4c46c44ae6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2da11b5fcf910c47d411e664b11f22a9"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a2da11b5fcf910c47d411e664b11f22a9">chfunc</a> (void *data, char *errbuf, size_t errbuf_len)</td></tr> <tr class="separator:a2da11b5fcf910c47d411e664b11f22a9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1512b1c95107c3ba96de1fc9204b1a34"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a1512b1c95107c3ba96de1fc9204b1a34">establishShell</a> (int <a class="el" href="../../df/d77/ruby_8c.html#ad1447518f4372828b8435ae82e48499e">argc</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> *<a class="el" href="../../df/d77/ruby_8c.html#af2efa898e9eed6fe6715279cb1ec35b0">argv</a>, struct <a class="el" href="../../de/d5e/structpty__info.html">pty_info</a> *info, char SlaveName[<a class="el" href="../../dd/d8f/pty_8c.html#a5b88f0ae1cd96bdc7ae7eeb221f62dcc">DEVICELEN</a>])</td></tr> <tr class="separator:a1512b1c95107c3ba96de1fc9204b1a34"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afd8dc8b8520ec6a667ce7df9a8c0ca89"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#afd8dc8b8520ec6a667ce7df9a8c0ca89">no_mesg</a> (char *slavedevice, int nomesg)</td></tr> <tr class="separator:afd8dc8b8520ec6a667ce7df9a8c0ca89"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abda4634ba6bd9cde009fdee124ee35ec"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#abda4634ba6bd9cde009fdee124ee35ec">get_device_once</a> (int *master, int *slave, char SlaveName[<a class="el" href="../../dd/d8f/pty_8c.html#a5b88f0ae1cd96bdc7ae7eeb221f62dcc">DEVICELEN</a>], int nomesg, int <a class="el" href="../../d9/df5/date__strptime_8c.html#a73a3b169ac8c3419cbe15327e75ffcfd">fail</a>)</td></tr> <tr class="separator:abda4634ba6bd9cde009fdee124ee35ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac074e9f38d961c9108ea8b36f9eafcd4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#ac074e9f38d961c9108ea8b36f9eafcd4">pty_close_pty</a> (<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> assoc)</td></tr> <tr class="separator:ac074e9f38d961c9108ea8b36f9eafcd4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a478598f161d993f548646e8e0ee91eb4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a478598f161d993f548646e8e0ee91eb4">pty_open</a> (<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> klass)</td></tr> <tr class="separator:a478598f161d993f548646e8e0ee91eb4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4dcb85c2f6d019f528ff842deab7e614"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a4dcb85c2f6d019f528ff842deab7e614">pty_detach_process</a> (struct <a class="el" href="../../de/d5e/structpty__info.html">pty_info</a> *info)</td></tr> <tr class="separator:a4dcb85c2f6d019f528ff842deab7e614"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7a14cf743ff35d84f6b5bb4c36beefce"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a7a14cf743ff35d84f6b5bb4c36beefce">pty_getpty</a> (int <a class="el" href="../../df/d77/ruby_8c.html#ad1447518f4372828b8435ae82e48499e">argc</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> *<a class="el" href="../../df/d77/ruby_8c.html#af2efa898e9eed6fe6715279cb1ec35b0">argv</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> self)</td></tr> <tr class="separator:a7a14cf743ff35d84f6b5bb4c36beefce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2aa9ebd64000a94d8040d96d826e1622"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a2aa9ebd64000a94d8040d96d826e1622">NORETURN</a> (static void <a class="el" href="../../dd/d8f/pty_8c.html#a9dd2d57e0d0fecfc9b2f6ba890da08ff">raise_from_check</a>(pid_t pid, int status))</td></tr> <tr class="separator:a2aa9ebd64000a94d8040d96d826e1622"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9dd2d57e0d0fecfc9b2f6ba890da08ff"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a9dd2d57e0d0fecfc9b2f6ba890da08ff">raise_from_check</a> (pid_t pid, int status)</td></tr> <tr class="separator:a9dd2d57e0d0fecfc9b2f6ba890da08ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aefc582e128c2e93b1bc9d93ffab32567"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#aefc582e128c2e93b1bc9d93ffab32567">pty_check</a> (int <a class="el" href="../../df/d77/ruby_8c.html#ad1447518f4372828b8435ae82e48499e">argc</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> *<a class="el" href="../../df/d77/ruby_8c.html#af2efa898e9eed6fe6715279cb1ec35b0">argv</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> self)</td></tr> <tr class="separator:aefc582e128c2e93b1bc9d93ffab32567"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5150b26e0c6556b832bff37243566c30"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a5150b26e0c6556b832bff37243566c30">Init_pty</a> ()</td></tr> <tr class="separator:a5150b26e0c6556b832bff37243566c30"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a7cfb6199b39170e8d23dc26ca902e7b3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a7cfb6199b39170e8d23dc26ca902e7b3">eChildExited</a></td></tr> <tr class="separator:a7cfb6199b39170e8d23dc26ca902e7b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68ea0050033bc8dc943a0a8126fc0570"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d8f/pty_8c.html#a68ea0050033bc8dc943a0a8126fc0570">cPTY</a></td></tr> <tr class="separator:a68ea0050033bc8dc943a0a8126fc0570"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="a5b88f0ae1cd96bdc7ae7eeb221f62dcc"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5b88f0ae1cd96bdc7ae7eeb221f62dcc">◆ </a></span>DEVICELEN</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DEVICELEN   16</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00046">46</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00219">get_device_once()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00570">pty_getpty()</a>, and <a class="el" href="../../dd/d8f/pty_8c_source.html#l00505">pty_open()</a>.</p> </div> </div> <a id="aa79d2d8da99968f604d504addb16a749"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa79d2d8da99968f604d504addb16a749">◆ </a></span>ERROR_EXIT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ERROR_EXIT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">str</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div><div class="line"> strlcpy(errbuf, (str), errbuf_len); \</div><div class="line"> return -1; \</div><div class="line"> } <span class="keywordflow">while</span> (0)</div></div><!-- fragment --> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00086">chfunc()</a>.</p> </div> </div> <a id="aa2687811d048892a4fa1f14f74843767"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa2687811d048892a4fa1f14f74843767">◆ </a></span>WIFSTOPPED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define WIFSTOPPED</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">status</td><td>)</td> <td>   (((status) & 0xff) == 0x7f)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00028">28</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00609">raise_from_check()</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a2da11b5fcf910c47d411e664b11f22a9"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2da11b5fcf910c47d411e664b11f22a9">◆ </a></span>chfunc()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int chfunc </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>errbuf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>errbuf_len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00086">86</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../d0/d25/dup2_8c_source.html#l00027">dup2()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00082">child_info::eargp</a>, <a class="el" href="../../dd/d8f/pty_8c.html#aa79d2d8da99968f604d504addb16a749">ERROR_EXIT</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l02398">getuid()</a>, <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00784">i</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l02444">ioctl()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00079">child_info::master</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00209">rb_cloexec_open()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l03056">rb_exec_async_signal_safe()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00164">rb_update_max_fd()</a>, <a class="el" href="../../da/d6f/unistd_8h.html#a06cc492939370477434c5f382d9a5542">seteuid()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00079">child_info::slave</a>, and <a class="el" href="../../dd/d8f/pty_8c_source.html#l00080">child_info::slavename</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00151">establishShell()</a>, and <a class="el" href="../../d0/d85/process_8c_source.html#l03796">rb_f_system()</a>.</p> </div> </div> <a id="a81671afc1ac4177c0cb61156d947dafa"></a> <h2 class="memtitle"><span class="permalink"><a href="#a81671afc1ac4177c0cb61156d947dafa">◆ </a></span>echild_status()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> echild_status </td> <td>(</td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00066">66</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../dc/dcc/array_8c.html#a9cfa42d4b79c89d68c53be8b2150a503">rb_intern</a>, and <a class="el" href="../../d0/d2a/variable_8c_source.html#l01116">rb_ivar_get()</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">Init_pty()</a>.</p> </div> </div> <a id="a1512b1c95107c3ba96de1fc9204b1a34"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1512b1c95107c3ba96de1fc9204b1a34">◆ </a></span>establishShell()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void establishShell </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>argc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> * </td> <td class="paramname"><em>argv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="../../de/d5e/structpty__info.html">pty_info</a> * </td> <td class="paramname"><em>info</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>SlaveName</em>[DEVICELEN] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00151">151</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../df/d77/ruby_8c_source.html#l00130">argc</a>, <a class="el" href="../../df/d77/ruby_8c_source.html#l00131">argv</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00086">chfunc()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00073">pty_info::child_pid</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00082">child_info::eargp</a>, <a class="el" href="../../d4/db0/__sdbm_8c.html#ad65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00081">child_info::execarg_obj</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00072">pty_info::fd</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00450">getDevice()</a>, <a class="el" href="../../de/d32/dir_8c.html#aee28fd8a0e40b6d958f7d20348e45368">getenv()</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l02398">getuid()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00079">child_info::master</a>, <a class="el" href="../../d4/db0/__sdbm_8c_source.html#l00102">NULL</a>, <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00786">p</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00435">Qnil</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l02291">rb_execarg_fixup()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l02238">rb_execarg_get()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l02227">rb_execarg_new()</a>, <a class="el" href="../../db/dde/internal_8h.html#afa996821a6c4e8067a8302865520042a">rb_fork_async_signal_safe()</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00530">RB_GC_GUARD</a>, <a class="el" href="../../d3/d57/eval_8c_source.html#l00666">rb_jump_tag()</a>, <a class="el" href="../../db/d2e/intern_8h.html#ada1577ce4242b06ff5c1c52f37f5e679">rb_str_new2()</a>, <a class="el" href="../../db/dcc/error_8c_source.html#l01907">rb_sys_fail()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00079">child_info::slave</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00080">child_info::slavename</a>, and <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00798">v</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00570">pty_getpty()</a>.</p> </div> </div> <a id="abda4634ba6bd9cde009fdee124ee35ec"></a> <h2 class="memtitle"><span class="permalink"><a href="#abda4634ba6bd9cde009fdee124ee35ec">◆ </a></span>get_device_once()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int get_device_once </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"><em>master</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>slave</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>SlaveName</em>[DEVICELEN], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nomesg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>fail</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00219">219</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../d5/df2/win32_8c_source.html#l04075">chown()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00046">DEVICELEN</a>, <a class="el" href="../../d9/df5/date__strptime_8c_source.html#l00118">fail</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l02412">getgid()</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l02398">getuid()</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l02444">ioctl()</a>, <a class="el" href="../../dc/db1/win32_8h_source.html#l00100">mode_t</a>, <a class="el" href="../../d6/da0/nkf-utf8_2nkf_8c_source.html#l00208">name</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00210">no_mesg()</a>, <a class="el" href="../../d4/db0/__sdbm_8c_source.html#l00102">NULL</a>, <a class="el" href="../../d0/dd4/dbm_8c.html#ad6d8fbe4e494b4dbe051612572d3f757">O_CLOEXEC</a>, <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00786">p</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00209">rb_cloexec_open()</a>, <a class="el" href="../../db/dcc/error_8c_source.html#l00515">rb_eRuntimeError</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00202">rb_fd_fix_cloexec()</a>, <a class="el" href="../../db/dcc/error_8c_source.html#l01788">rb_raise()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00164">rb_update_max_fd()</a>, <a class="el" href="../../d1/d68/missing-pips_8c.html#af0f8ed40d30773bdb68e858ef0139b58">signal()</a>, <a class="el" href="../../d7/d72/subst_8h_source.html#l00006">snprintf</a>, and <a class="el" href="../../d2/d37/strlcpy_8c_source.html#l00044">strlcpy()</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00450">getDevice()</a>.</p> </div> </div> <a id="a3de106505f4c320d77471a4c46c44ae6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3de106505f4c320d77471a4c46c44ae6">◆ </a></span>getDevice()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void getDevice </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"><em>master</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>slave</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>SlaveName</em>[DEVICELEN], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nomesg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00450">450</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../dd/d8f/pty_8c_source.html#l00219">get_device_once()</a>, and <a class="el" href="../../d8/d16/gc_8c_source.html#l03110">rb_gc()</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00151">establishShell()</a>, and <a class="el" href="../../dd/d8f/pty_8c_source.html#l00505">pty_open()</a>.</p> </div> </div> <a id="a5150b26e0c6556b832bff37243566c30"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5150b26e0c6556b832bff37243566c30">◆ </a></span>Init_pty()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Init_pty </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">739</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../dd/d8f/pty_8c_source.html#l00670">cPTY</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00066">echild_status()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00060">eChildExited</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00654">pty_check()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00570">pty_getpty()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00505">pty_open()</a>, <a class="el" href="../../d9/d0c/class_8c_source.html#l00534">rb_define_class_under()</a>, <a class="el" href="../../d9/d0c/class_8c_source.html#l01344">rb_define_method()</a>, <a class="el" href="../../d9/d0c/class_8c_source.html#l00606">rb_define_module()</a>, <a class="el" href="../../d9/d0c/class_8c_source.html#l01512">rb_define_module_function()</a>, <a class="el" href="../../d9/d0c/class_8c_source.html#l01497">rb_define_singleton_method()</a>, and <a class="el" href="../../db/dcc/error_8c_source.html#l00515">rb_eRuntimeError</a>.</p> </div> </div> <a id="afd8dc8b8520ec6a667ce7df9a8c0ca89"></a> <h2 class="memtitle"><span class="permalink"><a href="#afd8dc8b8520ec6a667ce7df9a8c0ca89">◆ </a></span>no_mesg()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int no_mesg </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>slavedevice</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nomesg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00210">210</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00219">get_device_once()</a>.</p> </div> </div> <a id="a2aa9ebd64000a94d8040d96d826e1622"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2aa9ebd64000a94d8040d96d826e1622">◆ </a></span>NORETURN()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NORETURN </td> <td>(</td> <td class="paramtype">static void  </td> <td class="paramname"><em>raise_from_check</em>pid_t pid, int status</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="aefc582e128c2e93b1bc9d93ffab32567"></a> <h2 class="memtitle"><span class="permalink"><a href="#aefc582e128c2e93b1bc9d93ffab32567">◆ </a></span>pty_check()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> pty_check </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>argc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> * </td> <td class="paramname"><em>argv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td> <td class="paramname"><em>self</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00654">654</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../df/d77/ruby_8c_source.html#l00130">argc</a>, <a class="el" href="../../df/d77/ruby_8c_source.html#l00131">argv</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00332">NUM2PIDT</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00435">Qnil</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00609">raise_from_check()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l00309">rb_last_status_get()</a>, <a class="el" href="../../d9/d0c/class_8c_source.html#l01570">rb_scan_args()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l00746">rb_waitpid()</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00445">RTEST</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00040">UNREACHABLE</a>, and <a class="el" href="../../dc/db1/win32_8h_source.html#l00109">WNOHANG</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">Init_pty()</a>.</p> </div> </div> <a id="ac074e9f38d961c9108ea8b36f9eafcd4"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac074e9f38d961c9108ea8b36f9eafcd4">◆ </a></span>pty_close_pty()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> pty_close_pty </td> <td>(</td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td> <td class="paramname"><em>assoc</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00459">459</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00784">i</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00435">Qnil</a>, <a class="el" href="../../dc/dcc/array_8c_source.html#l01088">rb_ary_entry()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l04233">rb_io_close()</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l01537">RB_TYPE_P</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l01107">RFILE</a>, and <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00496">T_FILE</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00505">pty_open()</a>.</p> </div> </div> <a id="a4dcb85c2f6d019f528ff842deab7e614"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4dcb85c2f6d019f528ff842deab7e614">◆ </a></span>pty_detach_process()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> pty_detach_process </td> <td>(</td> <td class="paramtype">struct <a class="el" href="../../de/d5e/structpty__info.html">pty_info</a> * </td> <td class="paramname"><em>info</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00535">535</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../dd/d8f/pty_8c_source.html#l00073">pty_info::child_pid</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00435">Qnil</a>, and <a class="el" href="../../d0/d85/process_8c_source.html#l01015">rb_detach_process()</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00570">pty_getpty()</a>.</p> </div> </div> <a id="a7a14cf743ff35d84f6b5bb4c36beefce"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7a14cf743ff35d84f6b5bb4c36beefce">◆ </a></span>pty_getpty()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> pty_getpty </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>argc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> * </td> <td class="paramname"><em>argv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td> <td class="paramname"><em>self</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00570">570</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../df/d77/ruby_8c_source.html#l00130">argc</a>, <a class="el" href="../../df/d77/ruby_8c_source.html#l00131">argv</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00073">pty_info::child_pid</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00046">DEVICELEN</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00151">establishShell()</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00072">pty_info::fd</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00107">FMODE_SYNC</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00129">MakeOpenFile</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00329">PIDT2NUM</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00535">pty_detach_process()</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00435">Qnil</a>, <a class="el" href="../../dc/dcc/array_8c_source.html#l00417">rb_ary_new2()</a>, <a class="el" href="../../dc/dcc/array_8c_source.html#l00719">rb_ary_store()</a>, <a class="el" href="../../d3/d57/eval_8c_source.html#l00672">rb_block_given_p()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00138">rb_cFile</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00225">rb_cloexec_dup()</a>, <a class="el" href="../../d3/d57/eval_8c_source.html#l00804">rb_ensure()</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00192">rb_io_mode_flags</a>, <a class="el" href="../../d0/de1/object_8c_source.html#l01740">rb_obj_alloc()</a>, <a class="el" href="../../d0/de1/object_8c_source.html#l01012">rb_obj_freeze()</a>, <a class="el" href="../../d1/db0/string_8c_source.html#l00447">rb_str_new_cstr()</a>, <a class="el" href="../../db/dcc/error_8c_source.html#l01907">rb_sys_fail()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l00164">rb_update_max_fd()</a>, and <a class="el" href="../../d3/d80/vm__eval_8c_source.html#l00933">rb_yield()</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">Init_pty()</a>.</p> </div> </div> <a id="a478598f161d993f548646e8e0ee91eb4"></a> <h2 class="memtitle"><span class="permalink"><a href="#a478598f161d993f548646e8e0ee91eb4">◆ </a></span>pty_open()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> pty_open </td> <td>(</td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td> <td class="paramname"><em>klass</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00505">505</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../dd/d8f/pty_8c_source.html#l00046">DEVICELEN</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00064">rb_io_t::fd</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00109">FMODE_DUPLEX</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00105">FMODE_READWRITE</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00107">FMODE_SYNC</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00108">FMODE_TTY</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00450">getDevice()</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00129">MakeOpenFile</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00066">rb_io_t::mode</a>, <a class="el" href="../../dc/dac/io_8h_source.html#l00069">rb_io_t::pathv</a>, <a class="el" href="../../dd/d8f/pty_8c_source.html#l00459">pty_close_pty()</a>, <a class="el" href="../../dc/dcc/array_8c_source.html#l00545">rb_assoc_new()</a>, <a class="el" href="../../d3/d57/eval_8c_source.html#l00672">rb_block_given_p()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l00138">rb_cFile</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l01442">rb_cIO</a>, <a class="el" href="../../d3/d57/eval_8c_source.html#l00804">rb_ensure()</a>, <a class="el" href="../../d0/de1/object_8c_source.html#l01740">rb_obj_alloc()</a>, <a class="el" href="../../d0/de1/object_8c_source.html#l01012">rb_obj_freeze()</a>, <a class="el" href="../../d9/d2d/sprintf_8c_source.html#l01275">rb_sprintf()</a>, <a class="el" href="../../d1/db0/string_8c_source.html#l00447">rb_str_new_cstr()</a>, and <a class="el" href="../../d3/d80/vm__eval_8c_source.html#l00933">rb_yield()</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">Init_pty()</a>.</p> </div> </div> <a id="a9dd2d57e0d0fecfc9b2f6ba890da08ff"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9dd2d57e0d0fecfc9b2f6ba890da08ff">◆ </a></span>raise_from_check()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void raise_from_check </td> <td>(</td> <td class="paramtype">pid_t </td> <td class="paramname"><em>pid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>status</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00609">609</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">References <a class="el" href="../../dd/d8f/pty_8c_source.html#l00060">eChildExited</a>, <a class="el" href="../../d5/df2/win32_8c_source.html#l04089">kill()</a>, <a class="el" href="../../d5/d04/strerror_8c_source.html#l00008">msg</a>, <a class="el" href="../../db/dcc/error_8c_source.html#l00553">rb_exc_new3()</a>, <a class="el" href="../../d3/d57/eval_8c_source.html#l00527">rb_exc_raise()</a>, <a class="el" href="../../d0/d2a/variable_8c_source.html#l02594">rb_iv_set()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l00309">rb_last_status_get()</a>, <a class="el" href="../../d9/d2d/sprintf_8c_source.html#l01275">rb_sprintf()</a>, and <a class="el" href="../../dd/d8f/pty_8c_source.html#l00028">WIFSTOPPED</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00654">pty_check()</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="a68ea0050033bc8dc943a0a8126fc0570"></a> <h2 class="memtitle"><span class="permalink"><a href="#a68ea0050033bc8dc943a0a8126fc0570">◆ </a></span>cPTY</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> cPTY</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00670">670</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">Init_pty()</a>.</p> </div> </div> <a id="a7cfb6199b39170e8d23dc26ca902e7b3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7cfb6199b39170e8d23dc26ca902e7b3">◆ </a></span>eChildExited</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> eChildExited</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dd/d8f/pty_8c_source.html#l00060">60</a> of file <a class="el" href="../../dd/d8f/pty_8c_source.html">pty.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../dd/d8f/pty_8c_source.html#l00739">Init_pty()</a>, and <a class="el" href="../../dd/d8f/pty_8c_source.html#l00609">raise_from_check()</a>.</p> </div> </div> </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.14 </small></address> </body> </html>
💾 Save Changes
❌ Cancel