969955 | 2002-03-12 | Martin Nilsson | | <!doctype html><html><head><title>Pike Reference Manual</title>
<meta charset='utf-8'></head>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <body><dl><dt><h1 class='header'>9. I/O</h1></dt><dd><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.File</b></h2>
</dt><dd><dl class='group--doc'>
<dt class='head--doc'>Description</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>This is the basic I/O object, it provides socket and pipe
communication as well as file access. It does not buffer reads and
writes or provide line-by-line reading, that is done with
<code>Stdio.FILE</code> object.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The file or stream will normally be closed when this object is
destructed (unless there are more objects that refer to the same
file through use of <code>assign</code> or <code>dup</code>). Objects do not contain
cyclic references in themselves, so they will be destructed timely
when they run out of references.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>Stdio.FILE</code></p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>assign</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>assign</span>(</b><code class='object unresolved'>File</code>|<code class='object unresolved'>Fd</code> <code class='argument'>o</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function takes a clone of Stdio.File and assigns all
variables of this file from it. It can be used together with <code>dup()</code>
to move files around.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>dup()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>async_connect</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>async_connect</span>(</b><code class='datatype'>string</code> <code class='argument'>host</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>function</code>(<code class='datatype'>int</code>, <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>callback</code>, <code class='datatype'>mixed</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Open a TCP/IP connection asynchronously.</p>
<p> This function is similar to <code>connect()</code>, but works asynchronously.</p>
</dd>
<dt class='head--doc'><span id='p-host'></span>Parameter <code class='parameter'>host</code></dt>
<dd></dd><dd class='body--doc'><p>Hostname or IP to connect to.</p>
</dd>
<dt class='head--doc'><span id='p-port'></span>Parameter <code class='parameter'>port</code></dt>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <dd></dd><dd class='body--doc'><p>Port number or service name to connect to.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'><span id='p-callback'></span>Parameter <code class='parameter'>callback</code></dt>
<dd></dd><dd class='body--doc'><p>Function to be called on completion.
|
84ea4e | 2003-04-07 | Martin Nilsson | | The first argument will be <code class='expr'>1</code> if a connection was
successfully estabished, and <code class='expr'>0</code> (zero) on failure.
|
c3fe74 | 2003-02-05 | Martin Nilsson | | The rest of the arguments to <code>callback</code> are passed
verbatim from <code>args</code>.</p>
</dd>
<dt class='head--doc'><span id='p-args'></span>Parameter <code class='parameter'>args</code></dt>
<dd></dd><dd class='body--doc'><p>Extra arguments to pass to <code>callback</code>.</p>
</dd>
<dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>Returns <code class='expr'>0</code> on failure, and <code class='expr'>1</code> if <code>callback</code>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | will be used.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The socket may be opened with <code>open_socket()</code> ahead of
the call to this function, but it is not required.</p>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>This object is put in callback mode by this function. For
<code>callback</code> to be called, the backend must be active. See e.g.
<code>set_read_callback</code> for more details about backends and
callback mode.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The socket will be in nonblocking state if the connection is
successful, and any callbacks will be cleared.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>connect()</code>, <code>open_socket()</code>, <code>set_nonblocking()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>close</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>close</span>(</b><b>)</b></code><br>
<code><code class='datatype'>int</code> <b><span class='method'>close</span>(</b><code class='datatype'>string</code> <code class='argument'>direction</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Close the file. Optionally, specify "r", "w" or "rw" to close just
the read, just the write or both read and write directions of the file
respectively.</p>
|
d69f95 | 2003-10-22 | Martin Stjernholm | | <p> An exception is thrown if an I/O error occurs.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Nonzero is returned if the file wasn't open in the specified
direction, zero otherwise.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>This function will not call the <tt>close_callback</tt>.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>open</code>, <code>open_socket</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>connect</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>connect</span>(</b><code class='datatype'>string</code> <code class='argument'>host</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>client</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>client_port</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function connects a socket previously created with
<code>open_socket()</code> to a remote socket through TCP/IP. The
<code>host</code> argument is the hostname or IP number of the remote machine.
A local IP and port can be explicitly bound by specifying <code>client</code>
and <code>client_port</code>.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>This function returns 1 for success, 0 otherwise.</p>
</dd>
<dt class='head--doc'>Note</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>In nonblocking mode <code class='expr'>0</code> (zero) may be returned and
<code>errno()</code> set to <code class='expr'>EWOULDBLOCK</code> or
<code class='expr'>WSAEWOULDBLOCK</code>. This should not be regarded as a
connection failure. In nonblocking mode you need to wait for a
write or close callback before you know if the connection failed
or not.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>query_address()</code>, <code>async_connect()</code>, <code>connect_unix()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>connect_unix</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>connect_unix</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Open a UNIX domain socket connection to the specified destination.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success, and <code class='expr'>0</code> on failure.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Nonblocking mode is not supported while connecting</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>create</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><b>)</b></code><br>
<code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><code class='datatype'>string</code> <code class='argument'>filename</code><b>)</b></code><br>
<code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code><b>)</b></code><br>
<code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code>, <code class='datatype'>int</code> <code class='argument'>mask</code><b>)</b></code><br>
<code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><code class='datatype'>string</code> <code class='argument'>descriptorname</code><b>)</b></code><br>
<code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><code class='datatype'>int</code> <code class='argument'>fd</code><b>)</b></code><br>
<code><span class='object'>Stdio.File</span> <span class='class'>Stdio.File</span><b>(</b><code class='datatype'>int</code> <code class='argument'>fd</code>, <code class='datatype'>string</code> <code class='argument'>mode</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>There are four basic ways to create a Stdio.File object.
The first is calling it without any arguments, in which case the you'd
have to call <code>open()</code>, <code>connect()</code> or some other method which connects
the File object with a stream.</p>
<p> The second way is calling it with a <code>filename</code> and open <code>mode</code>. This is
the same thing as cloning and then calling <code>open()</code>, except shorter and
faster.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> The third way is to call it with <code>descriptorname</code> of <code class='expr'>"stdin"</code>,
<code class='expr'>"stdout"</code> or <code class='expr'>"stderr"</code>. This will open the specified
|
c3fe74 | 2003-02-05 | Martin Nilsson | | standard stream.</p>
<p> For the advanced users, you can use the file descriptors of the
systems (note: emulated by pike on some systems - like NT). This is
only useful for streaming purposes on unix systems. This is <b>not
recommended at all</b> if you don't know what you're into. Default
|
84ea4e | 2003-04-07 | Martin Nilsson | | <code>mode</code> for this is <code class='expr'>"rw"</code>.</p>
|
715b8a | 2002-10-12 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Open mode will be filtered through the system UMASK. You
might need to use <code>chmod()</code> later.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>open()</code>, <code>connect()</code>, <code>Stdio.FILE</code>,</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>dup</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>File</code> <b><span class='method'>dup</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function returns a clone of Stdio.File with all variables
copied from this file.</p>
|
715b8a | 2002-10-12 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>All variables, even <tt>id</tt>, are copied.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>assign()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>errno</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns the error code for the last command on this file.
Error code is normally cleared when a command is successful.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>Fd_ref</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='datatype'><code class='modifier'>optional</code> inherit Fd_ref</span> : <span class='inherit'>Fd_ref</span></code></p></dd>
</dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>line_iterator</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
88ba44 | 2003-04-21 | Henrik Grubbström (Grubba) | | <dd><p><code><code class='object unresolved'>String.SplitIterator</code>|<code class='object unresolved'>LineIterator</code> <b><span class='method'>line_iterator</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>trim</code><b>)</b></code></p></dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Returns an iterator that will loop over the lines in this file.
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | If trim is true, all <tt>'\r'</tt> characters will be removed from
the input.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>open</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>open</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code><b>)</b></code><br>
<code><code class='datatype'>int</code> <b><span class='method'>open</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code>, <code class='datatype'>int</code> <code class='argument'>mask</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Open a file for read, write or append. The parameter <code>mode</code> should
contain one or more of the following letters:</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <table class='box'><tr><td><code><code class='key'>"r"</code></code></td><td><p>Open file for reading.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </td></tr>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <tr><td><code><code class='key'>"w"</code></code></td><td><p>Open file for writing.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </td></tr>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <tr><td><code><code class='key'>"a"</code></code></td><td><p>Open file for append (use with <code class='expr'>"w"</code>).</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </td></tr>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <tr><td><code><code class='key'>"t"</code></code></td><td><p>Truncate file at open (use with <code class='expr'>"w"</code>).</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </td></tr>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <tr><td><code><code class='key'>"c"</code></code></td><td><p>Create file if it doesn't exist (use with <code class='expr'>"w"</code>).</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </td></tr>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <tr><td><code><code class='key'>"x"</code></code></td><td><p>Fail if file already exists (use with <code class='expr'>"c"</code>).</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </td></tr>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </table><p><code>mode</code> should always contain at least one of the letters
<code class='expr'>"r"</code> or <code class='expr'>"w"</code>.</p>
<p> The parameter <code>mask</code> is protection bits to use if the file is
created. Default is <code class='expr'>0666</code> (read+write for all in octal
notation).</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>This function returns <code class='expr'>1</code> for success, <code class='expr'>0</code> otherwise.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>close()</code>, <code>create()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>open_socket</b></span>
</dt>
|
4ed3b7 | 2003-04-26 | Marcus Comstedt | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>open_socket</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>port</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>address</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>family</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This makes this file into a socket ready for connections. The reason
for this function is so that you can set the socket to nonblocking
or blocking (default is blocking) before you call <code>connect()</code>.</p>
<p> If you give a <code>port</code> number to this function, the socket will be
bound to this <code>port</code> locally before connecting anywhere. This is
only useful for some silly protocols like <b>FTP</b>. You may also
specify an <code>address</code> to bind to if your machine has many IP numbers.</p>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <p> <code>port</code> can also be specified as a string, giving the name of the
service associated with the port.</p>
|
4ed3b7 | 2003-04-26 | Marcus Comstedt | | <p> Finally, a protocol <code>family</code> for the socket can be specified.
If no <code>family</code> is specified, one which is appropriate for the
<code>address</code> is automatically selected. Thus, there is normally
no need to specify it.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>This function returns 1 for success, 0 otherwise.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>connect()</code>, <code>set_nonblocking()</code>, <code>set_blocking()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
f7707e | 2008-03-07 | Henrik Grubbström (Grubba) | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>openat</b></span>
</dt>
<dd><p><code><code class='object unresolved'>File</code> <b><span class='method'>openat</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code><b>)</b></code><br>
<code><code class='object unresolved'>File</code> <b><span class='method'>openat</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code>, <code class='datatype'>int</code> <code class='argument'>mask</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Open a file relative to an open directory.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>File.statat()</code>, <code>File.unlinkat()</code></p>
</dd></dl>
|
1f71bf | 2003-05-15 | Marcus Comstedt | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>openpt</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>openpt</span>(</b><code class='datatype'>string</code> <code class='argument'>mode</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Open the master end of a pseudo-terminal pair. The parameter
<code>mode</code> should contain one or more of the following letters:</p>
<table class='box'><tr><td><code><code class='key'>"r"</code></code></td><td><p>Open terminal for reading.</p>
</td></tr>
<tr><td><code><code class='key'>"w"</code></code></td><td><p>Open terminal for writing.</p>
</td></tr>
</table><p><code>mode</code> should always contain at least one of the letters
<code class='expr'>"r"</code> or <code class='expr'>"w"</code>.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>grantpt()</code></p>
</dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
196a87 | 2008-06-13 | Henrik Grubbström (Grubba) | | <span class='homogen--name'><b>pipe</b></span>
|
1f71bf | 2003-05-15 | Marcus Comstedt | | </dt>
|
196a87 | 2008-06-13 | Henrik Grubbström (Grubba) | | <dd><p><code><code class='object unresolved'>File</code> <b><span class='method'>pipe</span>(</b><code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>required_properties</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
25eb8a | 2003-10-05 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>This function creates a pipe between the object it was called in
and an object that is returned.</p>
</dd>
|
9cb471 | 2003-10-08 | Martin Nilsson | | <dt class='head--doc'><span id='p-required_properties'></span>Parameter <code class='parameter'>required_properties</code></dt>
|
25eb8a | 2003-10-05 | Henrik Grubbström (Grubba) | | <dd></dd><dd class='body--doc'><p>Binary or (<code>predef::`|()</code>) of required <code class='expr'>PROP_</code> properties.</p>
<table class='box'><tr><td><code><code class='key'>PROP_IPC</code></code></td><td><p>The resulting pipe may be used for inter process communication.</p>
</td></tr>
<tr><td><code><code class='key'>PROP_NONBLOCK</code></code></td><td><p>The resulting pipe supports nonblocking I/O.</p>
</td></tr>
<tr><td><code><code class='key'>PROP_SHUTDOWN</code></code></td><td><p>The resulting pipe supports shutting down transmission in either
direction (see <code>close()</code>).</p>
</td></tr>
<tr><td><code><code class='key'>PROP_BUFFERED</code></code></td><td><p>The resulting pipe is buffered (usually 4KB).</p>
</td></tr>
<tr><td><code><code class='key'>PROP_BIDIRECTIONAL</code></code></td><td><p>The resulting pipe is bi-directional.</p>
</td></tr>
<tr><td><code><code class='key'>PROP_REVERSE</code></code></td><td><p>The resulting pipe supports communication "backwards" (but
not necessarily "forwards", see <code>PROP_BIDIRECTIONAL</code>).</p>
</td></tr>
</table><p>The default is <code class='expr'>PROP_NONBLOCK|PROP_BIDIRECTIONAL</code>.</p>
<p> If <code>PROP_BIDIRECTIONAL</code> isn't specified, the read-end is this
object, and the write-end is the returned object (unless
<code>PROP_REVERSE</code> has been specified, in which case it is the other
way around).</p>
<p> The two ends of a bi-directional pipe are indistinguishable.</p>
<p> If the File object this function is called in was open to begin with,
it will be closed before the pipe is created.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Calling this function with an argument of <tt>0</tt> is not the
same as calling it with no arguments.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
25eb8a | 2003-10-05 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p><code>Process.create_process()</code>, <code>PROP_IPC</code>, <code>PROP_NONBLOCK</code>,
<code>PROP_SHUTDOWN</code>, <code>PROP_BUFFERED</code>, <code>PROP_REVERSE</code>,
<code>PROP_BIDIRECTIONAL</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <span class='homogen--name'><b>query_read_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>query_write_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>query_read_oob_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>query_write_oob_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>query_close_callback</b></span><br>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <b><span class='method'>query_read_callback</span>(</b><b>)</b></code><br>
<code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_write_callback</span>(</b><b>)</b></code><br>
<code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <b><span class='method'>query_read_oob_callback</span>(</b><b>)</b></code><br>
<code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_write_oob_callback</span>(</b><b>)</b></code><br>
<code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_close_callback</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>These functions return the currently installed callbacks for the
respective events.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p><code>set_nonblocking()</code>, <code>set_read_callback</code>,
<code>set_write_callback</code>, <code>set_read_oob_callback</code>,
<code>set_write_oob_callback</code>, <code>set_close_callback</code></p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>query_id</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>query_id</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function returns the <tt>id</tt> that has been set with <code>set_id()</code>.</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>set_id()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>read_function</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>function</code>(:<code class='datatype'>string</code>) <b><span class='method'>read_function</span>(</b><code class='datatype'>int</code> <code class='argument'>nbytes</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns a function that when called will call <code>read</code> with
nbytes as argument. Can be used to get various callback
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | functions, eg for the fourth argument to
<code>String.SplitIterator</code>.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_blocking</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd>
|
1f918f | 2002-05-26 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>This function clears all callbacks and sets a stream to blocking
mode. i.e. reading, writing and closing will wait until data has
been transferred before returning.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dt class='head--doc'>Note</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>The callbacks are cleared and blocking mode is set in one atomic
operation, so no callback gets called in between if the backend
is running in another thread.</p>
<p> Even so, if the stream is in callback mode (i.e. if any
callbacks are installed) then only the backend thread can use
this function reliably; it might otherwise already be running in
a callback which is about to call e.g. <code>write</code> when the stream
becomes blocking.</p>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p><code>set_nonblocking()</code>, <code>set_nonblocking_keep_callbacks()</code>,
<code>set_blocking_keep_callbacks()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_nonblocking_keep_callbacks</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_blocking_keep_callbacks</b></span><br>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking_keep_callbacks</span>(</b><b>)</b></code><br>
<code><code class='datatype'>void</code> <b><span class='method'>set_blocking_keep_callbacks</span>(</b><b>)</b></code></p></dd>
|
1f918f | 2002-05-26 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Toggle between blocking and nonblocking,
without changing the callbacks.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>set_nonblocking()</code>, <code>set_blocking()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <span class='homogen--name'><b>set_read_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_write_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_read_oob_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_write_oob_callback</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_close_callback</b></span><br>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_cb</code><b>)</b></code><br>
<code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_cb</code><b>)</b></code><br>
<code><code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_oob_cb</code><b>)</b></code><br>
<code><code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_oob_cb</code><b>)</b></code><br>
<code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_cb</code><b>)</b></code></p></dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>These functions set the various callbacks, which will be called
when various events occur on the stream. A zero as argument will
|
ee845b | 2004-04-05 | Martin Stjernholm | | remove the callback.</p>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <p> A <code>Pike.Backend</code> object is responsible for calling the
callbacks. It requires a thread to be waiting in it to execute
the calls. That means that only one of the callbacks will be
running at a time, so you don't need mutexes between them.</p>
<p> Unless you've specified otherwise with the <code>set_backend</code>
function, the default backend <code>Pike.DefaultBackend</code> will be
used. It's normally activated by returning <code class='expr'>-1</code> from the
<tt>main</tt> function and will then execute in the main thread.</p>
<ul>
<li><p>When data arrives on the stream, <code>read_cb</code> will be called with
some or all of that data as the second argument.</p>
</li><li><p>When the stream has buffer space over for writing, <code>write_cb</code>
will be called so that you can write more data to it.</p>
|
fc8e99 | 2005-01-26 | Martin Stjernholm | | <p> This callback is also called after the remote end of a socket
|
09a3a0 | 2005-01-26 | Martin Stjernholm | | connection has closed the write direction. An attempt to write
data to it in that case will generate a <code>System.EPIPE</code> errno.
If the remote end has closed both directions simultaneously
(the usual case), Pike will first attempt to call <code>close_cb</code>,
then this callback (unless <code>close_cb</code> has closed the stream).</p>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | </li><li><p>When out-of-band data arrives on the stream, <code>read_oob_cb</code>
will be called with some or all of that data as the second
argument.</p>
</li><li><p>When the stream allows out-of-band data to be sent,
<code>write_oob_cb</code> will be called so that you can write more
out-of-band data to it.</p>
|
fc8e99 | 2005-01-26 | Martin Stjernholm | | <p> If the OS doesn't separate the write events for normal and
out-of-band data, Pike will try to call <code>write_oob_cb</code> first.
If it doesn't write anything, then <code>write_cb</code> will be tried.
This also means that <code>write_oob_cb</code> might get called when the
|
09a3a0 | 2005-01-26 | Martin Stjernholm | | remote end of a connection has closed the write direction.</p>
|
fc8e99 | 2005-01-26 | Martin Stjernholm | | </li><li><p>When an error or an end-of-stream in the read direction
occurs, <code>close_cb</code> will be called. <code>errno</code> will return the
error, or zero in the case of an end-of-stream.</p>
<p> The name of this callback is rather unfortunate since it
really has nothing to do with a close: The stream is still
open when <code>close_cb</code> is called (you might not be able to read
and/or write to it, but you can still use things like
<code>query_address</code>, and the underlying file descriptor is still
allocated). Also, this callback will not be called for a local
close, neither by a call to <code>close</code> or by destructing this
object.</p>
|
09a3a0 | 2005-01-26 | Martin Stjernholm | | <p> Also, <code>close_cb</code> will not be called if a remote close only
occurs in the write direction; that is handled by <code>write_cb</code>
(or possibly <code>write_oob_cb</code>).</p>
<p> Events to <code>read_cb</code> and <code>close_cb</code> will be automatically
deregistered if an end-of-stream occurs, and all events in the
case of an error. I.e. there won't be any more calls to the
callbacks unless they are reinstalled. This doesn't affect the
|
fc8e99 | 2005-01-26 | Martin Stjernholm | | callback settings - <code>query_read_callback</code> et al will still
return the installed callbacks.</p>
|
09a3a0 | 2005-01-26 | Martin Stjernholm | | </li></ul><p>If the stream is a socket performing a nonblocking connect (see
<code>open_socket</code> and <code>connect</code>), a connection failure will call
<code>close_cb</code>, and a successful connect will call either
<code>read_cb</code> or <code>write_cb</code> as above.</p>
<p> All callbacks will receive the <tt>id</tt> set by <code>set_id</code> as
|
7770c9 | 2003-10-29 | Martin Stjernholm | | first argument.</p>
<p> If a callback returns <code class='expr'>-1</code>, no other callback or call out
will be called by the backend in that round. I.e. the caller of
the backend will get control back right away. For the default
backend that means it will immediately start another round and
check files and call outs anew.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>These functions do not set the file nonblocking.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dt class='head--doc'>Note</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>Callbacks are also set by <code>set_nonblocking()</code>.</p>
</dd>
<dt class='head--doc'>Note</dt>
|
636993 | 2004-04-05 | Martin Stjernholm | | <dd class='body--doc'><p>After a callback has been called, it's disabled until it has
accessed the stream accordingly, i.e. the <code>write_cb</code> callback
is disabled after it's been called until something has been
written with <code>write</code>, and the <code>write_oob_cb</code> callback is
likewise disabled until something has been written with
<code>write_oob</code>. Since the data already has been read when the read
callbacks are called, this effect is not noticeable for them.</p>
|
ee845b | 2004-04-05 | Martin Stjernholm | | </dd>
<dt class='head--doc'>Note</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>Installing callbacks means that you will start doing I/O on the
stream from the thread running the backend. If you are running
these set functions from another thread you must be prepared
that the callbacks can be called immediately by the backend
thread, so it might not be safe to continue using the stream in
this thread.</p>
<p> Because of that, it's useful to talk about "callback mode" when
any callback is installed. In callback mode the stream should be
seen as "bound" to the backend thread. For instance, it's only
the backend thread that reliably can end callback mode before
the stream is "handed over" to another thread.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Callback mode has nothing to do with nonblocking mode - although
the two often are used together they don't have to be.</p>
</dd>
<dt class='head--doc'>Note</dt>
|
ee845b | 2004-04-05 | Martin Stjernholm | | <dd class='body--doc'><p>The file object will stay referenced from the backend object as
long as there are callbacks that can receive events.</p>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | </dd>
<dt class='head--doc'>Bugs</dt>
<dd class='body--doc'><p>Setting a close callback without a read callback currently only
works when there's no risk of getting more data on the stream.
Otherwise the close callback will be silently deregistered if
data arrives.</p>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p><code>set_nonblocking()</code>, <code>set_id()</code>, <code>set_backend</code>,
<code>query_read_callback</code>, <code>query_write_callback</code>,
<code>query_read_oob_callback</code>, <code>query_write_oob_callback</code>,
<code>query_close_callback</code></p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_id</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_id</span>(</b><code class='datatype'>mixed</code> <code class='argument'>id</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function sets the <tt>id</tt> of this file. The <tt>id</tt> is mainly
used as an identifier that is sent as the first argument to all
|
84ea4e | 2003-04-07 | Martin Nilsson | | callbacks. The default <tt>id</tt> is <code class='expr'>0</code> (zero). Another possible
|
c3fe74 | 2003-02-05 | Martin Nilsson | | use of the <tt>id</tt> is to hold all data related to this file in a
mapping or array.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>query_id()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
45eff8 | 2002-06-11 | Johan Sundström | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_nonblocking</b></span>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dt>
|
4ea711 | 2003-10-24 | Martin Stjernholm | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_callback</code><b>)</b></code><br>
<code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_oob_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_oob_callback</code><b>)</b></code><br>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><b>)</b></code></p></dd>
|
45eff8 | 2002-06-11 | Johan Sundström | |
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>This function sets a stream to nonblocking mode and installs the
specified callbacks. See the <code class='expr'>set_*_callback</code> functions
for details about them. If no arguments are given, the callbacks
will be cleared.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p>As opposed to calling the set callback functions separately,
this function will set all the callbacks and nonblocking mode
atomically so that no callback gets called in between. That
avoids races in case the backend is executed by another thread.</p>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | </dd>
<dt class='head--doc'>Note</dt>
|
d052e6 | 2003-10-23 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Out-of-band data was not be supported on Pike 0.5 and earlier,
and not on Pike 0.6 through 7.4 if they were compiled with the
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | option <tt>'--without-oob'</tt>.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
7770c9 | 2003-10-29 | Martin Stjernholm | | <dd class='body--doc'><p><code>set_blocking()</code>, <code>set_read_callback()</code>,
<code>set_write_callback()</code>, <code>set_read_oob_callback()</code>,
<code>set_write_oob_callback()</code>, <code>set_close_callback()</code>
<code>set_nonblocking_keep_callbacks()</code>,
<code>set_blocking_keep_callbacks()</code></p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl>
|
45eff8 | 2002-06-11 | Johan Sundström | |
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>tcgetattr</b></span><br>
<span class='homogen--type'>Method</span>
<span class='homogen--name'><b>tcsetattr</b></span><br>
</dt>
<dd><p><code><code class='datatype'>mapping</code> <b><span class='method'>tcgetattr</span>(</b><b>)</b></code><br>
<code><code class='datatype'>int</code> <b><span class='method'>tcsetattr</span>(</b><code class='datatype'>mapping</code> <code class='argument'>attr</code><b>)</b></code><br>
<code><code class='datatype'>int</code> <b><span class='method'>tcsetattr</span>(</b><code class='datatype'>mapping</code> <code class='argument'>attr</code>, <code class='datatype'>string</code> <code class='argument'>when</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Gets/sets term attributes. The returned value/the <code>attr</code> parameter
is a mapping on the form</p>
<table class='box'><tr><td><code><code class='key'>"ispeed"</code> : <code class='datatype'>int(-1..)</code></code></td><td><p>In baud rate.</p>
</td></tr>
<tr><td><code><code class='key'>"ospeed"</code> : <code class='datatype'>int(-1..)</code></code></td><td><p>Out baud rate.</p>
|
196a87 | 2008-06-13 | Henrik Grubbström (Grubba) | | </td></tr>
<tr><td><code><code class='key'>"csize"</code> : <code class='datatype'>int(-1..-1)</code>|<code class='datatype'>int(5..8)</code></code></td><td><p>Character size.</p>
</td></tr>
<tr><td><code><code class='key'>"rows"</code> : <code class='datatype'>int</code></code></td><td><p>Terminal rows.</p>
</td></tr>
<tr><td><code><code class='key'>"columns"</code> : <code class='datatype'>int</code></code></td><td><p>Terminal columns.</p>
</td></tr>
<tr><td><code><code class='key'>flag_name</code> : <code class='datatype'>bool</code></code></td><td><p>The value of a named flag. The flag name is
the string describing the termios flags (IGNBRK, BRKINT,
IGNPAR, PARMRK, INPCK, ISTRIP, INLCR, IGNCR, ICRNL, IUCLC,
IXON, IXANY, IXOFF, IMAXBEL, OPOST, OLCUC, ONLCR, OCRNL,
ONOCR, ONLRET, OFILL, OFDEL, OXTABS, ONOEOT, CSTOPB, CREAD,
PARENB, PARODD, HUPCL, CLOCAL, CRTSCTS, ISIG, ICANON, XCASE,
ECHO, ECHOE, ECHOK, ECHONL, ECHOCTL, ECHOPRT, ECHOKE, FLUSHO,
NOFLSH, TOSTOP, PENDIN). See the manpage for termios or
other documentation for more information. All flags are not
available on all platforms.</p>
</td></tr>
<tr><td><code><code class='key'>character_name</code> : <code class='datatype'>int(8bit)</code></code></td><td><p>Sets the value of a control character (VINTR, VQUIT, VERASE,
VKILL, VEOF, VTIME, VMIN, VSWTC, VSTART, VSTOP, VSUSP, VEOL,
VREPRINT, VDISCARD, VWERASE, VLNEXT, VEOL2). All control
characters are not available on all platforms.</p>
</td></tr>
</table><p>Negative values are not allowed as indata, but might appear in the
result from <code>tcgetattr</code> when the actual value is unknown. <code>tcsetattr</code>
returns 0 if failed.</p>
<p> The argument <code>when</code> to <code>tcsetattr</code> describes when the
changes are to take effect:</p>
<table class='box'><tr><td><code><code class='key'>"TCSANOW"</code></code></td><td><p>The change occurs immediately (default).</p>
</td></tr>
<tr><td><code><code class='key'>"TCSADRAIN"</code></code></td><td><p>The change occurs after all output has been written.</p>
</td></tr>
<tr><td><code><code class='key'>"TCSAFLUSH"</code></code></td><td><p>The change occurs after all output has been written,
and empties input buffers.</p>
</td></tr>
</table>
|
a5bdb1 | 2003-10-15 | Martin Stjernholm | | </dd>
|
196a87 | 2008-06-13 | Henrik Grubbström (Grubba) | | <dt class='head--doc'>Example</dt>
<dd class='example'><pre><p>// setting the terminal in raw mode:
Stdio.stdin->tcsetattr((["ECHO":0,"ICANON":0,"VMIN":0,"VTIME":0]));</p>
</pre></dd>
|
a5bdb1 | 2003-10-15 | Martin Stjernholm | | <dt class='head--doc'>Note</dt>
|
196a87 | 2008-06-13 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Unknown flags are ignored by <code>tcsetattr()</code>. <code>tcsetattr</code> always
changes the attribute, so only include attributes that actually
should be altered in the attribute mapping.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </dd>
|
196a87 | 2008-06-13 | Henrik Grubbström (Grubba) | | <dt class='head--doc'>Bugs</dt>
<dd class='body--doc'><p>Terminal rows and columns setting by <code>tcsetattr()</code> is not
currently supported.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.FILE</b></h2>
</dt><dd><dl class='group--doc'>
|
45eff8 | 2002-06-11 | Johan Sundström | | <dt class='head--doc'>Description</dt>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p><code>Stdio.FILE</code> is a buffered version of <code>Stdio.File</code>, it inherits
<code>Stdio.File</code> and has most of the functionality of <code>Stdio.File</code>.
However, it has an input buffer that allows line-by-line input.</p>
<p> It also has support for automatic charset conversion for both input
and output (see <code>Stdio.FILE()->set_charset()</code>).</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The output part of <code>Stdio.FILE</code> is currently not buffered.</p>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>_get_iterator</b></span>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='class'>Stdio.FILE</span> <span class='method'>a</span>;<br>
foreach( a; index; value ) or<br></code><code><code class='modifier'>protected</code> <code class='datatype'>object</code> <b><span class='method'>_get_iterator</span>(</b><b>)</b></code></p></dd>
|
45eff8 | 2002-06-11 | Johan Sundström | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns an iterator that will loop over the lines in this file.</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>line_iterator()</code></p>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dd></dl>
|
84d5df | 2002-09-16 | Johan Schön | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getchar</b></span>
|
84d5df | 2002-09-16 | Johan Schön | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>getchar</span>(</b><b>)</b></code></p></dd>
|
84d5df | 2002-09-16 | Johan Schön | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function returns one character from the input stream.</p>
|
84d5df | 2002-09-16 | Johan Schön | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Returns</dt>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Returns the ISO-10646 (Unicode) value of the character.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>Returns an <code class='expr'>int</code> and not a <code class='expr'>string</code> of length 1.</p>
|
84d5df | 2002-09-16 | Johan Schön | | </dd></dl>
|
45eff8 | 2002-06-11 | Johan Sundström | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>gets</b></span>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>gets</span>(</b><b>)</b></code></p></dd>
|
45eff8 | 2002-06-11 | Johan Sundström | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Read one line of input with support for input conversion.</p>
</dd>
<dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>This function returns the line read if successful, and <code class='expr'>0</code> if
|
c3fe74 | 2003-02-05 | Martin Nilsson | | no more lines are available.</p>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dd>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>ngets()</code>, <code>read()</code>, <code>line_iterator()</code>, <code>set_charset()</code></p>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dd></dl>
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>file</b></span>
|
45eff8 | 2002-06-11 | Johan Sundström | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='datatype'>inherit File</span> : <span class='inherit'>file</span></code></p></dd>
</dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
50af35 | 2002-07-15 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>line_iterator</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>object</code> <b><span class='method'>line_iterator</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>trim</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns an iterator that will loop over the lines in this file.
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | If <code>trim</code> is true, all <tt>'\r'</tt> characters will be removed
from the input.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
|
abf4cb | 2005-02-02 | Per Hedbor | | <dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>It's not supported to call this method more than once
unless a call to <code>seek</code> is done in advance. Also note that it's
not possible to intermingle calls to <code>read</code>, <code>gets</code> or other
functions that read data with the line iterator, it will produce
unexpected results since the internal buffer in the iterator will not
contain sequential file-data in those cases.</p>
</dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>_get_iterator()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
ab1f52 | 2003-07-10 | Henrik Grubbström (Grubba) | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>ngets</b></span>
</dt>
<dd><p><code><code class='datatype'>array</code>(<code class='datatype'>string</code>) <b><span class='method'>ngets</span>(</b><code class='datatype'>void</code>|<code class='datatype'>int(1..)</code> <code class='argument'>n</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Get <code>n</code> lines.</p>
</dd>
<dt class='head--doc'><span id='p-n'></span>Parameter <code class='parameter'>n</code></dt>
<dd></dd><dd class='body--doc'><p>Number of lines to get, or all remaining if zero.</p>
</dd></dl>
|
f7707e | 2008-03-07 | Henrik Grubbström (Grubba) | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>openat</b></span>
</dt>
<dd><p><code><code class='object unresolved'>FILE</code> <b><span class='method'>openat</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code><b>)</b></code><br>
<code><code class='object unresolved'>FILE</code> <b><span class='method'>openat</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>mode</code>, <code class='datatype'>int</code> <code class='argument'>mask</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Same as <code>Stdio.File()->openat()</code>, but returns a <code>Stdio.FILE</code>
object.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>Stdio.File()->openat()</code></p>
</dd></dl>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>pipe</b></span>
</dt>
<dd><p><code><code class='object unresolved'>File</code> <b><span class='method'>pipe</span>(</b><code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>flags</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Same as <code>Stdio.File()->pipe()</code>.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Returns an <code>Stdio.File</code> object, NOT a <code>Stdio.FILE</code> object.</p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>printf</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>printf</span>(</b><code class='datatype'>string</code> <code class='argument'>format</code>, <code class='datatype'>mixed</code> ... <code class='argument'>data</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function does approximately the same as:
<code class='expr'><code>write</code>(<code>sprintf</code>(<code>format</code>,@<code>data</code>))</code>.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>write()</code>, <code>sprintf()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>read</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>bytes</code>, <code class='datatype'>void</code>|<code class='datatype'>bool</code> <code class='argument'>now</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
1f918f | 2002-05-26 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Read <code>bytes</code> (wide-) characters with buffering and support for
input conversion.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>Stdio.File()->read()</code>, <code>set_charset()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_charset</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_charset</span>(</b><code class='datatype'>string</code> <code class='argument'>charset</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Sets the input and output charset of this file to the specified
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <code>charset</code>.</p>
<p> The default charset is <tt>"ISO-8859-1"</tt>.</p>
|
2e26a9 | 2008-04-28 | Henrik Grubbström (Grubba) | | </dd><dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Consider using one of
|
e1d7e4 | 2008-04-28 | Henrik Grubbström (Grubba) | | ISO-IR-196 (<tt>"\e%G"</tt> - switch to UTF-8 with return)
or ISO-IR-190 (<tt>"\e%/G"</tt> - switch to UTF-8 level 1 no return)
or ISO-IR-191 (<tt>"\e%/H"</tt> - switch to UTF-8 level 2 no return)
or ISO-IR-192 (<tt>"\e%/I"</tt> - switch to UTF-8 level 3 no return)
or ISO-IR-193 (<tt>"\e%/J"</tt> - switch to UTF-16 level 1 no return)
or ISO-IR-194 (<tt>"\e%/K"</tt> - switch to UTF-16 level 2 no return)
or ISO-IR-195 (<tt>"\e%/L"</tt> - switch to UTF-16 level 3 no return)
|
2e26a9 | 2008-04-28 | Henrik Grubbström (Grubba) | | or ISO-IR-162 (<tt>"\e%/@"</tt> - switch to UCS-2 level 1)
or ISO-IR-163 (<tt>"\e%/A"</tt> - switch to UCS-4 level 1)
or ISO-IR-174 (<tt>"\e%/C"</tt> - switch to UCS-2 level 2)
or ISO-IR-175 (<tt>"\e%/D"</tt> - switch to UCS-4 level 2)
or ISO-IR-176 (<tt>"\e%/E"</tt> - switch to UCS-2 level 3)
or ISO-IR-177 (<tt>"\e%/F"</tt> - switch to UCS-4 level 3)
or ISO-IR-178 (<tt>"\e%B"</tt> - switch to UTF-1)
automatically to encode wide strings.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>ungets</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>ungets</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
1f918f | 2002-05-26 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function puts a string back in the input buffer. The string
can then be read with eg <code>read()</code>, <code>gets()</code> or <code>getchar()</code>.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd>
|
ab1f52 | 2003-07-10 | Henrik Grubbström (Grubba) | | <dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The string must not contain line-feeds.</p>
</dd>
|
1f918f | 2002-05-26 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>read()</code>, <code>gets()</code>, <code>getchar()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>write</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>write</span>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>)|<code class='datatype'>string</code> <code class='argument'>what</code>, <code class='datatype'>mixed</code> ... <code class='argument'>fmt</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Write <code>what</code> with support for output_conversion.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd>
|
1f918f | 2002-05-26 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>Stdio.File()->write()</code></p>
</dd></dl>
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Port</b></h2>
</dt><dd><dl class='group--doc'>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Handles listening to socket ports. Whenever you need a bound
socket that is open and listens for connections you should
use this program.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>accept</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>File</code> <b><span class='method'>accept</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function completes a connection made from a remote machine to
this port. It returns a two-way stream in the form of a clone of
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | <code>Stdio.File</code>. The new file is by initially set to blocking mode.</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>Stdio.File</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
|
2d8319 | 2003-10-30 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>accept</b></span>
</dt>
<dd><p><code><code class='object unresolved'>Stdio.File</code> <b><span class='method'>accept</span>(</b><b>)</b></code></p></dd>
|
388ed9 | 2005-02-01 | Martin Stjernholm | |
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Get the first connection request waiting for this port and return
it as a connected socket.</p>
<p> If no connection request is waiting and the port is in nonblocking
mode (i.e. an accept callback is installed) then zero is returned.
Otherwise this function waits until a connection has arrived.</p>
|
dd1769 | 2008-06-13 | Henrik Grubbström (Grubba) | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>In Pike 7.7 and later the resulting file object will be assigned
to the same backend as the port object.</p>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | </dd></dl>
|
2d8319 | 2003-10-30 | Martin Stjernholm | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>bind</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>ip</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p>Opens a socket and binds it to port number on the local machine.
If the second argument is present, the socket is set to
nonblocking and the callback funcition is called whenever
something connects to it. The callback will receive the id for
this port as argument and should typically call <code>accept</code> to
establish a connection.</p>
<p> If the optional argument <code>ip</code> is given, <code>bind</code> will try to bind
to an interface with that host name or IP number.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>1 is returned on success, zero on failure. <code>errno</code> provides
further details about the error in the latter case.</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p><code>accept</code>, <code>set_id</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
4856ea | 2004-05-13 | H. William Welliver III | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>bind_unix</b></span>
</dt>
|
06eb09 | 2004-05-13 | H. William Welliver III | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>bind_unix</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code><b>)</b></code></p></dd>
|
4856ea | 2004-05-13 | H. William Welliver III | |
<dt class='head--doc'>Description</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p>Opens a Unix domain socket at the given path in the file system.
If the second argument is present, the socket is set to
nonblocking and the callback funcition is called whenever
something connects to it. The callback will receive the id for
this port as argument and should typically call <code>accept</code> to
establish a connection.</p>
|
4856ea | 2004-05-13 | H. William Welliver III | | </dd>
<dt class='head--doc'>Returns</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p>1 is returned on success, zero on failure. <code>errno</code> provides
further details about the error in the latter case.</p>
|
4856ea | 2004-05-13 | H. William Welliver III | | </dd>
<dt class='head--doc'>Note</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p>This function is only available on systems that support Unix domain
|
4856ea | 2004-05-13 | H. William Welliver III | | sockets.</p>
</dd>
<dt class='head--doc'>See also</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p><code>accept</code>, <code>set_id</code></p>
|
4856ea | 2004-05-13 | H. William Welliver III | | </dd></dl>
|
e0c281 | 2004-04-04 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>close</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>close</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Closes the socket.</p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>create</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><b>)</b></code><br>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code><b>)</b></code><br>
<code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code><b>)</b></code><br>
<code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code>, <code class='datatype'>string</code> <code class='argument'>ip</code><b>)</b></code><br>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='argument'>"stdin"</code><b>)</b></code><br>
<code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='argument'>"stdin"</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>If the first argument is other than <code class='expr'>"stdin"</code> the arguments will
|
c3fe74 | 2003-02-05 | Martin Nilsson | | be passed to <code>bind()</code>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> When create is called with <code class='expr'>"stdin"</code> as the first argument, a
socket is created out of the file descriptor <code class='expr'>0</code>. This is only
|
0f4adf | 2003-07-22 | Henrik Grubbström (Grubba) | | useful if it actually is a socket to begin with.</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>bind</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>create</b></span>
</dt>
<dd><p><code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>ip</code><b>)</b></code><br>
<code><span class='object'>Stdio.Port</span> <span class='class'>Stdio.Port</span><b>(</b><code class='argument'>"stdin"</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>When called with an int or any string except <code class='expr'>"stdin"</code> as
first argument, this function does the same as <code>bind()</code> would do
with the same arguments.</p>
<p> When called with <code class='expr'>"stdin"</code> as argument, a socket is created
out of the file descriptor 0. This is only useful if that actually
IS a socket to begin with.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>bind</code>, <code>listen_fd</code></p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>errno</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p>If the last call done on this port failed, this function will
return an integer describing what went wrong. Refer to your unix
manual for further information.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>_port</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='datatype'>inherit _port</span> : <span class='inherit'>_port</span></code></p></dd>
</dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>listen_fd</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>listen_fd</span>(</b><code class='datatype'>int</code> <code class='argument'>fd</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>accept_callback</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
388ed9 | 2005-02-01 | Martin Stjernholm | | <dd class='body--doc'><p>This function does the same as <code>bind</code>, except that instead of
creating a new socket and bind it to a port, it expects the file
descriptor <code>fd</code> to be an already open port.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>This function is only for the advanced user, and is generally used
when sockets are passed to Pike at exec time.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>bind</code>, <code>accept</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
50af35 | 2002-07-15 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>query_address</b></span>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dt>
|
7cd97e | 2008-05-12 | Martin Stjernholm | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>query_address</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Get the address and port of the local socket end-point.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>This function returns the address and port of a socket end-point
on the form <code class='expr'>"x.x.x.x port"</code> (IPv4) or
<code class='expr'>"x:x:x:x:x:x:x:x port"</code> (IPv6).</p>
<p> If there is some error querying or formatting the address,
<code class='expr'>0</code> (zero) is returned and <code>errno()</code> will return the
error code.</p>
</dd>
<dt class='head--doc'>Throws</dt>
<dd class='body--doc'><p>An error is thrown if the socket isn't bound.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
dea86c | 2004-04-05 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>query_backend</b></span>
</dt>
<dd><p><code><code class='object unresolved'>Pike.Backend</code> <b><span class='method'>query_backend</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Return the backend used for the accept callback.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>set_backend</code></p>
</dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>query_id</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>query_id</span>(</b><b>)</b></code></p></dd>
|
1f918f | 2002-05-26 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function returns the id for this port. The id is normally the
first argument to accept_callback.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>set_id</code></p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
dea86c | 2004-04-05 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_backend</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_backend</span>(</b><code class='object unresolved'>Pike.Backend</code> <code class='argument'>backend</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set the backend used for the accept callback.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The backend keeps a reference to this object as long as the port
is accepting connections, but this object does not keep a
reference to the backend.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>query_backend</code></p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_id</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>set_id</span>(</b><code class='datatype'>mixed</code> <code class='argument'>id</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>This function sets the id used for accept_callback by this port.
The default id is <code>this_object()</code>.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>query_id</code></p>
</dd></dl>
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.UDP</b></h2>
</dt><dd><dl class='group--doc'>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>UDP (User Datagram Protocol) handling.</p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Constant</span>
<span class='homogen--name'><b>MSG_OOB</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>constant</code> Stdio.UDP.<code class='constant'>MSG_OOB</code></code></p></dd>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this constant.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
50af35 | 2002-07-15 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Constant</span>
<span class='homogen--name'><b>MSG_PEEK</b></span>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>constant</code> Stdio.UDP.<code class='constant'>MSG_PEEK</code></code></p></dd>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this constant.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
50af35 | 2002-07-15 | Martin Nilsson | |
|
1f72bf | 2004-09-18 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>add_membership</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>add_membership</span>(</b><code class='datatype'>string</code> <code class='argument'>group</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>address</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Join a multicast group. <code>group</code> contains the address of the
multicast group the application wants to join or leave. It must be
a valid multicast address. <code>address</code> is the address of the local
interface with wich the system should join to the multicast group.
If not provided the system will select an appropriate interface.
See also the Unix man page for setsocketopt IPPROTO_IP
ADD_MEMBERSHIP.</p>
|
8831a4 | 2004-09-18 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>drop_membership</code></p>
|
1f72bf | 2004-09-18 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>bind</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
1f72bf | 2004-09-18 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code><b>)</b></code><br>
<code><code class='object unresolved'>UDP</code> <b><span class='method'>bind</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>string</code> <code class='argument'>address</code><b>)</b></code></p></dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
1f918f | 2002-05-26 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
|
97fa20 | 2008-05-30 | Martin Stjernholm | | <dd class='body--doc'><p>Binds a port for receiving or transmitting UDP.</p>
|
1f72bf | 2004-09-18 | Martin Nilsson | | </dd>
<dt class='head--doc'>Throws</dt>
<dd class='body--doc'><p>Throws error when unable to bind port.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
8ae003 | 2003-10-29 | Henrik Grubbström (Grubba) | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>close</b></span>
</dt>
<dd><p><code><code class='datatype'>bool</code> <b><span class='method'>close</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Closes an open UDP port.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>This method was introduced in Pike 7.5.</p>
</dd></dl>
|
c62812 | 2002-10-19 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>connect</b></span>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dt>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>connect</span>(</b><code class='datatype'>string</code> <code class='argument'>address</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code><b>)</b></code></p></dd>
|
c62812 | 2002-10-19 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Establish an UDP connection.</p>
<p> This function connects an UDP socket previously created with
<code>Stdio.UDP()</code> to a remote socket. The <code>address</code> is the IP name or
number for the remote machine.</p>
</dd>
<dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success, <code class='expr'>0</code> (zero) otherwise.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>If the socket is in nonblocking mode, you have to wait
for a write or close callback before you know if the connection
failed or not.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>bind()</code>, <code>query_address()</code></p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd></dl>
|
8831a4 | 2004-09-18 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>drop_membership</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>drop_membership</span>(</b><code class='datatype'>string</code> <code class='argument'>group</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>address</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Leave a multicast group.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>add_membership</code></p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>enable_broadcast</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>enable_broadcast</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Set the broadcast flag.
If enabled then sockets receive packets sent to a broadcast
address and they are allowed to send packets to a
broadcast address.</p>
</dd>
<dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success, <code class='expr'>0</code> (zero) otherwise.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>This is normally only avalable to root users.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
1f72bf | 2004-09-18 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>enable_multicast</b></span>
</dt>
<dd><p><code><code class='datatype'>bool</code> <b><span class='method'>enable_multicast</span>(</b><code class='datatype'>string</code> <code class='argument'>reply_address</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set the local device for a multicast socket. See also the Unix man
page for setsocketopt IPPROTO_IP IP_MULTICAST_IF.</p>
</dd></dl>
|
c62812 | 2002-10-19 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>errno</b></span>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd>
|
c62812 | 2002-10-19 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns the error code for the last command on this object.
Error code is normally cleared when a command is successful.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>get_type</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>int</code>) <b><span class='method'>get_type</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns socket type and protocol family.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
50af35 | 2002-07-15 | Martin Nilsson | |
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>UDP</b></span>
</dt>
<dd><p><code><span class='datatype'>inherit files.UDP</span> : <span class='inherit'>UDP</span></code></p></dd>
</dl>
|
c62812 | 2002-10-19 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>query_address</b></span>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>query_address</span>(</b><b>)</b></code></p></dd>
|
c62812 | 2002-10-19 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns the local address of a socket on the form "x.x.x.x port".
If this file is not a socket, not connected or some other error occurs,
zero is returned.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd></dl>
|
dea86c | 2004-04-05 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>query_backend</b></span>
</dt>
<dd><p><code><code class='object unresolved'>Pike.Backend</code> <b><span class='method'>query_backend</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Return the backend used for the read callback.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>set_backend</code></p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>read</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>) <b><span class='method'>read</span>(</b><b>)</b></code><br>
<code><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>) <b><span class='method'>read</span>(</b><code class='datatype'>int</code> <code class='argument'>flag</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Read from the UDP socket.</p>
<p> Flag <code>flag</code> is a bitfield, 1 for out of band data and 2 for peek</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>mapping(string:int|string) in the form
([
|
70becb | 2003-03-12 | Marcus Agehall | | "data" : string received data
"ip" : string received from this ip
|
c3fe74 | 2003-02-05 | Martin Nilsson | | "port" : int ...and this port
])</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>set_read_callback()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>send</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
b27ad9 | 2003-04-22 | Marcus Comstedt | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>send</span>(</b><code class='datatype'>string</code> <code class='argument'>to</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>string</code> <code class='argument'>message</code><b>)</b></code><br>
<code><code class='datatype'>int</code> <b><span class='method'>send</span>(</b><code class='datatype'>string</code> <code class='argument'>to</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code> <code class='argument'>port</code>, <code class='datatype'>string</code> <code class='argument'>message</code>, <code class='datatype'>int</code> <code class='argument'>flags</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
581948 | 2006-11-10 | Martin Stjernholm | | <dd class='body--doc'><p>Send data to a UDP socket. The recipient address will be <code>to</code>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | and port will be <code>port</code>.</p>
<p> Flag <code>flag</code> is a bitfield, 1 for out of band data and
2 for don't route flag.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>The number of bytes that were actually written.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
dea86c | 2004-04-05 | Martin Stjernholm | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_backend</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_backend</span>(</b><code class='object unresolved'>Pike.Backend</code> <code class='argument'>backend</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set the backend used for the read callback.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The backend keeps a reference to this object as long as there can
be calls to the read callback, but this object does not keep a
reference to the backend.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>query_backend</code></p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_blocking</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>object</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Sets this object to be blocking.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
1f72bf | 2004-09-18 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_multicast_ttl</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>set_multicast_ttl</span>(</b><code class='datatype'>int</code> <code class='argument'>ttl</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set the time-to-live value of outgoing multicast packets for this
socket. It is very important for multicast packets to set the
smallest TTL possible. The default is 1 which means that multicast
packets don't leacl the local network unless the user program
explicitly request it. See also the Unix man page for setsocketopt
IPPROTO_IP IP_MULTICAST_TTL.</p>
</dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_nonblocking</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_nonblocking</span>(</b><b>)</b></code><br>
<code><code class='object unresolved'>UDP</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>), <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>read_cb</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra_args</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Set this object to nonblocking mode.</p>
<p> If <code>read_cb</code> and <code>extra_args</code> are specified, they will be passed on
to <code>set_read_callback()</code>.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>The called object.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_read_callback</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>), <code class='datatype'>mixed</code> ... :<code class='datatype void'>void</code>) <code class='argument'>read_cb</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra_args</code><b>)</b></code></p></dd>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>The <code>read_cb</code> function will receive a mapping similar to the mapping
returned by <code>read()</code>:</p>
<table class='box'><tr><td><code><code class='key'>"data"</code> : <code class='datatype'>string</code></code></td><td><p>Received data.</p>
</td></tr>
<tr><td><code><code class='key'>"ip"</code> : <code class='datatype'>string</code></code></td><td><p>Data was sent from this IP.</p>
</td></tr>
<tr><td><code><code class='key'>"port"</code> : <code class='datatype'>int</code></code></td><td><p>Data was sent from this port.</p>
</td></tr>
</table>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>The called object.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p><code>read()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_type</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
1f72bf | 2004-09-18 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_type</span>(</b><code class='datatype'>int</code> <code class='argument'>sock_type</code><b>)</b></code><br>
<code><code class='object unresolved'>UDP</code> <b><span class='method'>set_type</span>(</b><code class='datatype'>int</code> <code class='argument'>sock_type</code>, <code class='datatype'>int</code> <code class='argument'>family</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Sets socket type and protocol family.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
c62812 | 2002-10-19 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>wait</b></span>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>wait</span>(</b><code class='datatype'>int</code>|<code class='datatype'>float</code> <code class='argument'>timeout</code><b>)</b></code></p></dd>
|
c62812 | 2002-10-19 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Check for data and wait max. <code>timeout</code> seconds.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Returns</dt>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <dd class='body--doc'><p>Returns <code class='expr'>1</code> if data are ready, <code class='expr'>0</code> (zero) otherwise.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Stdio.Terminfo</b></h2>
</dt><dd>
|
c62812 | 2002-10-19 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getFallbackTerm</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='modifier'>protected</code> <code class='object unresolved'>Termcap</code> <b><span class='method'>getFallbackTerm</span>(</b><code class='datatype'>string</code> <code class='argument'>term</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns an object describing the fallback terminal for the terminal
<code>term</code>. This is usually equvivalent to <code>Stdio.Terminfo.getTerm("dumb")</code>.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Stdio.Terminfo.getTerm</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getTerm</b></span>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>Termcap</code> <b><span class='method'>getTerm</span>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>term</code><b>)</b></code></p></dd>
|
c62812 | 2002-10-19 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns an object describing the terminal term. If term is not specified, it will
default to <code>getenv("TERM")</code> or if that fails to "dumb".</p>
<p> Lookup of terminal information will first be done in the systems terminfo
database, and if that fails in the termcap database. If neither database exists, a
hardcoded entry for "dumb" will be used.</p>
|
c62812 | 2002-10-19 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Stdio.Terminfo.getTerminfo, Stdio.Terminfo.getTermcap, Stdio.getFallbackTerm</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getTermcap</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>Termcap</code> <b><span class='method'>getTermcap</span>(</b><code class='datatype'>string</code> <code class='argument'>term</code><b>)</b></code></p></dd>
|
932a63 | 2002-10-25 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns the terminal description object for <code>term</code> from the
systems termcap database. Returns 0 if not found.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p>Stdio.Terminfo.getTerm, Stdio.Terminfo.getTerminfo</p>
|
932a63 | 2002-10-25 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getTerminfo</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>Terminfo</code> <b><span class='method'>getTerminfo</span>(</b><code class='datatype'>string</code> <code class='argument'>term</code><b>)</b></code></p></dd>
|
932a63 | 2002-10-25 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns the terminal description object for <code>term</code> from the
systems terminfo database. Returns 0 if not found.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p>Stdio.Terminfo.getTerm, Stdio.Terminfo.getTermcap</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
6f7a29 | 2003-06-02 | Martin Stjernholm | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>is_tty</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>is_tty</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Returns 1 if <code>Stdio.stdin</code> is connected to an interactive
terminal that can handle backspacing, carriage return without
linefeed, and the like.</p>
</dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.Termcap</b></h2>
</dt><dd><dl class='group--doc'>
|
1f918f | 2002-05-26 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Termcap terminal description object.</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Variable</span>
<span class='homogen--name'><b>aliases</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>string</code>) Stdio.Terminfo.Termcap.<b><span class='variable'>aliases</span></b></code></p></dd>
</dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>create</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='object'>Stdio.Terminfo.Termcap</span> <span class='class'>Stdio.Terminfo.Termcap</span><b>(</b><code class='datatype'>string</code> <code class='argument'>cap</code>, <code class='object unresolved'>TermcapDB</code>|<code class='datatype'>void</code> <code class='argument'>tcdb</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>maxrecurse</code><b>)</b></code></p></dd>
</dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>TermMachine</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='datatype'>inherit TermMachine</span> : <span class='inherit'>TermMachine</span></code></p></dd>
</dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>tputs</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>tputs</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Put termcap string</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.Terminfo</b></h2>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dt><dd><dl class='group--doc'>
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Terminfo terminal description object</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Variable</span>
<span class='homogen--name'><b>aliases</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>string</code>) Stdio.Terminfo.Terminfo.<b><span class='variable'>aliases</span></b></code></p></dd>
</dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>create</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='object'>Stdio.Terminfo.Terminfo</span> <span class='class'>Stdio.Terminfo.Terminfo</span><b>(</b><code class='datatype'>string</code> <code class='argument'>filename</code><b>)</b></code></p></dd>
</dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>TermMachine</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='datatype'>inherit TermMachine</span> : <span class='inherit'>TermMachine</span></code></p></dd>
</dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>tputs</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>tputs</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline</b></h2>
</dt><dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>add_to_kill_ring</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>add_to_kill_ring</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>create</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='object'>Stdio.Readline</span> <span class='class'>Stdio.Readline</span><b>(</b><code class='datatype'>object</code>|<code class='datatype'>void</code> <code class='argument'>infd</code>, <code class='datatype'>object</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>interm</code>, <code class='datatype'>object</code>|<code class='datatype'>void</code> <code class='argument'>outfd</code>, <code class='datatype'>object</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>outterm</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Creates a Readline object, that takes input from <code>infd</code> and has output
on <code>outfd</code>.</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'><span id='p-infd'></span>Parameter <code class='parameter'>infd</code></dt>
|
d5f90f | 2003-06-27 | Martin Nilsson | | <dd></dd><dd class='body--doc'><p>Defaults to <code>Stdio.stdin</code>.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'><span id='p-interm'></span>Parameter <code class='parameter'>interm</code></dt>
<dd></dd><dd class='body--doc'><p>Defaults to <code>Stdio.Terminfo.getTerm()</code>.</p>
</dd>
<dt class='head--doc'><span id='p-outfd'></span>Parameter <code class='parameter'>outfd</code></dt>
<dd></dd><dd class='body--doc'><p>Defaults to <code>infd</code>, unless <code>infd</code> is 0, in which case
<code>outfd</code> defaults to <code>Stdio.stdout</code>.</p>
</dd>
<dt class='head--doc'><span id='p-outterm'></span>Parameter <code class='parameter'>outterm</code></dt>
<dd></dd><dd class='body--doc'><p>Defaults to <code>interm</code>.</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>delete</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>delete</span>(</b><code class='datatype'>int</code> <code class='argument'>p1</code>, <code class='datatype'>int</code> <code class='argument'>p2</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>delta_history</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>delta_history</span>(</b><code class='datatype'>int</code> <code class='argument'>d</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Changes the line to a line from the history <code>d</code> steps from the
current entry (0 being the current line, negative values older,
and positive values newer).</p>
|
50af35 | 2002-07-15 | Martin Nilsson | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Only effective if you have a history object.</p>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>edit</b></span>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>edit</span>(</b><code class='datatype'>string</code> <code class='argument'>data</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>local_prompt</code>, <code class='datatype'>array</code>(<code class='datatype'>string</code>)|<code class='datatype'>void</code> <code class='argument'>attrs</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>enable_history</b></span>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>enable_history</span>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>)|<code class='object unresolved'>History</code>|<code class='datatype'>int</code> <code class='argument'>hist</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>eof</b></span>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>eof</span>(</b><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
78c3e2 | 2003-01-03 | Martin Nilsson | | </dd></dl>
|
3a44ef | 2003-01-03 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>get_history</b></span>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>History</code> <b><span class='method'>get_history</span>(</b><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>get_input_controller</b></span>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>InputController</code> <b><span class='method'>get_input_controller</span>(</b><b>)</b></code></p></dd>
|
3a44ef | 2003-01-03 | Martin Nilsson | |
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>get current input control object</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Terminal input controller object</p>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>get_output_controller</b></span>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='object unresolved'>OutputController</code> <b><span class='method'>get_output_controller</span>(</b><b>)</b></code></p></dd>
|
3a44ef | 2003-01-03 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>get current output control object</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Terminal output controller object</p>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>get_prompt</b></span>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>get_prompt</span>(</b><b>)</b></code></p></dd>
|
3a44ef | 2003-01-03 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Return the current prompt string.</p>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
786799 | 2003-01-03 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getcursorpos</b></span>
|
786799 | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>getcursorpos</span>(</b><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
786799 | 2003-01-03 | Martin Nilsson | | </dd></dl>
|
3a44ef | 2003-01-03 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>getmark</b></span>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>getmark</span>(</b><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
3a44ef | 2003-01-03 | Martin Nilsson | | </dd></dl>
|
786799 | 2003-01-03 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>gettext</b></span>
|
786799 | 2003-01-03 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>gettext</span>(</b><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
786799 | 2003-01-03 | Martin Nilsson | | </dd></dl>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>history</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>history</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>insert</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>insert</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code>, <code class='datatype'>int</code> <code class='argument'>p</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>kill</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill</span>(</b><code class='datatype'>int</code> <code class='argument'>p1</code>, <code class='datatype'>int</code> <code class='argument'>p2</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>kill_ring_yank</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>kill_ring_yank</span>(</b><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>list_completions</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>list_completions</span>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>c</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>message</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>message</span>(</b><code class='datatype'>string</code> <code class='argument'>msg</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Print a message to the output device</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>newline</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>newline</span>(</b><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>pointmark</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>int</code>) <b><span class='method'>pointmark</span>(</b><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>read</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read</span>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>prompt</code>, <code class='datatype'>array</code>(<code class='datatype'>string</code>)|<code class='datatype'>void</code> <code class='argument'>attrs</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>redisplay</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>redisplay</span>(</b><code class='datatype'>int</code> <code class='argument'>clear</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>nobackup</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>region</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>region</span>(</b><code class='datatype'>int</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_blocking</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_echo</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_echo</span>(</b><code class='datatype'>int</code> <code class='argument'>onoff</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set text echo on or off.</p>
</dd>
<dt class='head--doc'><span id='p-onoff'></span>Parameter <code class='parameter'>onoff</code></dt>
<dd></dd><dd class='body--doc'><p>1 for echo, 0 for no echo.</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_nonblocking</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>set_prompt</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>set_prompt</span>(</b><code class='datatype'>string</code> <code class='argument'>newp</code>, <code class='datatype'>array</code>(<code class='datatype'>string</code>)|<code class='datatype'>void</code> <code class='argument'>newattrs</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Set the prompt string.</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'><span id='p-newp'></span>Parameter <code class='parameter'>newp</code></dt>
<dd></dd><dd class='body--doc'><p>New prompt string</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'><span id='p-newattrs'></span>Parameter <code class='parameter'>newattrs</code></dt>
<dd></dd><dd class='body--doc'><p>Terminal attributes</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>setcursorpos</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>setcursorpos</span>(</b><code class='datatype'>int</code> <code class='argument'>p</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>setmark</b></span>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>setmark</span>(</b><code class='datatype'>int</code> <code class='argument'>p</code><b>)</b></code></p></dd>
|
e8d674 | 2002-12-05 | H. William Welliver III | | <dt class='head--fixme'>FIXME</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--fixme'><p>Document this function</p>
|
e8d674 | 2002-12-05 | H. William Welliver III | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>write</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>write</span>(</b><code class='datatype'>string</code> <code class='argument'>msg</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>word_wrap</code><b>)</b></code></p></dd>
<dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Document this function</p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
d5f90f | 2003-06-27 | Martin Nilsson | | <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.DefaultEditKeys</b></h2>
</dt><dd>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>backward_char</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_char</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>backward_delete_char</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_delete_char</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>backward_kill_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_kill_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>backward_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>beginning_of_line</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>beginning_of_line</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>capitalize_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>capitalize_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>clear_screen</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>clear_screen</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>create</b></span>
</dt>
<dd><p><code><span class='object'>Stdio.Readline.DefaultEditKeys</span> <span class='class'>Stdio.Readline.DefaultEditKeys</span><b>(</b><code class='datatype'>object</code> <code class='argument'>readline</code><b>)</b></code></p></dd>
</dl>
|
8847d0 | 2004-11-02 | Henrik Grubbström (Grubba) | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>delete_char</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>delete_char</span>(</b><b>)</b></code></p></dd>
</dl>
|
d5f90f | 2003-06-27 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>delete_char_or_eof</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>delete_char_or_eof</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>down_history</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>down_history</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>downcase_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>downcase_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>end_of_line</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>end_of_line</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>forward_char</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>forward_char</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>forward_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>forward_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>kill_line</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_line</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>kill_region</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_region</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>kill_ring_save</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_ring_save</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>kill_whole_line</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_whole_line</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>kill_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>newline</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>newline</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>quoted_insert</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>quoted_insert</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>redisplay</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>redisplay</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>self_insert_command</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>self_insert_command</span>(</b><code class='datatype'>string</code> <code class='argument'>str</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_default_bindings</b></span>
</dt>
<dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>set_default_bindings</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_mark</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_mark</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>swap_mark_and_point</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>swap_mark_and_point</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>transpose_chars</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>transpose_chars</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>up_history</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>up_history</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>upcase_word</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>upcase_word</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>yank</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>yank</span>(</b><b>)</b></code></p></dd>
</dl>
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.History</b></h2>
</dt><dd>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>create</b></span>
</dt>
<dd><p><code><span class='object'>Stdio.Readline.History</span> <span class='class'>Stdio.Readline.History</span><b>(</b><code class='datatype'>int</code> <code class='argument'>maxhist</code>, <code class='datatype'>void</code>|<code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>hist</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>encode</b></span>
</dt>
<dd><p><code><code class='datatype'>string</code> <b><span class='method'>encode</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>finishline</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>finishline</span>(</b><code class='datatype'>string</code> <code class='argument'>text</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>get_history_num</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>get_history_num</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>history</b></span>
</dt>
<dd><p><code><code class='datatype'>string</code> <b><span class='method'>history</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code>, <code class='datatype'>string</code> <code class='argument'>text</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>initline</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>initline</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_max_history</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_max_history</span>(</b><code class='datatype'>int</code> <code class='argument'>maxhist</code><b>)</b></code></p></dd>
</dl>
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.InputController</b></h2>
|
f5e296 | 2003-07-23 | Henrik Grubbström (Grubba) | | </dt><dd><dl class='group--doc'><dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Ought to have support for charset conversion.</p>
</dd></dl>
|
d5f90f | 2003-06-27 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>bind</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>bind</span>(</b><code class='datatype'>string</code> <code class='argument'>k</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>bindstr</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>bindstr</span>(</b><code class='datatype'>string</code> <code class='argument'>str</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>bindtc</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>bindtc</span>(</b><code class='datatype'>string</code> <code class='argument'>cap</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>create</b></span>
</dt>
<dd><p><code><span class='object'>Stdio.Readline.InputController</span> <span class='class'>Stdio.Readline.InputController</span><b>(</b><code class='datatype'>object</code>|<code class='datatype'>void</code> <code class='argument'>_infd</code>, <code class='datatype'>object</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>_term</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>disable</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>disable</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>enable</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>enable</span>(</b><code class='datatype'>int</code> ... <code class='argument'>e</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>getbinding</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>getbinding</span>(</b><code class='datatype'>string</code> <code class='argument'>k</code>, <code class='datatype'>string</code> <code class='argument'>cap</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>getbindings</b></span>
</dt>
<dd><p><code><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>function</code>(:<code class='datatype void'>void</code>)) <b><span class='method'>getbindings</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>getbindingstr</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>getbindingstr</span>(</b><code class='datatype'>string</code> <code class='argument'>str</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>getbindingtc</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>getbindingtc</span>(</b><code class='datatype'>string</code> <code class='argument'>cap</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>grabnextkey</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>grabnextkey</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>g</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>isenabled</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>isenabled</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>nullbindings</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>nullbindings</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Clears the bindings.</p>
</dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>parsekey</b></span>
</dt>
<dd><p><code><code class='datatype'>string</code> <b><span class='method'>parsekey</span>(</b><code class='datatype'>string</code> <code class='argument'>k</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>run_blocking</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>run_blocking</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>set_close_callback</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype'>int</code>) <code class='argument'>ccb</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>unbind</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>unbind</span>(</b><code class='datatype'>string</code> <code class='argument'>k</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>unbindstr</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>unbindstr</span>(</b><code class='datatype'>string</code> <code class='argument'>str</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>unbindtc</b></span>
</dt>
<dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>unbindtc</span>(</b><code class='datatype'>string</code> <code class='argument'>cap</code><b>)</b></code></p></dd>
</dl>
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.OutputController</b></h2>
|
f5e296 | 2003-07-23 | Henrik Grubbström (Grubba) | | </dt><dd><dl class='group--doc'><dt class='head--fixme'>FIXME</dt>
<dd class='body--fixme'><p>Ought to have support for charset conversion.</p>
</dd></dl>
|
d5f90f | 2003-06-27 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>beep</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>beep</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>bol</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>bol</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>check_columns</b></span>
</dt>
|
f5e296 | 2003-07-23 | Henrik Grubbström (Grubba) | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>check_columns</span>(</b><b>)</b></code></p></dd>
|
d5f90f | 2003-06-27 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
f5e296 | 2003-07-23 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Check and return the terminal width.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>In Pike 7.4 and earlier this function returned <code class='expr'>void</code>.</p>
|
d5f90f | 2003-06-27 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>get_number_of_columns</code></p>
</dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>clear</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>clear</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>partial</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>create</b></span>
</dt>
<dd><p><code><span class='object'>Stdio.Readline.OutputController</span> <span class='class'>Stdio.Readline.OutputController</span><b>(</b><code class='object unresolved'>.File</code>|<code class='datatype'>void</code> <code class='argument'>_outfd</code>, <code class='object unresolved'>.Terminfo.Termcap</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>_term</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>disable</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>disable</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>enable</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>enable</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>erase</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>erase</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>get_number_of_columns</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>get_number_of_columns</span>(</b><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Returns the width of the terminal.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Does not check the width of the terminal.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>check_columns</code></p>
</dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>low_erase</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>low_erase</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>low_move_backward</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>low_move_backward</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>low_move_downward</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>low_move_downward</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>low_move_forward</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>low_move_forward</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>low_move_upward</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>low_move_upward</span>(</b><code class='datatype'>int</code> <code class='argument'>n</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>low_write</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>low_write</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>word_break</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>move_backward</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>move_backward</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>move_forward</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>move_forward</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>newline</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>newline</span>(</b><b>)</b></code></p></dd>
</dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>turn_off</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>turn_off</span>(</b><code class='datatype'>string</code> ... <code class='argument'>atts</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set the provided attributes to off.</p>
</dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>turn_on</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>turn_on</span>(</b><code class='datatype'>string</code> ... <code class='argument'>atts</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Set the provided attributes to on.</p>
</dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>write</b></span>
</dt>
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>write</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>word_break</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>hide</code><b>)</b></code></p></dd>
</dl>
</dd></dl></dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Stdio</b></h2>
|
c90fc8 | 2003-06-27 | Martin Nilsson | | </dt><dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>append_file</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>append_file</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>string</code> <code class='argument'>str</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>access</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Append the string <code>str</code> onto the file <code>filename</code>.</p>
<p> For a description of <code>access</code>, see <code>Stdio.File->open()</code>.</p>
</dd>
<dt class='head--doc'>Throws</dt>
<dd class='body--doc'><p>Throws an error if <code>filename</code> couldn't be opened for writing.</p>
</dd>
<dt class='head--doc'>Returns</dt>
|
34497d | 2004-09-01 | Martin Stjernholm | | <dd class='body--doc'><p>Returns the number of bytes written, i.e. <code class='expr'>sizeof(str)</code>.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>write_file()</code>, <code>read_bytes()</code>, <code>Stdio.File()->open()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
50af35 | 2002-07-15 | Martin Nilsson | |
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>append_path</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>append_path</span>(</b><code class='datatype'>string</code> <code class='argument'>absolute</code>, <code class='datatype'>string</code> ... <code class='argument'>relative</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Append <code>relative</code> paths to an <code>absolute</code> path and remove any
|
84ea4e | 2003-04-07 | Martin Nilsson | | <code class='expr'>"//"</code>, <code class='expr'>"../"</code> or <code class='expr'>"/."</code> to produce a
straightforward absolute path as a result.</p>
<p> <code class='expr'>"../"</code> is ignorded in the relative paths if it makes the
|
c3fe74 | 2003-02-05 | Martin Nilsson | | created path begin with something else than the absolute path
(or so far created path).</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>Warning: This does not work on NT.
(Consider paths like: k:/fnord)</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>combine_path()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>async_cp</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>async_cp</span>(</b><code class='datatype'>string</code> <code class='argument'>from</code>, <code class='datatype'>string</code> <code class='argument'>to</code>, <code class='datatype'>function</code>(<code class='datatype'>int</code>, <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>callback</code>, <code class='datatype'>mixed</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Copy a file asynchronously.</p>
<p> This function is similar to <code>cp()</code>, but works asynchronously.</p>
</dd>
<dt class='head--doc'><span id='p-from'></span>Parameter <code class='parameter'>from</code></dt>
<dd></dd><dd class='body--doc'><p>Name of file to copy.</p>
</dd>
<dt class='head--doc'><span id='p-to'></span>Parameter <code class='parameter'>to</code></dt>
<dd></dd><dd class='body--doc'><p>Name of file to create or replace with a copy of <code>from</code>.</p>
</dd>
|
a2b4e8 | 2003-07-23 | Henrik Grubbström (Grubba) | | <dt class='head--doc'><span id='p-callback'></span>Parameter <code class='parameter'>callback</code></dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd></dd><dd class='body--doc'><p>Function to be called on completion.
|
84ea4e | 2003-04-07 | Martin Nilsson | | The first argument will be <code class='expr'>1</code> on success, and <code class='expr'>0</code> (zero)
|
a2b4e8 | 2003-07-23 | Henrik Grubbström (Grubba) | | otherwise. The rest of the arguments to <code>callback</code> are passed
|
c3fe74 | 2003-02-05 | Martin Nilsson | | verbatim from <code>args</code>.</p>
</dd>
<dt class='head--doc'><span id='p-args'></span>Parameter <code class='parameter'>args</code></dt>
<dd></dd><dd class='body--doc'><p>Extra arguments to pass to <code>callback</code>.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>For <code>callback</code> to be called, the backend must be active (ie
|
a2b4e8 | 2003-07-23 | Henrik Grubbström (Grubba) | | <code>main()</code> must have returned <code class='expr'>-1</code>, or <code>Pike.DefaultBackend</code>
get called in some other way). The actual copying may start
before the backend has activated.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Bugs</dt>
<dd class='body--doc'><p>Currently the file sizes are not compared, so the destination file
(<code>to</code>) may be truncated.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>cp()</code>, <code>sendfile()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
e82368 | 2004-09-03 | David Gourdelier | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>convert_modestring2int</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>convert_modestring2int</span>(</b><code class='datatype'>string</code> <code class='argument'>mode_string</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Convert the mode_string string as returned by Stdio.Stat object
to int suitable for chmod</p>
</dd>
<dt class='head--doc'><span id='p-mode_string'></span>Parameter <code class='parameter'>mode_string</code></dt>
<dd></dd><dd class='body--doc'><p>The string as return from Stdio.Stat()->mode_string</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>An int matching the permission of the mode_string string suitable for
chmod</p>
</dd></dl>
|
a23ed6 | 2003-06-18 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>cp</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>cp</span>(</b><code class='datatype'>string</code> <code class='argument'>from</code>, <code class='datatype'>string</code> <code class='argument'>to</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Copies the file <code>from</code> to the new position <code>to</code>. If there is
no system function for cp, a new file will be created and the
|
e82368 | 2004-09-03 | David Gourdelier | | old one copied manually in chunks of 65536 bytes.
This function can also copy directories recursively.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>0 on error, 1 on success</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>This function keeps file and directory permissions unlike in Pike 7.6 and
earlier</p>
|
a23ed6 | 2003-06-18 | Martin Nilsson | | </dd></dl>
|
969955 | 2002-03-12 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>exist</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>exist</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Check if a <code>path</code> exists.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns true if the given path exists (is a directory or file),
otherwise false.</p>
</dd>
|
927e06 | 2006-06-13 | Henrik Grubbström (Grubba) | | <dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>May fail with eg <code>errno()</code> <tt>EFBIG</tt> if the file exists,
but the filesystem doesn't support the file size.</p>
</dd>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>is_dir()</code>, <code>is_file()</code>, <code>is_link()</code>, <code>file_stat()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>file_equal</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>file_equal</span>(</b><code class='datatype'>string</code> <code class='argument'>file_1</code>, <code class='datatype'>string</code> <code class='argument'>file_2</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Returns nonzero if the given paths are files with identical
content, returns zero otherwise. Zero is also returned for any
sort of I/O error.</p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>file_size</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>file_size</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Give the size of a file. Size -1 indicates that the file either
does not exist, or that it is not readable by you. Size -2
|
48e0ef | 2005-04-08 | Martin Nilsson | | indicates that it is a directory, -3 that it is a symlink and -4
that it is a device.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>file_stat()</code>, <code>write_file()</code>, <code>read_bytes()</code></p>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dd></dl>
|
969955 | 2002-03-12 | Martin Nilsson | |
<hr />
<dl class='group--doc'>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Inherit</span>
<span class='homogen--name'><b>files</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><span class='datatype'>inherit files</span> : <span class='inherit'>files</span></code></p></dd>
</dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
69373f | 2002-09-12 | Leif Stensson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>is_dir</b></span>
|
69373f | 2002-09-12 | Leif Stensson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>is_dir</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
69373f | 2002-09-12 | Leif Stensson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Check if a <code>path</code> is a directory.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns true if the given path is a directory, otherwise false.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>exist()</code>, <code>is_file()</code>, <code>is_link()</code>, <code>file_stat()</code></p>
|
69373f | 2002-09-12 | Leif Stensson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>is_file</b></span>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>is_file</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Check if a <code>path</code> is a file.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns true if the given path is a file, otherwise false.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>exist()</code>, <code>is_dir()</code>, <code>is_link()</code>, <code>file_stat()</code></p>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dd></dl>
|
e4e3f3 | 2002-04-06 | Martin Nilsson | |
|
69373f | 2002-09-12 | Leif Stensson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>is_link</b></span>
|
69373f | 2002-09-12 | Leif Stensson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>is_link</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
69373f | 2002-09-12 | Leif Stensson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Check if a <code>path</code> is a symbolic link.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns true if the given path is a symbolic link, otherwise false.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>exist()</code>, <code>is_dir()</code>, <code>is_file()</code>, <code>file_stat()</code></p>
|
69373f | 2002-09-12 | Leif Stensson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>mkdirhier</b></span>
|
1f918f | 2002-05-26 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>mkdirhier</span>(</b><code class='datatype'>string</code> <code class='argument'>pathname</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>mode</code><b>)</b></code></p></dd>
|
1f918f | 2002-05-26 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Creates zero or more directories to ensure that the given <code>pathname</code> is
a directory.</p>
<p> If a <code>mode</code> is given, it's used for the new directories after being &'ed
with the current umask (on OS'es that support this).</p>
</dd>
<dt class='head--doc'>Returns</dt>
|
a2b4e8 | 2003-07-23 | Henrik Grubbström (Grubba) | | <dd class='body--doc'><p>Returns zero on failure and nonzero on success.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>mkdir()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
969955 | 2002-03-12 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>perror</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>void</code> <b><span class='method'>perror</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>This function prints a message to stderr along with a description
of what went wrong if available. It uses the system errno to find
out what went wrong, so it is only applicable to IO errors.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>werror()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
c3fe74 | 2003-02-05 | Martin Nilsson | |
|
969955 | 2002-03-12 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>read_bytes</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read_bytes</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>int</code> <code class='argument'>start</code>, <code class='datatype'>int</code> <code class='argument'>len</code><b>)</b></code><br>
<code><code class='datatype'>string</code> <b><span class='method'>read_bytes</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>int</code> <code class='argument'>start</code><b>)</b></code><br>
<code><code class='datatype'>string</code> <b><span class='method'>read_bytes</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
34497d | 2004-09-01 | Martin Stjernholm | | <dd class='body--doc'><p>Read <code>len</code> number of bytes from a regular file <code>filename</code>
starting at byte <code>start</code>, and return it as a string.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <p> If <code>len</code> is omitted, the rest of the file will be returned.</p>
<p> If <code>start</code> is also omitted, the entire file will be returned.</p>
</dd>
<dt class='head--doc'>Throws</dt>
|
34497d | 2004-09-01 | Martin Stjernholm | | <dd class='body--doc'><p>Throws an error on any I/O error except when the file doesn't
exist.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Returns</dt>
|
34497d | 2004-09-01 | Martin Stjernholm | | <dd class='body--doc'><p>Returns <code class='expr'>0</code> (zero) if the file doesn't exist or if
<code>start</code> is beyond the end of it.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <p> Returns a string with the requested data otherwise.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>read_file</code>, <code>write_file()</code>, <code>append_file()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>read_file</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read_file</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code><b>)</b></code><br>
<code><code class='datatype'>string</code> <b><span class='method'>read_file</span>(</b><code class='datatype'>string</code> <code class='argument'>filename</code>, <code class='datatype'>int</code> <code class='argument'>start</code>, <code class='datatype'>int</code> <code class='argument'>len</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
34497d | 2004-09-01 | Martin Stjernholm | | <dd class='body--doc'><p>Read <code>len</code> lines from a regular file <code>filename</code> after skipping
<code>start</code> lines and return those lines as a string. If both
<code>start</code> and <code>len</code> are omitted the whole file is read.</p>
</dd>
<dt class='head--doc'>Throws</dt>
<dd class='body--doc'><p>Throws an error on any I/O error except when the file doesn't
exist.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns <code class='expr'>0</code> (zero) if the file doesn't exist or if
<code>start</code> is beyond the end of it.</p>
<p> Returns a string with the requested data otherwise.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>read_bytes()</code>, <code>write_file()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
e82368 | 2004-09-03 | David Gourdelier | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>recursive_mv</b></span>
</dt>
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>recursive_mv</span>(</b><code class='datatype'>string</code> <code class='argument'>from</code>, <code class='datatype'>string</code> <code class='argument'>to</code><b>)</b></code></p></dd>
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Copy a file or a directory tree by copying and then
removing.
It's not the fastest but works on every OS and
works well across different file systems.</p>
</dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns 0 on failure, nonzero otherwise.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>recursive_rm</code> <code>cp</code></p>
</dd></dl>
|
969955 | 2002-03-12 | Martin Nilsson | | <hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>recursive_rm</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>int</code> <b><span class='method'>recursive_rm</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
e82368 | 2004-09-03 | David Gourdelier | | <dd class='body--doc'><p>Remove a file or a directory tree.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Returns</dt>
<dd class='body--doc'><p>Returns 0 on failure, nonzero otherwise.</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>rm</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
<hr />
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>sendfile</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>object</code> <b><span class='method'>sendfile</span>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>headers</code>, <code class='object unresolved'>File</code> <code class='argument'>from</code>, <code class='datatype'>int</code> <code class='argument'>offset</code>, <code class='datatype'>int</code> <code class='argument'>len</code>, <code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>trailers</code>, <code class='object unresolved'>File</code> <code class='argument'>to</code><b>)</b></code><br>
<code><code class='datatype'>object</code> <b><span class='method'>sendfile</span>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>headers</code>, <code class='object unresolved'>File</code> <code class='argument'>from</code>, <code class='datatype'>int</code> <code class='argument'>offset</code>, <code class='datatype'>int</code> <code class='argument'>len</code>, <code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>trailers</code>, <code class='object unresolved'>File</code> <code class='argument'>to</code>, <code class='datatype'>function</code>(<code class='datatype'>int</code>, <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>callback</code>, <code class='datatype'>mixed</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class='head--doc'>Description</dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd class='body--doc'><p>Sends <code>headers</code> followed by <code>len</code> bytes starting at <code>offset</code>
from the file <code>from</code> followed by <code>trailers</code> to the file <code>to</code>.
When completed <code>callback</code> will be called with the total number of
bytes sent as the first argument, followed by <code>args</code>.</p>
<p> Any of <code>headers</code>, <code>from</code> and <code>trailers</code> may be left out
|
84ea4e | 2003-04-07 | Martin Nilsson | | by setting them to <code class='expr'>0</code>.</p>
<p> Setting <code>offset</code> to <code class='expr'>-1</code> means send from the current position in
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <code>from</code>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> Setting <code>len</code> to <code class='expr'>-1</code> means send until <code>from</code>'s end of file is
|
c3fe74 | 2003-02-05 | Martin Nilsson | | reached.</p>
</dd>
<dt class='head--doc'>Note</dt>
<dd class='body--doc'><p>The sending is performed asynchronously, and may complete
|
046e43 | 2007-05-26 | Henrik Grubbström (Grubba) | | both before and after the function returns.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <p> For <code>callback</code> to be called, the backend must be active (ie
|
a2b4e8 | 2003-07-23 | Henrik Grubbström (Grubba) | | <code>main()</code> must have returned <code class='expr'>-1</code>, or <code>Pike.DefaultBackend</code>
get called in some other way).</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <p> In some cases, the backend must also be active for any sending to
be performed at all.</p>
|
266322 | 2007-12-20 | Henrik Grubbström (Grubba) | | <p> In Pike 7.4.496, Pike 7.6.120 and Pike 7.7 and later the backend
associated with <code>to</code> will be used rather than the default backend.
Note that you usually will want <code>from</code> to have the same backend as <code>to</code>.</p>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | </dd>
<dt class='head--doc'>Bugs</dt>
<dd class='body--doc'><p>FIXME: Support for timeouts?</p>
</dd>
<dt class='head--doc'>See also</dt>
<dd class='body--doc'><p><code>Stdio.File->set_nonblocking()</code></p>
|
969955 | 2002-03-12 | Martin Nilsson | | </dd></dl>
|
1f918f | 2002-05-26 | Martin Nilsson | |
|
969955 | 2002-03-12 | Martin Nilsson | | <hr />
<dl class='group--doc'>
|
50af35 | 2002-07-15 | Martin Nilsson | | <dt class='head--type'><span class='homogen--type'>Method</span>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <span class='homogen--name'><b>simplify_path</b></span>
|
969955 | 2002-03-12 | Martin Nilsson | | </dt>
|
c3fe74 | 2003-02-05 | Martin Nilsson | | <dd><p><code><code class='datatype'>string</code> <b><span class='method'>simplify_path</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd>
|
969955 | 2002-03-12 | Martin Nilsson | |
<dt class |