9699552002-03-12Martin Nilsson <!doctype html><html><head><title>Pike Reference Manual</title> <meta charset='utf-8'></head>
9add812019-07-04Henrik Grubbström (Grubba) <body><dl><dt><h1 class='header'>9. I/O</h1></dt><dd></dd> <dt><a name='9.1'></a> <h2 class='header'>9.1. File system manipulation</h2></dt> <dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>access</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>access</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>mode</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>access() checks if the calling process can access the file <code>path</code>. Symbolic links are dereferenced.</p> </dd> <dt class='head--doc'><span id='p-mode'></span>Parameter <code class='parameter'>mode</code></dt> <dd></dd><dd class='body--doc'><p>The <code>mode</code> specifies the accessibility checks to be performed, and is either not specified or empty, in which case access() just tests if the file exists, or one or more of the characters <code class='expr'>"rwx"</code>.</p> <p> r, w, and x test whether the file exists and grants read, write, and execute permissions, respectively.</p> <p> The check is done using the calling process's real UID and GID, rather than the effective IDs as is done when actually attempting an operation (e.g., open(2)) on the file. This allows set-user-ID programs to easily determine the invoking user's authority.</p> <p> If the calling process is privileged (i.e., its real UID is zero), then an X_OK check is successful for a regular file if execute permission is enabled for any of the file owner, group, or other.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><table class='box'><tr><td><code><code class='key'>1</code></code></td><td><p>When the file is accessible using the given permissions.</p> </td></tr> <tr><td><code><code class='key'>0</code></code></td><td><p>When the file is not accessible, in which case <code>errno</code> is set to one of the following values:</p> <table class='box'><tr><td><code><code class='key'>EACCESS</code></code></td><td><p>Access denied.</p> </td></tr> <tr><td><code><code class='key'>ELOOP</code></code></td><td><p>Too many symbolic links.</p> </td></tr> <tr><td><code><code class='key'>ENAMETOOLONG</code></code></td><td><p>The path is too long.</p> </td></tr> <tr><td><code><code class='key'>ENOENT</code></code></td><td><p>The file does not exist.</p> </td></tr> <tr><td><code><code class='key'>ENOTDIR</code></code></td><td><p>One of the directories used in <code>path</code> is not, in fact, a directory.</p> </td></tr> <tr><td><code><code class='key'>EROFS</code></code></td><td><p>The filesystem is read only and write access was requested.</p> </td></tr> </table><p>Other errors can occur, but are not directly related to the requested path, such as <code class='expr'>ENOMEM</code>, etc.</p> </td></tr> </table> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>errno()</code>, <code>Stdio.File</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>cd</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>cd</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Change the current directory for the whole Pike process.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>1</code> for success, <code class='expr'>0</code> (zero) otherwise.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>getcwd()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>getcwd</b></span> </dt> <dd><p><code><code class='datatype'>string</code> <b><span class='method'>getcwd</span>(</b><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Returns the current working directory.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>cd()</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_dir</b></span> </dt> <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>string</code>) <b><span class='method'>get_dir</span>(</b><code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>dirname</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Returns an array of all filenames in the directory <code>dirname</code>, or <code class='expr'>0</code> (zero) if the directory does not exist. When no <code>dirname</code> is given, current work directory is used.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>mkdir()</code>, <code>cd()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>mkdir</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>mkdir</span>(</b><code class='datatype'>string</code> <code class='argument'>dirname</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>mode</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Create a directory.</p> <p> If <code>mode</code> is specified, it's will be used for the new directory after being <code class='expr'>&amp;</code>'ed with the current umask (on OS'es that support this).</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>0</code> (zero) on failure, <code class='expr'>1</code> otherwise.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>rm()</code>, <code>cd()</code>, <code>Stdio.mkdirhier()</code></p> </dd></dl> <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>. This is an alias for <code>Stdio.cp</code>.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>mv</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>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>Rename or move a file or directory.</p> <p> If the destination already exists, it will be replaced. Replacement often only works if <code>to</code> is of the same type as <code>from</code>, i.e. a file can only be replaced by another file and so on. Also, a directory will commonly be replaced only if it's empty.</p> <p> On some OSs this function can't move directories, only rename them.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>0</code> (zero) on failure, <code class='expr'>1</code> otherwise. Call <code>errno()</code> to get more error info on failure.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>rm()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>rm</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>rm</span>(</b><code class='datatype'>string</code> <code class='argument'>f</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Remove a file or directory.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>0</code> (zero) on failure, <code class='expr'>1</code> otherwise.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>May fail with <code>errno()</code> set to <code>EISDIR</code> or <code>ENOTDIR</code> if the file has changed to a directory during the call or the reverse.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;unlinkat()</code>, <code>mkdir()</code>, <code>Stdio.recursive_rm()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>file_truncate</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>file_truncate</span>(</b><code class='datatype'>string</code> <code class='argument'>file</code>, <code class='datatype'>int</code> <code class='argument'>length</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Truncates the file <code>file</code> to the length specified in <code>length</code>.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns 1 if ok, 0 if failed.</p> </dd></dl> </dd> <dt><a name='9.2'></a> <h2 class='header'>9.2. Path manipulation</h2></dt> <dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>basename</b></span> </dt> <dd><p><code><code class='datatype'>string</code> <b><span class='method'>basename</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Returns the last segment of a path.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>dirname()</code>, <code>explode_path()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>dirname</b></span> </dt> <dd><p><code><code class='datatype'>string</code> <b><span class='method'>dirname</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Returns all but the last segment of a path. Some example inputs and outputs:</p> <p> <table class='box'> <tr><td><b>Expression</b></td><td><b>Value</b></td></tr> <tr><td>dirname("/a/b")</td><td>"/a"</td></tr> <tr><td>dirname("/a/")</td><td>"/a"</td></tr> <tr><td>dirname("/a")</td><td>"/"</td></tr> <tr><td>dirname("/")</td><td>"/"</td></tr> <tr><td>dirname("")</td><td>""</td></tr> </table> </p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>basename()</code>, <code>explode_path()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>combine_path</b></span><br> <span class='homogen--type'>Method</span> <span class='homogen--name'><b>combine_path_unix</b></span><br> <span class='homogen--type'>Method</span> <span class='homogen--name'><b>combine_path_nt</b></span><br> <span class='homogen--type'>Method</span> <span class='homogen--name'><b>combine_path_amigaos</b></span><br> </dt> <dd><p><code><code class='datatype'>string</code> <b><span class='method'>combine_path</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>string</code> ... <code class='argument'>paths</code><b>)</b></code><br> <code><code class='datatype'>string</code> <b><span class='method'>combine_path_unix</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>string</code> ... <code class='argument'>paths</code><b>)</b></code><br> <code><code class='datatype'>string</code> <b><span class='method'>combine_path_nt</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>string</code> ... <code class='argument'>paths</code><b>)</b></code><br> <code><code class='datatype'>string</code> <b><span class='method'>combine_path_amigaos</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>string</code> ... <code class='argument'>paths</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Concatenate a number of paths to a straightforward path without any <code class='expr'>"//"</code>, <code class='expr'>"/.."</code> or <code class='expr'>"/."</code>. If any path argument is absolute then the result is absolute and the preceding arguments are ignored. If the result is relative then it might have leading <code class='expr'>".."</code> components. If the last nonempty argument ends with a directory separator then the result ends with that too. If all components in a relative path disappear due to subsequent <code class='expr'>".."</code> components then the result is <code class='expr'>"."</code>.</p> <p> <code>combine_path_unix()</code> concatenates in UNIX style, which also is appropriate for e.g. URL:s ("/" separates path components and absolute paths start with "/"). <code>combine_path_nt()</code> concatenates according to NT filesystem conventions ("/" and "\" separates path components and there might be a drive letter in front of absolute paths). <code>combine_path_amigaos()</code> concatenates according to AmigaOS filesystem conventions.</p> <p> <code>combine_path()</code> is equivalent to <code>combine_path_unix()</code> on UNIX-like operating systems, and equivalent to <code>combine_path_nt()</code> on NT-like operating systems, and equivalent to <code>combine_path_amigaos()</code> on AmigaOS-like operating systems.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>getcwd()</code>, <code>Stdio.append_path()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>explode_path</b></span> </dt> <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>string</code>) <b><span class='method'>explode_path</span>(</b><code class='datatype'>string</code> <code class='argument'>p</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Split a path <code>p</code> into its components.</p> <p> This function divides a path into its components. This might seem like it could be done by dividing the string on &lt;tt&gt;"/"&lt;/tt&gt;, but that will not work on some operating systems. To turn the components back into a path again, use <code>combine_path()</code>.</p> </dd></dl> </dd> <dt><a name='9.3'></a> <h2 class='header'>9.3. Status</h2></dt> <dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>file_stat</b></span> </dt> <dd><p><code><code class='object unresolved'>Stdio.Stat</code> <b><span class='method'>file_stat</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code>, <code class='datatype'>void</code>|<code class='datatype'>bool</code> <code class='argument'>symlink</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Stat a file.</p> <p> If the argument <code>symlink</code> is <code class='expr'>1</code> symlinks will not be followed.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>If the path specified by <code>path</code> doesn't exist <code class='expr'>0</code> (zero) will be returned.</p> <p> Otherwise an object describing the properties of <code>path</code> will be returned.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>In Pike 7.0 and earlier this function returned an array with 7 elements. The old behaviour can be simulated with the following function:</p> <pre><code><span class='type'>array</span><span class='delim'>(</span><span class='type'>int</span><span class='delim'>)</span> file_stat<span class='delim'>(</span><span class='type'>string</span> path<span class='delim'>,</span> <span class='type'>void</span><span class='delim'>|</span><span class='type'>int</span><span class='delim'>(</span>0..1<span class='delim'>)</span> symlink<span class='delim'>)</span> <span class='delim'>{</span> File<span class='delim'>.</span>Stat st <span class='delim'>=</span> predef::file_stat<span class='delim'>(</span>path<span class='delim'>,</span> symlink<span class='delim'>)</span><span class='delim'>;</span> <span class='lang'>if</span> <span class='delim'>(</span><span class='delim'>!</span>st<span class='delim'>)</span> <span class='lang'>return</span> 0<span class='delim'>;</span> <span class='lang'>return</span> <span class='delim'>(</span><span class='type'>array</span><span class='delim'>(</span><span class='type'>int</span><span class='delim'>)</span><span class='delim'>)</span>st<span class='delim'>;</span> <span class='delim'>}</span> </code></pre> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.Stat</code>, <code>Stdio.File-&gt;stat()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>filesystem_stat</b></span> </dt> <dd><p><code><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>) <b><span class='method'>filesystem_stat</span>(</b><code class='datatype'>string</code> <code class='argument'>path</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Returns a mapping describing the properties of the filesystem containing the path specified by <code>path</code>.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>If a filesystem cannot be determined <code class='expr'>0</code> (zero) will be returned.</p> <p> Otherwise a mapping(string:int) with the following fields will be returned:</p> <table class='box'><tr><td><code><code class='key'>"blocksize"</code> : <code class='datatype'>int</code></code></td><td><p>Size in bytes of the filesystem blocks.</p> </td></tr> <tr><td><code><code class='key'>"blocks"</code> : <code class='datatype'>int</code></code></td><td><p>Size of the entire filesystem in blocks.</p> </td></tr> <tr><td><code><code class='key'>"bfree"</code> : <code class='datatype'>int</code></code></td><td><p>Number of free blocks in the filesystem.</p> </td></tr> <tr><td><code><code class='key'>"bavail"</code> : <code class='datatype'>int</code></code></td><td><p>Number of available blocks in the filesystem. This is usually somewhat less than the <code class='expr'>"bfree"</code> value, and can usually be adjusted with eg tunefs(1M).</p> </td></tr> <tr><td><code><code class='key'>"files"</code> : <code class='datatype'>int</code></code></td><td><p>Total number of files (aka inodes) allowed by this filesystem.</p> </td></tr> <tr><td><code><code class='key'>"ffree"</code> : <code class='datatype'>int</code></code></td><td><p>Number of free files in the filesystem.</p> </td></tr> <tr><td><code><code class='key'>"favail"</code> : <code class='datatype'>int</code></code></td><td><p>Number of available files in the filesystem. This is usually the same as the <code class='expr'>"ffree"</code> value, and can usually be adjusted with eg tunefs(1M).</p> </td></tr> <tr><td><code><code class='key'>"fsname"</code> : <code class='datatype'>string</code></code></td><td><p>Name assigned to the filesystem. This item is not available on all systems.</p> </td></tr> <tr><td><code><code class='key'>"fstype"</code> : <code class='datatype'>string</code></code></td><td><p>Type of filesystem (eg <code class='expr'>"nfs"</code>). This item is not available on all systems. For some more uncommon filesystems this may be an integer representing the magic number for the filesystem type (cf <tt>statfs(2)</tt> on eg Linux systems).</p> </td></tr> </table> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>Please note that not all members are present on all OSs.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>file_stat()</code></p> </dd></dl> <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Stat</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This object is used to represent file status information from e.g. <code>file_stat()</code>.</p> <p> It contains the following items usually found in a C <tt>struct stat</tt>:</p> <dl class='group--doc'><dt>mode</dt> <dd><p>File mode (see <tt>mknod(2)</tt>).</p> </dd> <dt>size</dt> <dd><p>File size in bytes.</p> </dd> <dt>uid</dt> <dd><p>User ID of the file's owner.</p> </dd> <dt>gid</dt> <dd><p>Group ID of the file's owner.</p> </dd> <dt>atime</dt> <dd><p>Time of last access in seconds since 00:00:00 UTC, 1970-01-01.</p> </dd> <dt>mtime</dt> <dd><p>Time of last data modification.</p> </dd> <dt>ctime</dt> <dd><p>Time of last file status change.</p> </dd> <dt>atime_nsec</dt> <dd><p>Time of last access in nanoseconds, added to atime to get sub-second time</p> </dd> <dt>mtime_nsec</dt> <dd><p>Time of last modification in nanoseconds, added to mtime to get sub-second time</p> </dd> <dt>ctime_nsec</dt> <dd><p>Time of last file status change in nanoseconds, added to ctime to get sub-second time</p> </dd> <dt>ino</dt> <dd><p>Inode number.</p> </dd> <dt>nlink</dt> <dd><p>Number of links.</p> </dd> <dt>dev</dt> <dd><p>ID of the device containing a directory entry for this file.</p> </dd> <dt>rdev</dt> <dd><p>ID of the device.</p> </dd> </dl><p>It also contains some items that correspond to the C <tt>IS*</tt> macros:</p> <dl class='group--doc'><dt>isreg</dt> <dd><p>Set if the file is a regular file.</p> </dd> <dt>isdir</dt> <dd><p>Set if the file is a directory.</p> </dd> <dt>islnk</dt> <dd><p>Set if the file is a symbolic link. Note that symbolic links are normally followed by the stat functions, so this might only be set if you turn that off, e.g. by giving a nonzero second argument to <code>file_stat()</code>.</p> </dd> <dt>isfifo</dt> <dd><p>Set if the file is a FIFO (aka named pipe).</p> </dd> <dt>issock</dt> <dd><p>Set if the file is a socket.</p> </dd> <dt>ischr</dt> <dd><p>Set if the file is a character device.</p> </dd> <dt>isblk</dt> <dd><p>Set if the file is a block device.</p> </dd> </dl><p>There are also some items that provide alternative representations of the above:</p> <dl class='group--doc'><dt>type</dt> <dd><p>The type as a string, can be any of <code class='expr'>"reg"</code>, <code class='expr'>"dir"</code>, <code class='expr'>"lnk"</code>, <code class='expr'>"fifo"</code>, <code class='expr'>"sock"</code>, <code class='expr'>"chr"</code>, <code class='expr'>"blk"</code>, and <code class='expr'>"unknown"</code>.</p> </dd> <dt>mode_string</dt> <dd><p>The file mode encoded as a string in <tt>ls -l</tt> style, e.g. <code class='expr'>"drwxr-xr-x"</code>.</p> </dd> </dl><p>Note that some items might not exist or have meaningful values on some platforms.</p> <p> Additionally, the object may be initialized from or casted to an <code class='expr'>array</code> on the form of a 'traditional' LPC stat-array, and it's also possible to index the object directly with integers as if it were such an array. The stat-array has this format:</p> <table class='box'><tr><td colspan='2'>Array</td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>0</code></code></td><td><p>File mode, same as <tt>mode</tt>.</p> </td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>1</code></code></td><td><p>If zero or greater, the file is a regular file and this is its size in bytes. If less than zero it gives the type: -2=directory, -3=symlink and -4=device.</p> </td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>2</code></code></td><td><p>Time of last access, same as <tt>atime</tt>.</p> </td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>3</code></code></td><td><p>Time of last data modification, same as <tt>mtime</tt>.</p> </td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>4</code></code></td><td><p>Time of last file status change, same as <tt>ctime</tt>.</p> </td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>5</code></code></td><td><p>User ID of the file's owner, same as <tt>uid</tt>.</p> </td></tr> <tr><td><code><code class='datatype'>int</code> <code class='key'>6</code></code></td><td><p>Group ID of the file's owner, same as <tt>gid</tt>.</p> </td></tr> </table><p>It's possible to modify the stat struct by assigning values to the items. They essentially work as variables, although some of them affect others, e.g. setting <code class='expr'>isdir</code> clears <code class='expr'>isreg</code> and setting <code class='expr'>mode_string</code> changes many of the other items.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>_equal</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>equal</span>(</b><span class='class'>Stdio.Stat</span> <span class='argument'>from</span>, <code class='datatype'>mixed</code> <code class='argument'>other</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Compare this object with another <code>Stat</code> object.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>1</code> if <code>other</code> is a <code>Stat</code> object with the same content, and <code class='expr'>0</code> (zero) otherwise.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>cast</b></span> </dt> <dd><p><code><b>(</b><span class='datatype'><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>)</span><b>)</b><span class='class'>Stdio.Stat</span>()<br><b>(</b><span class='datatype'><code class='datatype'>array</code></span><b>)</b><span class='class'>Stdio.Stat</span>()<br></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Convert the stat object to a mapping or array.</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.Stat</span> <span class='class'>Stdio.Stat</span><b>(</b><code class='datatype'>void</code>|<code class='datatype'>object</code>|<code class='datatype'>array</code> <code class='argument'>stat</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>A new <code>Stdio.Stat</code> object can be initialized in two ways:</p> <ul> <li><p><code>stat</code> is an object, typically another <code>Stdio.Stat</code>. The stat info is copied from the object by getting the values of <code class='expr'>mode</code>, <code class='expr'>size</code>, <code class='expr'>atime</code>, <code class='expr'>mtime</code>, <code class='expr'>ctime</code>, <code class='expr'>uid</code>, <code class='expr'>gid</code>, <code class='expr'>dev</code>, <code class='expr'>ino</code>, <code class='expr'>nlink</code>, and <code class='expr'>rdev</code>.</p> </li><li><p><code>stat</code> is a seven element array on the 'traditional' LPC stat-array form (see the class doc).</p> </li></ul></dd></dl> </dd></dl></dd> <dt><a name='9.4'></a> <h2 class='header'>9.4. Error handling</h2></dt> <dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>errno</b></span> </dt> <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This function returns the system error from the last file operation.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>Note that you should normally use <code>Stdio.File-&gt;errno()</code> instead.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File-&gt;errno()</code>, <code>strerror()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>strerror</b></span> </dt> <dd><p><code><code class='datatype'>string</code> <b><span class='method'>strerror</span>(</b><code class='datatype'>int</code> <code class='argument'>errno</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This function returns a description of an error code. The error code is usually obtained from eg <code>Stdio.File-&gt;errno()</code>.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>On some platforms the string returned can be somewhat nondescriptive.</p> </dd></dl> </dd> <dt><a name='9.5'></a> <h2 class='header'>9.5. Files and sockets</h2></dt>
6bbb872020-05-23Marcus Comstedt <dd></dd> <dt><a name='9.6'></a> <h2 class='header'>9.6. Ports and UDP</h2></dt> <dd></dd> <dt><a name='9.7'></a> <h2 class='header'>9.7. Terminal I/O</h2></dt> <dd><dl><dt><h2 class='header'>Module <b class='ms datatype'>Stdio.Terminfo</b></h2> </dt><dd>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>getFallbackTerm</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
e4e3f32002-04-06Martin Nilsson  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Returns an object describing the fallback terminal for the terminal <code>term</code>. This is usually equivalent to <code>Stdio.Terminfo.getTerm("dumb")</code>.</p>
c3fe742003-02-05Martin Nilsson </dd> <dt class='head--doc'>See also</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Stdio.Terminfo.getTerm</p>
e4e3f32002-04-06Martin Nilsson </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>getTerm</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
e4e3f32002-04-06Martin Nilsson  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <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>
c3fe742003-02-05Martin Nilsson </dd> <dt class='head--doc'>See also</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Stdio.Terminfo.getTerminfo, Stdio.Terminfo.getTermcap, Stdio.getFallbackTerm</p>
e4e3f32002-04-06Martin Nilsson </dd></dl>
1f918f2002-05-26Martin Nilsson 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>getTermcap</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
e4e3f32002-04-06Martin Nilsson  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dd> <dt class='head--doc'>See also</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Stdio.Terminfo.getTerm, Stdio.Terminfo.getTerminfo</p>
e4e3f32002-04-06Martin Nilsson </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>getTerminfo</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
e4e3f32002-04-06Martin Nilsson  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <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>
c3fe742003-02-05Martin Nilsson </dd>
f6a4222017-07-10Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Stdio.Terminfo.getTerm, Stdio.Terminfo.getTermcap</p>
1f918f2002-05-26Martin Nilsson </dd></dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>is_tty</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>is_tty</span>(</b><b>)</b></code></p></dd>
f6a4222017-07-10Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <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>
1f918f2002-05-26Martin Nilsson </dd></dl>
6bbb872020-05-23Marcus Comstedt <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.MetaTerminfoDB</b></h2> </dt><dd><dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p><code>TerminfoDB</code> that merges several directorys.</p>
e4e3f32002-04-06Martin Nilsson </dd></dl>
f228872013-06-17Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
f228872013-06-17Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><span class='object'>Stdio.Terminfo.MetaTerminfoDB</span> <span class='class'>Stdio.Terminfo.MetaTerminfoDB</span><b>(</b><code class='datatype'>array</code>(<code class='object unresolved'>TerminfoDB</code>|<code class='datatype'>string</code>)|<code class='datatype'>void</code> <code class='argument'>dbs</code><b>)</b></code></p></dd>
f228872013-06-17Martin Nilsson  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Create a new Meta <code>TerminfoDB</code>.</p>
ed0ac82017-07-21Pontus Östlund </dd>
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'><span id='p-dbs'></span>Parameter <code class='parameter'>dbs</code></dt> <dd></dd><dd class='body--doc'><p>Array with elements in priority order. Elements may be either</p> <table class='box'><tr><td><code><code class='object unresolved'>TerminfoDB</code></code></td><td><p>An active <code>TerminfoDB</code>.</p> </td></tr> <tr><td><code><code class='datatype'>string</code></code></td><td><p>A directory that may exist and contain a terminfo database.</p> </td></tr> </table>
f6a4222017-07-10Henrik Grubbström (Grubba) </dd>
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>If the resulting set of <code>TerminfoDB</code>'s is empty, the object will be destructed.</p>
f228872013-06-17Martin Nilsson </dd></dl>
6bbb872020-05-23Marcus Comstedt </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.Termcap</b></h2> </dt><dd><dl class='group--doc'>
e4e3f32002-04-06Martin Nilsson <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Termcap terminal description object.</p>
1f918f2002-05-26Martin Nilsson </dd></dl>
e4e3f32002-04-06Martin Nilsson 
ed0ac82017-07-21Pontus Östlund <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>aliases</b></span>
ed0ac82017-07-21Pontus Östlund </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
f228872013-06-17Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
f228872013-06-17Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
f228872013-06-17Martin Nilsson  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>TermMachine</b></span>
f228872013-06-17Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><span class='datatype'>inherit TermMachine</span> : <span class='inherit'>TermMachine</span></code></p></dd> </dl>
f228872013-06-17Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>tputs</b></span>
f228872013-06-17Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
f228872013-06-17Martin Nilsson  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Put termcap string</p>
f228872013-06-17Martin Nilsson </dd></dl>
6bbb872020-05-23Marcus Comstedt </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.TermcapDB</b></h2> </dt><dd><dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Termcap database</p> </dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.Terminfo</b></h2> </dt><dd><dl class='group--doc'>
c3fe742003-02-05Martin Nilsson <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Terminfo terminal description object</p>
c3fe742003-02-05Martin Nilsson </dd></dl>
d961e22013-05-29Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>aliases</b></span>
d961e22013-05-29Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
d961e22013-05-29Henrik Grubbström (Grubba) 
2ca0cf2014-09-29Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
2ca0cf2014-09-29Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
2ca0cf2014-09-29Henrik Grubbström (Grubba) 
5465692008-06-13Martin Bähr <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>TermMachine</b></span>
5465692008-06-13Martin Bähr </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><span class='datatype'>inherit TermMachine</span> : <span class='inherit'>TermMachine</span></code></p></dd> </dl>
5465692008-06-13Martin Bähr  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>tputs</b></span>
0f4adf2003-07-22Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p>
0f4adf2003-07-22Henrik Grubbström (Grubba) </dd></dl>
6bbb872020-05-23Marcus Comstedt </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Terminfo.TerminfoDB</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Terminfo database for a single directory.</p> </dd></dl></dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline</b></h2> </dt><dd>
0f4adf2003-07-22Henrik Grubbström (Grubba) 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>add_to_kill_ring</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p>
e4e3f32002-04-06Martin Nilsson </dd></dl>
1f918f2002-05-26Martin Nilsson <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
1f918f2002-05-26Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
e4e3f32002-04-06Martin Nilsson 
1f918f2002-05-26Martin Nilsson <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Creates a Readline object, that takes input from <code>infd</code> and has output on <code>outfd</code>.</p>
c3fe742003-02-05Martin Nilsson </dd>
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'><span id='p-infd'></span>Parameter <code class='parameter'>infd</code></dt> <dd></dd><dd class='body--doc'><p>Defaults to <code>Stdio.stdin</code>.</p> </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>
1f918f2002-05-26Martin Nilsson </dd></dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>delete</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p>
e4e3f32002-04-06Martin Nilsson </dd></dl>
f6a4222017-07-10Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) 
429e502008-07-12Stephen R. van den Berg <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>delta_history</b></span>
429e502008-07-12Stephen R. van den Berg </dt>
6bbb872020-05-23Marcus Comstedt <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>
429e502008-07-12Stephen R. van den Berg  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dd>
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>Only effective if you have a history object.</p>
f6a4222017-07-10Henrik Grubbström (Grubba) </dd></dl>
70bc302014-09-28Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) 
1f918f2002-05-26Martin Nilsson <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>edit</b></span>
1f918f2002-05-26Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
e4e3f32002-04-06Martin Nilsson 
70bc302014-09-28Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'>
f6a4222017-07-10Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>enable_history</b></span>
70bc302014-09-28Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>eof</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>eof</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
9699552002-03-12Martin Nilsson 
2d83192003-10-30Martin Stjernholm <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>get_history</b></span>
2d83192003-10-30Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
2d83192003-10-30Martin Stjernholm 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>get_input_controller</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='object unresolved'>InputController</code> <b><span class='method'>get_input_controller</span>(</b><b>)</b></code></p></dd>
e4e3f32002-04-06Martin Nilsson 
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
bf9cb32020-05-13Henrik Grubbström (Grubba) 
4856ea2004-05-13H. William Welliver III 
e0c2812004-04-04Martin Stjernholm <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>get_output_controller</b></span>
e0c2812004-04-04Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='object unresolved'>OutputController</code> <b><span class='method'>get_output_controller</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund 
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'>Description</dt> <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> </dd></dl>
e4e3f32002-04-06Martin Nilsson 
388ed92005-02-01Martin Stjernholm <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>get_prompt</b></span>
388ed92005-02-01Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>string</code> <b><span class='method'>get_prompt</span>(</b><b>)</b></code></p></dd>
388ed92005-02-01Martin Stjernholm 
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Return the current prompt string.</p> </dd></dl>
e4e3f32002-04-06Martin Nilsson 
ed0ac82017-07-21Pontus Östlund 
5af4c12009-02-24Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>getcursorpos</b></span>
5af4c12009-02-24Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
ed0ac82017-07-21Pontus Östlund 
5af4c12009-02-24Henrik Grubbström (Grubba) 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>getmark</b></span>
ed0ac82017-07-21Pontus Östlund </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>gettext</b></span>
1f918f2002-05-26Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
c3fe742003-02-05Martin Nilsson 
e4e3f32002-04-06Martin Nilsson 
50af352002-07-15Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>history</b></span>
50af352002-07-15Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
e4e3f32002-04-06Martin Nilsson 
dea86c2004-04-05Martin Stjernholm <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>insert</b></span>
dea86c2004-04-05Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
dea86c2004-04-05Martin Stjernholm 
1f918f2002-05-26Martin Nilsson <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill</b></span>
1f918f2002-05-26Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
c3fe742003-02-05Martin Nilsson 
e4e3f32002-04-06Martin Nilsson 
dea86c2004-04-05Martin Stjernholm <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill_ring_yank</b></span>
dea86c2004-04-05Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>string</code> <b><span class='method'>kill_ring_yank</span>(</b><b>)</b></code></p></dd> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
ed0ac82017-07-21Pontus Östlund 
dea86c2004-04-05Martin Stjernholm 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>list_completions</b></span>
ed0ac82017-07-21Pontus Östlund </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
e4e3f32002-04-06Martin Nilsson 
70bc302014-09-28Henrik Grubbström (Grubba) 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>message</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
50af352002-07-15Martin Nilsson 
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Print a message to the output device</p> </dd></dl>
ed0ac82017-07-21Pontus Östlund 
50af352002-07-15Martin Nilsson 
1f72bf2004-09-18Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>newline</b></span>
1f72bf2004-09-18Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>string</code> <b><span class='method'>newline</span>(</b><b>)</b></code></p></dd> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
8ae0032003-10-29Henrik Grubbström (Grubba) 
c628122002-10-19Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>pointmark</b></span>
c628122002-10-19Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
c628122002-10-19Martin Nilsson 
8831a42004-09-18Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>read</b></span>
8831a42004-09-18Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
8831a42004-09-18Martin Nilsson 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>redisplay</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
1f918f2002-05-26Martin Nilsson 
e4e3f32002-04-06Martin Nilsson 
1f72bf2004-09-18Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>region</b></span>
1f72bf2004-09-18Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
1f72bf2004-09-18Martin Nilsson 
c628122002-10-19Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_blocking</b></span>
c628122002-10-19Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
c628122002-10-19Martin Nilsson 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_echo</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl>
e4e3f32002-04-06Martin Nilsson 
ed0ac82017-07-21Pontus Östlund 
c3fe742003-02-05Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_nonblocking</b></span>
ed0ac82017-07-21Pontus Östlund </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
c3fe742003-02-05Martin Nilsson 
c628122002-10-19Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_prompt</b></span>
c628122002-10-19Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Set the prompt string.</p> </dd> <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> </dd> <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> </dd></dl>
ed0ac82017-07-21Pontus Östlund 
70bc302014-09-28Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>setcursorpos</b></span>
70bc302014-09-28Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
c628122002-10-19Martin Nilsson 
dea86c2004-04-05Martin Stjernholm <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>setmark</b></span>
dea86c2004-04-05Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <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> <dt class='head--fixme'>FIXME</dt> <dd class='body--fixme'><p>Document this function</p> </dd></dl>
dea86c2004-04-05Martin Stjernholm 
ac9c552013-12-06Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>write</b></span>
ac9c552013-12-06Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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> </dd></dl> <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.DefaultEditKeys</b></h2> </dt><dd>
ac9c552013-12-06Henrik Grubbström (Grubba) 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>backward_char</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_char</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dl>
e4e3f32002-04-06Martin Nilsson 
ed0ac82017-07-21Pontus Östlund 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>backward_delete_char</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_delete_char</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dl>
e4e3f32002-04-06Martin Nilsson 
dea86c2004-04-05Martin Stjernholm <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>backward_kill_word</b></span>
dea86c2004-04-05Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_kill_word</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dl>
e4e3f32002-04-06Martin Nilsson 
1f918f2002-05-26Martin Nilsson <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>backward_word</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>backward_word</span>(</b><b>)</b></code></p></dd> </dl>
bf9cb32020-05-13Henrik Grubbström (Grubba) 
f6a4222017-07-10Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>beginning_of_line</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>beginning_of_line</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt 
f6a4222017-07-10Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>capitalize_word</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>capitalize_word</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
f6a4222017-07-10Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>clear_screen</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>clear_screen</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
f6a4222017-07-10Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
e4e3f32002-04-06Martin Nilsson 
c628122002-10-19Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>delete_char</b></span>
c628122002-10-19Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>delete_char</span>(</b><b>)</b></code></p></dd>
70bc302014-09-28Henrik Grubbström (Grubba) </dl>
c628122002-10-19Martin Nilsson 
e4e3f32002-04-06Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>delete_char_or_eof</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>delete_char_or_eof</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
f6a4222017-07-10Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>down_history</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>down_history</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
f6a4222017-07-10Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>downcase_word</b></span>
f6a4222017-07-10Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>downcase_word</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
6f7a292003-06-02Martin Stjernholm  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>end_of_line</b></span>
6f7a292003-06-02Martin Stjernholm </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>end_of_line</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
6f7a292003-06-02Martin Stjernholm 
b361662010-06-05Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>forward_char</b></span>
b361662010-06-05Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>forward_char</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
b361662010-06-05Henrik Grubbström (Grubba) 
e4e3f32002-04-06Martin Nilsson 
1f918f2002-05-26Martin Nilsson <hr /> <dl class='group--doc'>
70bc302014-09-28Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>forward_word</b></span>
1f918f2002-05-26Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>forward_word</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
9699552002-03-12Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill_line</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_line</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
70bc302014-09-28Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill_region</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_region</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
9699552002-03-12Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill_ring_save</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_ring_save</span>(</b><b>)</b></code></p></dd> </dl>
9699552002-03-12Martin Nilsson  <hr /> <dl class='group--doc'>
70bc302014-09-28Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill_whole_line</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_whole_line</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
9699552002-03-12Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>kill_word</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>kill_word</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
f6a4222017-07-10Henrik Grubbström (Grubba) 
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
70bc302014-09-28Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>newline</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>newline</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
9699552002-03-12Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>quoted_insert</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>quoted_insert</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
70bc302014-09-28Henrik Grubbström (Grubba) 
9699552002-03-12Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>redisplay</b></span>
9699552002-03-12Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>redisplay</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>self_insert_command</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt 
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_default_bindings</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_mark</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_mark</span>(</b><b>)</b></code></p></dd>
70bc302014-09-28Henrik Grubbström (Grubba) </dl>
78c3e22003-01-03Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>swap_mark_and_point</b></span>
78c3e22003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>swap_mark_and_point</span>(</b><b>)</b></code></p></dd> </dl>
78c3e22003-01-03Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>transpose_chars</b></span>
78c3e22003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>transpose_chars</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
78c3e22003-01-03Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>up_history</b></span>
78c3e22003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>up_history</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
78c3e22003-01-03Martin Nilsson 
3a44ef2003-01-03Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>upcase_word</b></span>
3a44ef2003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>upcase_word</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
3a44ef2003-01-03Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>yank</b></span>
3a44ef2003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>yank</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.History</b></h2> </dt><dd>
3a44ef2003-01-03Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
3a44ef2003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
3a44ef2003-01-03Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>encode</b></span>
3a44ef2003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>string</code> <b><span class='method'>encode</span>(</b><b>)</b></code></p></dd> </dl>
3a44ef2003-01-03Martin Nilsson 
c3fe742003-02-05Martin Nilsson 
7867992003-01-03Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>finishline</b></span>
7867992003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
7867992003-01-03Martin Nilsson 
3a44ef2003-01-03Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>get_history_num</b></span>
3a44ef2003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>get_history_num</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
bf9cb32020-05-13Henrik Grubbström (Grubba) 
3a44ef2003-01-03Martin Nilsson 
7867992003-01-03Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>history</b></span>
7867992003-01-03Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
7867992003-01-03Martin Nilsson 
e8d6742002-12-05H. William Welliver III <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>initline</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>initline</span>(</b><b>)</b></code></p></dd>
ed0ac82017-07-21Pontus Östlund </dl>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>pop</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>pop</span>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>text</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Pop the last string off the history, discarding it. If text is provided, will only pop that string. Returns 1 if a string was removed, 0 if not.</p> </dd></dl>
f6a4222017-07-10Henrik Grubbström (Grubba) 
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_max_history</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.InputController</b></h2> </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>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>bind</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>bindstr</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
e8d6742002-12-05H. William Welliver III 
029dae2017-10-13Chris Angelico <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>bindtc</b></span>
029dae2017-10-13Chris Angelico </dt>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dl>
029dae2017-10-13Chris Angelico 
e8d6742002-12-05H. William Welliver III <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
e8d6742002-12-05H. William Welliver III 
bf9cb32020-05-13Henrik Grubbström (Grubba) 
e8d6742002-12-05H. William Welliver III <hr /> <dl class='group--doc'>
ed0ac82017-07-21Pontus Östlund <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>disable</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>disable</span>(</b><b>)</b></code></p></dd> </dl>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>enable</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt 
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>getbinding</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>getbindings</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>getbindingstr</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>getbindingtc</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>grabnextkey</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>isenabled</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>isenabled</span>(</b><b>)</b></code></p></dd> </dl>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>nullbindings</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>nullbindings</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Clears the bindings.</p>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd></dl>
e8d6742002-12-05H. William Welliver III  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>parsekey</b></span>
e8d6742002-12-05H. William Welliver III </dt>
6bbb872020-05-23Marcus Comstedt <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>
c3fe742003-02-05Martin Nilsson 
e4e3f32002-04-06Martin Nilsson  <hr /> <dl class='group--doc'>
50af352002-07-15Martin Nilsson <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>run_blocking</b></span>
e4e3f32002-04-06Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>run_blocking</span>(</b><b>)</b></code></p></dd> </dl>
70bc302014-09-28Henrik Grubbström (Grubba) 
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>set_close_callback</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>unbind</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>unbindstr</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson 
f6a4222017-07-10Henrik Grubbström (Grubba) 
d5f90f2003-06-27Martin Nilsson <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>unbindtc</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Readline.OutputController</b></h2> </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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>beep</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>beep</span>(</b><b>)</b></code></p></dd> </dl>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>bol</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>bol</span>(</b><b>)</b></code></p></dd> </dl>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>check_columns</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>check_columns</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Check and return the terminal width.</p>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd>
6bbb872020-05-23Marcus Comstedt <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>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd> <dt class='head--doc'>See also</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p><code>get_number_of_columns</code></p>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd></dl>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>clear</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
f6a4222017-07-10Henrik Grubbström (Grubba) 
ed0ac82017-07-21Pontus Östlund  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>create</b></span>
ed0ac82017-07-21Pontus Östlund </dt>
6bbb872020-05-23Marcus Comstedt <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>
8847d02004-11-02Henrik Grubbström (Grubba) 
d5f90f2003-06-27Martin Nilsson <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>disable</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>disable</span>(</b><b>)</b></code></p></dd> </dl>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>enable</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>enable</span>(</b><b>)</b></code></p></dd> </dl>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>erase</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>get_number_of_columns</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>int</code> <b><span class='method'>get_number_of_columns</span>(</b><b>)</b></code></p></dd>
bf9cb32020-05-13Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p>Returns the width of the terminal.</p>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd>
6bbb872020-05-23Marcus Comstedt <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>Does not check the width of the terminal.</p>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd> <dt class='head--doc'>See also</dt>
6bbb872020-05-23Marcus Comstedt <dd class='body--doc'><p><code>check_columns</code></p>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dd></dl>
f6a4222017-07-10Henrik Grubbström (Grubba) 
ed0ac82017-07-21Pontus Östlund  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>low_erase</b></span>
ed0ac82017-07-21Pontus Östlund </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>low_move_backward</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>low_move_downward</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>low_move_forward</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>low_move_upward</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>low_write</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
d5f90f2003-06-27Martin Nilsson  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>move_backward</b></span>
d5f90f2003-06-27Martin Nilsson </dt>
6bbb872020-05-23Marcus Comstedt <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>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>move_forward</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>newline</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <dd><p><code><code class='datatype'>void</code> <b><span class='method'>newline</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
ed0ac82017-07-21Pontus Östlund <hr /> <dl class='group--doc'>
6bbb872020-05-23Marcus Comstedt <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>turn_off</b></span>
4a038c2015-08-27Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
4a038c2015-08-27Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>turn_on</b></span>
4a038c2015-08-27Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
4a038c2015-08-27Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
6bbb872020-05-23Marcus Comstedt <span class='homogen--name'><b>write</b></span>
4a038c2015-08-27Henrik Grubbström (Grubba) </dt>
6bbb872020-05-23Marcus Comstedt <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>
ed0ac82017-07-21Pontus Östlund </dl>
6bbb872020-05-23Marcus Comstedt </dd></dl></dd></dl></dd> <dt><a name='9.8'></a> <h2 class='header'>9.8. Other</h2></dt> <dd><dl><dt><h2 class='header'>Module <b class='ms datatype'>Stdio</b></h2> </dt><dd><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.FakeFile</b></h2>
bf9cb32020-05-13Henrik Grubbström (Grubba) </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>A string wrapper that pretends to be a <code>Stdio.File</code> object in addition to some features of a <code>Stdio.FILE</code> object.</p> </dd></dl>
4a038c2015-08-27Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>_sizeof</b></span>
4a038c2015-08-27Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int(0..)</code> <b><span class='method'>sizeof</span>(</b> <span class='class'>Stdio.FakeFile</span> <span class='argument'>arg</span> <b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Sizeof on a FakeFile returns the size of its contents.</p> </dd></dl>
4a038c2015-08-27Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>cast</b></span>
4a038c2015-08-27Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><b>(</b><span class='datatype'>int</span><b>)</b><span class='class'>Stdio.FakeFile</span>()<br><b>(</b><span class='datatype'>float</span><b>)</b><span class='class'>Stdio.FakeFile</span>()<br><b>(</b><span class='datatype'>string</span><b>)</b><span class='class'>Stdio.FakeFile</span>()<br><b>(</b><span class='datatype'>array</span><b>)</b><span class='class'>Stdio.FakeFile</span>()<br><b>(</b><span class='datatype'>mapping</span><b>)</b><span class='class'>Stdio.FakeFile</span>()<br><b>(</b><span class='datatype'>multiset</span><b>)</b><span class='class'>Stdio.FakeFile</span>()</code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>A FakeFile can be casted to a string.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl>
bf9cb32020-05-13Henrik Grubbström (Grubba) 
c3ab1f2019-01-24Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>close</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>close</span>(</b><code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>direction</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;close()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>create</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><span class='object'>Stdio.FakeFile</span> <span class='class'>Stdio.FakeFile</span><b>(</b><code class='datatype'>string</code> <code class='argument'>data</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>type</code>, <code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>pointer</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;create()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>dup</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>dup</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;dup()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>errno</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>Always returns 0.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd> <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;errno()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>getchar</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>getchar</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.FILE()-&gt;getchar()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>gets</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>string</code> <b><span class='method'>gets</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.FILE()-&gt;gets()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Constant</span> <span class='homogen--name'><b>is_fake_file</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.FakeFile.<code class='constant'>is_fake_file</code></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>This constant can be used to distinguish a FakeFile object from a real <code>Stdio.File</code> object.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>line_iterator</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='object unresolved'>String.SplitIterator</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>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;line_iterator()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>peek</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int(-1..1)</code> <b><span class='method'>peek</span>(</b><code class='datatype'>int</code>|<code class='datatype'>float</code>|<code class='datatype'>void</code> <code class='argument'>timeout</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;peek()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_address</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>string</code> <b><span class='method'>query_address</span>(</b><code class='datatype'>void</code>|<code class='datatype'>bool</code> <code class='argument'>is_local</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>Always returns 0.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;query_address()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_close_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>query_close_callback</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;query_close_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_id</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>query_id</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;query_id()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_read_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>query_read_callback</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;query_read_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_read_oob_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>query_read_oob_callback</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;query_read_oob_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_write_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>query_write_callback</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;query_write_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_write_oob_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>query_write_oob_callback</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;query_write_oob_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>read</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read</span>(</b><code class='datatype'>void</code>|<code class='datatype'>int(0..)</code> <code class='argument'>len</code>, <code class='datatype'>void</code>|<code class='datatype'>bool</code> <code class='argument'>not_all</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;read()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>read_function</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;read_function()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>seek</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>seek</span>(</b><code class='datatype'>int</code> <code class='argument'>pos</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>how</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;seek()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_blocking</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_blocking</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_blocking_keep_callbacks</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking_keep_callbacks</span>(</b><b>)</b></code></p></dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;set_blocking_keep_callbacks</code></p> </dd></dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_close_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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 void'>void</code>) <code class='argument'>cb</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_close_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_id</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_id()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_nonblocking</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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'>rcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>ccb</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>rocb</code>, <code class='datatype'>void</code>|<code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wocb</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_blocking</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_nonblocking_keep_callbacks</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking_keep_callbacks</span>(</b><b>)</b></code></p></dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;set_blocking_keep_callbacks</code></p> </dd></dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_read_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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 void'>void</code>) <code class='argument'>cb</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_read_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_read_oob_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>cb</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_read_oob_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_write_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>cb</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;set_write_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_write_oob_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>cb</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;set_write_oob_callback</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl>
74709c2020-04-24Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>stat</b></span>
74709c2020-04-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='object unresolved'>Stdio.Stat</code> <b><span class='method'>stat</span>(</b><b>)</b></code></p></dd>
74709c2020-04-24Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>Returns size and the creation time of the string.</p> </dd></dl>
74709c2020-04-24Henrik Grubbström (Grubba) 
c3ab1f2019-01-24Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>sync</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int(1..1)</code> <b><span class='method'>sync</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>Always returns 1.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd> <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;sync()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>tell</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>tell</span>(</b><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;tell()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>truncate</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>truncate</span>(</b><code class='datatype'>int</code> <code class='argument'>length</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.File()-&gt;truncate()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>unread</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>unread</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.FILE()-&gt;unread()</code></p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>write</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int(-1..)</code> <b><span class='method'>write</span>(</b><code class='datatype'>string</code>|<code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>str</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra</code><b>)</b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>See also</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p><code>Stdio.File()-&gt;write()</code></p> </dd></dl> </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.FakePipe</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This module emulates a bidirectional pipe/socket without using any actual file descriptors.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>create</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><span class='object'>Stdio.FakePipe</span> <span class='class'>Stdio.FakePipe</span><b>(</b><code class='datatype'>void</code>|<code class='datatype'>string</code> <code class='argument'>direction</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>InternalSocket</b></span> </dt> <dd><p><code><span class='datatype'>inherit InternalSocket</span> : <span class='inherit'>InternalSocket</span></code></p></dd> </dl> <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.FakePipe.InternalSocket</b></h2> </dt><dd><dl class='group--doc'>
c3ab1f2019-01-24Henrik Grubbström (Grubba) <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>Class that implements one end of an emulated bi-directional pipe/socket.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl>
bf9cb32020-05-13Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>_other</b></span><br> <span class='homogen--type'>Variable</span> <span class='homogen--name'><b>_read_buffer</b></span><br> <span class='homogen--type'>Variable</span> <span class='homogen--name'><b>_write_buffer</b></span><br> <span class='homogen--type'>Variable</span> <span class='homogen--name'><b>mux</b></span><br> <span class='homogen--type'>Variable</span> <span class='homogen--name'><b>cond</b></span><br> </dt> <dd><p><code><code class='modifier'>protected</code> <code class='object unresolved'>this_program</code> Stdio.FakePipe.InternalSocket.<b><span class='variable'>_other</span></b></code><br> <code><code class='object unresolved'>Stdio.Buffer</code> Stdio.FakePipe.InternalSocket.<b><span class='variable'>_read_buffer</span></b></code><br> <code><code class='object unresolved'>Stdio.Buffer</code> Stdio.FakePipe.InternalSocket.<b><span class='variable'>_write_buffer</span></b></code><br> <code><code class='modifier'>protected</code> <code class='object unresolved'>Thread.Mutex</code> Stdio.FakePipe.InternalSocket.<b><span class='variable'>mux</span></b></code><br> <code><code class='modifier'>protected</code> <code class='object unresolved'>Thread.Condition</code> Stdio.FakePipe.InternalSocket.<b><span class='variable'>cond</span></b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>close</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>close</span>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>direction</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba)  <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.FakePipe.InternalSocket</span> <span class='class'>Stdio.FakePipe.InternalSocket</span><b>(</b><code class='object unresolved'>this_program</code> <code class='argument'>_other</code>, <code class='object unresolved'>Stdio.Buffer</code> <code class='argument'>_read_buffer</code>, <code class='object unresolved'>Stdio.Buffer</code> <code class='argument'>_write_buffer</code>, <code class='object unresolved'>Thread.Mutex</code> <code class='argument'>mux</code>, <code class='object unresolved'>Thread.Condition</code> <code class='argument'>cond</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>errno</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int</code> <b><span class='method'>errno</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>get_close_callback</b></span> </dt> <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>get_close_callback</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bad81d2020-04-02Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>get_id</b></span>
bad81d2020-04-02Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>get_id</span>(</b><b>)</b></code></p></dd> </dl>
bad81d2020-04-02Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>get_read_callback</b></span> </dt> <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>get_read_callback</span>(</b><b>)</b></code></p></dd> </dl>
bad81d2020-04-02Henrik Grubbström (Grubba) 
c3ab1f2019-01-24Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>get_write_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <b><span class='method'>get_write_callback</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>is_open</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>is_open</span>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>direction</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>other</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='object unresolved'>this_program</code> Stdio.FakePipe.InternalSocket.<b><span class='variable'>other</span></b></code></p></dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <dt class='head--doc'>Description</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>The other end of the emulated pipe/socket.</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd> <dt class='head--doc'>Note</dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd class='body--doc'><p>Read only</p>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>peek</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>int(-1..1)</code> <b><span class='method'>peek</span>(</b><code class='datatype'>int</code>|<code class='datatype'>float</code>|<code class='datatype'>void</code> <code class='argument'>timeout</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>not_eof</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>query_backend</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='object unresolved'>Pike.Backend</code> <b><span class='method'>query_backend</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>read</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>string(8bit)</code> <b><span class='method'>read</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>nbytes</code>, <code class='object unresolved'>bool</code>|<code class='datatype'>void</code> <code class='argument'>not_all</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_backend</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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'>be</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_blocking</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_callbacks</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_callbacks</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>rcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>ccb</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_close_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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 void'>void</code>) <code class='argument'>ccb</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_id</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_nonblocking</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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'>rcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>ccb</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_nonblocking_keep_callbacks</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking_keep_callbacks</span>(</b><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_read_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <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 void'>void</code>) <code class='argument'>rcb</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba)  <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
bf9cb32020-05-13Henrik Grubbström (Grubba) <span class='homogen--name'><b>set_write_callback</b></span>
c3ab1f2019-01-24Henrik Grubbström (Grubba) </dt>
bf9cb32020-05-13Henrik Grubbström (Grubba) <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wcb</code><b>)</b></code></p></dd> </dl>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
bf9cb32020-05-13Henrik Grubbström (Grubba) <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'>int</code> <b><span class='method'>write</span>(</b><code class='object unresolved'>sprintf_format</code>|<code class='datatype'>array</code>(<code class='datatype'>string(8bit)</code>) <code class='argument'>data</code>, <code class='object unresolved'>sprintf_args</code> ... <code class='argument'>args</code><b>)</b></code></p></dd> </dl> </dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Fd</b></h2> </dt><dd>
c3ab1f2019-01-24Henrik Grubbström (Grubba) 
40ffba2020-02-26Henrik Grubbström (Grubba) <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>tcdrain</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>tcdrain</span>(</b><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Wait for transmission buffers to empty.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success and <code class='expr'>0</code> (zero) on failure.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>tcflush()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>tcflush</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>tcflush</span>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>flush_direction</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Flush queued terminal control messages.</p> </dd> <dt class='head--doc'><span id='p-flush_direction'></span>Parameter <code class='parameter'>flush_direction</code></dt> <dd></dd><dd class='body--doc'><table class='box'><tr><td><code><code class='key'>"TCIFLUSH"</code></code></td><td><p>Flush received but not read.</p> </td></tr> <tr><td><code><code class='key'>"TCOFLUSH"</code></code></td><td><p>Flush written but not transmitted.</p> </td></tr> <tr><td><code><code class='key'>"TCIOFLUSH"</code></code></td><td><p>Flush both of the above. Default.</p> </td></tr> </table> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success and <code class='expr'>0</code> (zero) on failure.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>tcdrain()</code></p> </dd></dl> <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> </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 in bits.</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> </dd> <dt class='head--doc'>Example</dt> <dd class='example'><pre><p>// setting the terminal in raw mode: Stdio.stdin-&gt;tcsetattr((["ECHO":0,"ICANON":0,"VMIN":0,"VTIME":0]));</p> </pre></dd> <dt class='head--doc'>Note</dt> <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> </dd> <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> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>tcsetsize()</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>tcsendbreak</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>tcsendbreak</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>duration</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Send a break signal.</p> </dd> <dt class='head--doc'><span id='p-duration'></span>Parameter <code class='parameter'>duration</code></dt> <dd></dd><dd class='body--doc'><p>Duration to send the signal for. <code class='expr'>0</code> (zero) causes a break signal to be sent for between 0.25 and 0.5 seconds. Other values are operating system dependent:</p> <dl class='group--doc'><dt>SunOS</dt> <dd><p>The number of joined break signals as above.</p> </dd> <dt>Linux, AIX, Digital Unix, Tru64</dt> <dd><p>The time in milliseconds.</p> </dd> <dt>FreeBSD, NetBSD, HP-UX, MacOS</dt> <dd><p>The value is ignored.</p> </dd> <dt>Solaris, Unixware</dt> <dd><p>The behavior is changed to be similar to <code>tcdrain()</code>.</p> </dd> </dl> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success and <code class='expr'>0</code> (zero) on failure.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>tcsetsize</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>tcsetsize</span>(</b><code class='datatype'>int</code> <code class='argument'>rows</code>, <code class='datatype'>int</code> <code class='argument'>cols</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Set the number of rows and columns for a terminal.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns <code class='expr'>1</code> on success and <code class='expr'>0</code> (zero) on failure.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>tcgetattr()</code>, <code>tcsetattr()</code></p> </dd></dl>
ed0ac82017-07-21Pontus Östlund </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.sendfile</b></h2> </dt><dd><dl class='group--doc'>
f228872013-06-17Martin Nilsson <dt class='head--doc'>Description</dt>
ed0ac82017-07-21Pontus Östlund <dd class='body--doc'><p>Send <code class='expr'>headers&nbsp;+&nbsp;from_fd[off..off+len-1]&nbsp;+&nbsp;trailers</code> to <code class='expr'>to_fd</code> asyncronously.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>This is the low-level implementation, which has several limitations. You probably want to use <code>Stdio.sendfile()</code> instead.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.sendfile()</code></p>
f228872013-06-17Martin Nilsson </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
ed0ac82017-07-21Pontus Östlund <span class='homogen--name'><b>create</b></span>
f228872013-06-17Martin Nilsson </dt>
ed0ac82017-07-21Pontus Östlund <dd><p><code><span class='object'>Stdio.sendfile</span> <span class='class'>Stdio.sendfile</span><b>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>headers</code>, <code class='datatype'>object</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='datatype'>object</code> <code class='argument'>to</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>callback</code>, <code class='datatype'>mixed</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>
f228872013-06-17Martin Nilsson  <dt class='head--doc'>Description</dt>
ed0ac82017-07-21Pontus Östlund <dd class='body--doc'><p>Low-level implementation of <code>Stdio.sendfile()</code>.</p> <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 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 <code>from</code>.</p> <p> Setting <code>len</code> to <code class='expr'>-1</code> means send until <code>from</code>'s end of file is reached.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>Don't use this class directly! Use <code>Stdio.sendfile()</code> instead.</p> <p> In Pike 7.7 and later the <code>callback</code> function will be called from the backend associated with <code>to</code>.</p> </dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>May use blocking I/O and thus trigger process being killed with <tt>SIGPIPE</tt> when the other end closes the connection. Add a call to <code>signal()</code> to avoid this.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Stdio.sendfile()</code></p>
f228872013-06-17Martin Nilsson </dd></dl>
67a55c2019-06-15Stephen R. van den Berg </dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Stdio.Pipe</b></h2> </dt><dd><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Pipe.Base</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This module provides a generic data processing non-blocking pipe interface. Set it to a pool of dedicated backends to use more than one CPU core (use one thread per backend). Use it in conjunction with the Shuffler to scale to an unlimited number of CPU cores.</p> </dd></dl> <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='modifier'>final</code> <code class='datatype'>int</code> <b><span class='method'>close</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.Pipe.Base</span> <span class='class'>Stdio.Pipe.Base</span><b>(</b><code class='object unresolved'>Gz.deflate</code>|<code class='datatype'>void</code> <code class='argument'>engine</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Note that the Gz.deflate engine provided needs to be preconfigured using negative compression levels.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>engine</b></span> </dt> <dd><p><code><code class='datatype'>object</code> Stdio.Pipe.Base.<b><span class='variable'>engine</span></b></code></p></dd> <dt class='head--doc'>Note</dt> <dd class='body--doc'><p>Read only</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>process_data</b></span> </dt> <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>process_data</span>(</b><code class='datatype'>string(8bit)</code> <code class='argument'>data</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>process_header</b></span> </dt> <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>string(8bit)</code> <b><span class='method'>process_header</span>(</b><code class='datatype'>string(8bit)</code> <code class='argument'>data</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>process_init</b></span> </dt> <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>process_init</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>process_trailer</b></span> </dt> <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>process_trailer</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_backend</b></span> </dt> <dd><p><code><code class='modifier'>final</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> </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='modifier'>final</code> <code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</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>set_nonblocking</b></span> </dt> <dd><p><code><code class='modifier'>final</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'>rcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wcb</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</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>set_read_callback</b></span> </dt> <dd><p><code><code class='modifier'>final</code> <code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>rcb</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_write_callback</b></span> </dt> <dd><p><code><code class='modifier'>final</code> <code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>wcb</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>write</b></span> </dt> <dd><p><code><code class='modifier'>final</code> <code class='datatype'>int</code> <b><span class='method'>write</span>(</b><code class='datatype'>string(8bit)</code> <code class='argument'>data</code><b>)</b></code></p></dd> </dl> </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Pipe.Gunzip</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This module provides a gzip-uncompressing non-blocking pipe interface.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>Base</b></span> </dt> <dd><p><code><span class='datatype'>inherit .Base</span> : <span class='inherit'>Base</span></code></p></dd> </dl> </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Pipe.Gzip</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This module provides a gzip-compressing non-blocking pipe interface. Set it to a pool of dedicated backends to use more than one CPU core to compress data (use one thread per backend). Use it in conjunction with the Shuffler to scale to an unlimited number of CPU cores.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>Base</b></span> </dt> <dd><p><code><span class='datatype'>inherit .Base</span> : <span class='inherit'>Base</span></code></p></dd> </dl> </dd></dl></dd></dl></dd></dl></dd></dl></body></html>