autodoc.git / onepage.xml

version» Context lines:

autodoc.git/onepage.xml:1:   <?xml version='1.0' encoding='utf-8'?> - <manual time-stamp='2020-05-19' version='Pike v8.1.13'> + <manual time-stamp='2020-05-23' version='Pike v8.1.13'>    <dir name='./onepage'>    <file name='./onepage/manual.html'>    <chapter number='1' title='Control Structures'>      <p>In this chapter all the control structures in Pike will be   explained. Control structures are used to control the flow of the   program execution. Note that functions that make the program pause and   simple function calls are not qualified as control structures.</p>      <section number='1' title='Conditions'>
autodoc.git/onepage.xml:3305:   <variable name='client_cert_distinguished_names'><type><array><valuetype><string/></valuetype></array></type></variable>   </docgroup>   <docgroup homogen-type='variable'><doc><text><p>Random cookies, sent and received with the hello-messages.</p>   </text></doc>   <variable name='client_random'><type><string/></type></variable>   <variable name='server_random'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><group><param name='is_server'/><text><p>Whether this is the server end of the connection or not.</p>   </text></group><group><param name='ctx'/><text><p>The context for the connection.</p>   </text></group><group><param name='min_version'/><text><p>Minimum version of SSL to support. -  Defaults to <ref resolved='predef::SSL.Constants.ProtocolVersion.PROTOCOL_SSL_3_0'>Constants.PROTOCOL_SSL_3_0</ref>.</p> +  Defaults to <ref resolved='7.8::SSL.Constants.ProtocolVersion.PROTOCOL_SSL_3_0'>Constants.PROTOCOL_SSL_3_0</ref>.</p>   </text></group><group><param name='max_version'/><text><p>Maximum version of SSL to support.    Defaults to <ref resolved='7.8::SSL.Constants.PROTOCOL_minor'>Constants.PROTOCOL_minor</ref>.</p>   </text></group></doc>   <method name='create'>   <arguments><argument name='is_server'><type><int/></type></argument><argument name='ctx'><type><or><void/><object resolved='7.8::SSL.context'>SSL.context</object></or></type></argument><argument name='min_version'><type><or><void/><object resolved='7.8::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></or></type></argument><argument name='max_version'><type><or><void/><object resolved='7.8::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='handle_handshake' homogen-type='method'><doc><text><p>Do handshake processing. Type is one of HANDSHAKE_*, data is the    contents of the packet, and raw is the raw packet received (needed
autodoc.git/onepage.xml:3472:   <variable name='rsa'><type><object resolved='7.8::Crypto.RSA'>Crypto.RSA</object></type></variable>   </docgroup>   <docgroup homogen-name='set_cipher_suite' homogen-type='method'><doc><text><p>Sets the proper authentication method and cipher specification    for the given cipher <ref resolved='7.8::SSL.session.set_cipher_suite.suite'>suite</ref> and <ref>verison</ref>.</p>   </text></doc>   <method name='set_cipher_suite'>   <arguments><argument name='suite'><type><int/></type></argument><argument name='version'><type><or><object resolved='7.8::SSL.Constants.ProtocolVersion'>ProtocolVersion</object><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_compression_method' homogen-type='method'><doc><text><p>Sets the compression method. Currently only <ref resolved='predef::SSL.Constants.CompressionType.COMPRESSION_null'>COMPRESSION_null</ref> is + <docgroup homogen-name='set_compression_method' homogen-type='method'><doc><text><p>Sets the compression method. Currently only <ref resolved='7.8::SSL.Constants.CompressionType.COMPRESSION_null'>COMPRESSION_null</ref> is    supported.</p>   </text></doc>   <method name='set_compression_method'>   <arguments><argument name='compr'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='sslfile'>   <doc><text><p>Interface similar to <ref resolved='7.8::Stdio.File'>Stdio.File</ref>.</p>
autodoc.git/onepage.xml:4510:   </docgroup>   <docgroup homogen-name='Types' homogen-type='import'>   <import name='Types'><classname resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</classname></import>   </docgroup>   </module>   </module>   </module>   <module name='Stdio'>   <doc><text><p>Pike 7.8 compatibility <ref resolved='predef::Stdio'>predef::Stdio</ref> implementation.</p>   <p> The main difference from later versions of Pike -  is that <ref resolved='predef::Stdio.File'>Stdio.File</ref> and <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> use +  is that <ref resolved='7.8::Stdio.File'>Stdio.File</ref> and <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref> use    proxy functions defined in <ref resolved='predef::_Stdio.Fd_ref'>_Stdio.Fd_ref</ref>,    instead of accessing the file descriptors directly.</p>   </text></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='8.0::'>7.9::</classname></import>   </docgroup>   <docgroup homogen-name='Stdio' homogen-type='inherit'>   <inherit name='Stdio'><classname resolved='predef::Stdio'>7.9::Stdio</classname></inherit>   </docgroup>   <class name='FILE'> - <doc><text><p><ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> is a buffered version of <ref resolved='predef::Stdio.File'>Stdio.File</ref>, it inherits -  <ref resolved='predef::Stdio.File'>Stdio.File</ref> and has most of the functionality of <ref resolved='predef::Stdio.File'>Stdio.File</ref>. + <doc><text><p><ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref> is a buffered version of <ref resolved='7.8::Stdio.File'>Stdio.File</ref>, it inherits +  <ref resolved='7.8::Stdio.File'>Stdio.File</ref> and has most of the functionality of <ref resolved='7.8::Stdio.File'>Stdio.File</ref>.    However, it has an input buffer that allows line-by-line input.</p>   <p> It also has support for automatic charset conversion for both input -  and output (see <ref resolved='predef::Stdio.FILE.set_charset'>Stdio.FILE()-&gt;set_charset()</ref>).</p> - </text><group><note/><text><p>The output part of <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> is currently not buffered.</p> +  and output (see <ref resolved='7.8::Stdio.FILE.set_charset'>Stdio.FILE()-&gt;set_charset()</ref>).</p> + </text><group><note/><text><p>The output part of <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref> is currently not buffered.</p>   </text></group></doc>   <docgroup homogen-name='_get_iterator' homogen-type='method'><doc><text><p>Returns an iterator that will loop over the lines in this file.</p>   </text><group><seealso/><text><p><ref resolved='7.8::Stdio.FILE.line_iterator'>line_iterator()</ref></p>   </text></group></doc>   <method name='_get_iterator'><modifiers><protected/></modifiers>   <arguments/>   <returntype><object resolved='7.8::Stdio.FILE._get_iterator'/></returntype>   </method>   </docgroup>   <docgroup homogen-name='getchar' homogen-type='method'><doc><text><p>This function returns one character from the input stream.</p>
autodoc.git/onepage.xml:4586:   <docgroup homogen-name='ngets' homogen-type='method'><doc><text><p>Get <ref resolved='7.8::Stdio.FILE.ngets.n'>n</ref> lines.</p>   </text><group><param name='n'/><text><p>Number of lines to get, or all remaining if zero.</p>   </text></group><group><param name='not_all'/><text><p>Set this parameter to ignore partial lines at EOF. This    is useful for eg monitoring a growing logfile.</p>   </text></group></doc>   <method name='ngets'>   <arguments><argument name='n'><type><or><void/><int><min>1</min><max/></int></or></type></argument><argument name='not_all'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments>   <returntype><array><valuetype><string/></valuetype></array></returntype>   </method>   </docgroup> - <docgroup homogen-name='openat' homogen-type='method'><doc><text><p>Same as <ref resolved='predef::Stdio.File.openat'>Stdio.File()-&gt;openat()</ref>, but returns a <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> + <docgroup homogen-name='openat' homogen-type='method'><doc><text><p>Same as <ref resolved='7.8::Stdio.File.openat'>Stdio.File()-&gt;openat()</ref>, but returns a <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref>    object.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.openat'>Stdio.File()-&gt;openat()</ref></p> + </text><group><seealso/><text><p><ref resolved='7.8::Stdio.File.openat'>Stdio.File()-&gt;openat()</ref></p>   </text></group></doc>   <method name='openat'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments>   <returntype><object resolved='7.8::Stdio.FILE'>FILE</object></returntype>   </method>   <method name='openat'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument><argument name='mask'><type><int/></type></argument></arguments>   <returntype><object resolved='7.8::Stdio.FILE'>FILE</object></returntype>   </method>   </docgroup> - <docgroup homogen-name='pipe' homogen-type='method'><doc><text><p>Same as <ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref>.</p> - </text><group><note/><text><p>Returns an <ref resolved='predef::Stdio.File'>Stdio.File</ref> object, NOT an <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> object.</p> + <docgroup homogen-name='pipe' homogen-type='method'><doc><text><p>Same as <ref resolved='7.8::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref>.</p> + </text><group><note/><text><p>Returns an <ref resolved='7.8::Stdio.File'>Stdio.File</ref> object, NOT an <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref> object.</p>   <p> In future releases of Pike this will most likely change -  to returning an <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> object. This is already +  to returning an <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref> object. This is already    the case if <expr>STDIO_DIRECT_FD</expr> has been defined.</p>   </text></group></doc>   <method name='pipe'>   <arguments><argument name='flags'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='7.8::Stdio.File'>File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='printf' homogen-type='method'><doc><text><p>This function does approximately the same as:    <expr><ref resolved='7.8::Stdio.FILE.write'>write</ref>(<ref resolved='predef::sprintf'>sprintf</ref>(<ref resolved='7.8::Stdio.FILE.printf.format'>format</ref>,@<ref resolved='7.8::Stdio.FILE.printf.data'>data</ref>))</expr>.</p>   </text><group><seealso/><text><p><ref resolved='7.8::Stdio.FILE.write'>write()</ref>, <ref resolved='predef::sprintf'>sprintf()</ref></p>   </text></group></doc>   <method name='printf'>   <arguments><argument name='format'><type><string/></type></argument><argument name='data'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Read <ref resolved='7.8::Stdio.FILE.read.bytes'>bytes</ref> (wide-) characters with buffering and support for    input conversion.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.read'>Stdio.File()-&gt;read()</ref>, <ref resolved='7.8::Stdio.FILE.set_charset'>set_charset()</ref>, <ref resolved='7.8::Stdio.FILE.unread'>unread()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::_Stdio.Fd.read'>Stdio.File()-&gt;read()</ref>, <ref resolved='7.8::Stdio.FILE.set_charset'>set_charset()</ref>, <ref resolved='7.8::Stdio.FILE.unread'>unread()</ref></p>   </text></group></doc>   <method name='read'>   <arguments><argument name='bytes'><type><or><int/><void/></or></type></argument><argument name='now'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_charset' homogen-type='method'><doc><text><p>Sets the input and output charset of this file to the specified    <ref resolved='7.8::Stdio.FILE.set_charset.charset'>charset</ref>. If <ref resolved='7.8::Stdio.FILE.set_charset.charset'>charset</ref> is 0 or not specified the environment    is used to try to detect a suitable charset.</p>   <p> The default charset if this function is not called is
autodoc.git/onepage.xml:4687:   <method name='write'>   <arguments><argument name='what'><type><or><array><valuetype><string/></valuetype></array><string/></or></type></argument><argument name='fmt'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   </class>   <class name='File'>   <doc><text><p>This is the basic I/O object, it provides socket and pipe    communication as well as file access. It does not buffer reads and    writes or provide line-by-line reading, that is done with -  <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> object.</p> +  <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref> object.</p>   </text><group><note/><text><p>The file or stream will normally be closed when this object is    destructed (unless there are more objects that refer to the same    file through use of <ref resolved='7.8::Stdio.File.assign'>assign</ref> or <ref resolved='7.8::Stdio.File.dup'>dup</ref>). Objects do not contain    cyclic references in themselves, so they will be destructed timely    when they run out of references.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref></p> + </text></group><group><seealso/><text><p><ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref></p>   </text></group></doc>   <docgroup homogen-name='assign' homogen-type='method'><doc><text><p>This function takes a clone of Stdio.File and assigns all    variables of this file from it. It can be used together with <ref resolved='7.8::Stdio.File.dup'>dup()</ref>    to move files around.</p>   </text><group><seealso/><text><p><ref resolved='7.8::Stdio.File.dup'>dup()</ref></p>   </text></group></doc>   <method name='assign'>   <arguments><argument name='o'><type><or><object resolved='7.8::Stdio.File'>File</object><object resolved='predef::Stdio.Fd'>Fd</object></or></type></argument></arguments>   <returntype><int/></returntype>   </method>
autodoc.git/onepage.xml:4795:   <p> The third way is to call it with <ref resolved='7.8::Stdio.File.create.descriptorname'>descriptorname</ref> of <expr>"stdin"</expr>,    <expr>"stdout"</expr> or <expr>"stderr"</expr>. This will open the specified    standard stream.</p>   <p> For the advanced users, you can use the file descriptors of the    systems (note: emulated by pike on some systems - like NT). This is    only useful for streaming purposes on unix systems. This is <b>not    recommended at all</b> if you don't know what you're into. Default    <ref resolved='7.8::Stdio.File.create.mode'>mode</ref> for this is <expr>"rw"</expr>.</p>   </text><group><note/><text><p>Open mode will be filtered through the system UMASK. You    might need to use <ref>chmod()</ref> later.</p> - </text></group><group><seealso/><text><p><ref resolved='7.8::Stdio.File.open'>open()</ref>, <ref resolved='7.8::Stdio.File.connect'>connect()</ref>, <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref>,</p> + </text></group><group><seealso/><text><p><ref resolved='7.8::Stdio.File.open'>open()</ref>, <ref resolved='7.8::Stdio.File.connect'>connect()</ref>, <ref resolved='7.8::Stdio.FILE'>Stdio.FILE</ref>,</p>   </text></group></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='filename'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'>
autodoc.git/onepage.xml:4943:   </text><group><param name='required_properties'/><text><p>Binary or (<ref resolved='predef::`|'>predef::`|()</ref>) of required <expr>PROP_</expr> properties.</p>   <int><group><value>PROP_IPC</value><text><p>The resulting pipe may be used for inter process communication.</p>   </text></group><group><value>PROP_NONBLOCK</value><text><p>The resulting pipe supports nonblocking I/O.</p>   </text></group><group><value>PROP_SHUTDOWN</value><text><p>The resulting pipe supports shutting down transmission in either    direction (see <ref resolved='7.8::Stdio.File.close'>close()</ref>).</p>   </text></group><group><value>PROP_BUFFERED</value><text><p>The resulting pipe is buffered (usually 4KB).</p>   </text></group><group><value>PROP_BIDIRECTIONAL</value><text><p>The resulting pipe is bi-directional.</p>   </text></group><group><value>PROP_SEND_FD</value><text><p>The resulting pipe might support sending of file descriptors    (see <ref resolved='7.8::Stdio.File.send_fd'>send_fd()</ref> and <ref resolved='predef::_Stdio.Fd.receive_fd'>receive_fd()</ref> for details).</p>   </text></group><group><value>PROP_REVERSE</value><text><p>The resulting pipe supports communication "backwards" (but -  not necessarily "forwards", see <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref>).</p> +  not necessarily "forwards", see <ref>PROP_BIDIRECTIONAL</ref>).</p>   </text></group></int><p>The default is <expr>PROP_NONBLOCK|PROP_BIDIRECTIONAL</expr>.</p> - <p> If <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref> isn't specified, the read-end is this + <p> If <ref>PROP_BIDIRECTIONAL</ref> isn't specified, the read-end is this    object, and the write-end is the returned object (unless -  <ref resolved='predef::_Stdio.PROP_REVERSE'>PROP_REVERSE</ref> has been specified, in which case it is the other +  <ref>PROP_REVERSE</ref> has been specified, in which case it is the other    way around).</p>   <p> The two ends of a bi-directional pipe are indistinguishable.</p>   <p> If the File object this function is called in was open to begin with,    it will be closed before the pipe is created.</p>   </text></group><group><note/><text><p>Calling this function with an argument of <tt>0</tt> is not the    same as calling it with no arguments.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Process.create_process'>Process.create_process()</ref>, <ref resolved='7.8::Stdio.File.send_fd'>send_fd()</ref>, <ref resolved='predef::_Stdio.Fd.receive_fd'>receive_fd()</ref>, -  <ref resolved='predef::_Stdio.PROP_IPC'>PROP_IPC</ref>, <ref resolved='predef::_Stdio.PROP_NONBLOCK'>PROP_NONBLOCK</ref>, <ref resolved='predef::_Stdio.PROP_SEND_FD'>PROP_SEND_FD</ref>, -  <ref resolved='predef::_Stdio.PROP_SHUTDOWN'>PROP_SHUTDOWN</ref>, <ref resolved='predef::_Stdio.PROP_BUFFERED'>PROP_BUFFERED</ref>, <ref resolved='predef::_Stdio.PROP_REVERSE'>PROP_REVERSE</ref>, -  <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref></p> +  <ref>PROP_IPC</ref>, <ref>PROP_NONBLOCK</ref>, <ref>PROP_SEND_FD</ref>, +  <ref>PROP_SHUTDOWN</ref>, <ref>PROP_BUFFERED</ref>, <ref>PROP_REVERSE</ref>, +  <ref>PROP_BIDIRECTIONAL</ref></p>   </text></group></doc>   <method name='pipe'>   <arguments><argument name='required_properties'><type><or><void/><int/></or></type></argument></arguments>   <returntype><object resolved='7.8::Stdio.File'>File</object></returntype>   </method>   </docgroup>   <docgroup homogen-type='method'><doc><text><p>These functions return the currently installed callbacks for the    respective events.</p>   <p> <ref resolved='7.8::Stdio.File.query_callbacks'>query_callbacks</ref> returns the callbacks in the same order as    <ref resolved='7.8::Stdio.File.set_callbacks'>set_callbacks</ref> and <ref resolved='7.8::Stdio.File.set_nonblocking'>set_nonblocking</ref> expect them.</p>
autodoc.git/onepage.xml:5132:    <ref>close_cb</ref>, and a successful connect will call either    <ref resolved='7.8::Stdio.File.set_read_callback.read_cb'>read_cb</ref> or <ref>write_cb</ref> as above.</p>   <p> All callbacks will receive the <tt>id</tt> set by <ref resolved='7.8::Stdio.File.set_id'>set_id</ref> as    first argument.</p>   <p> If a callback returns <expr>-1</expr>, no other callback or call out    will be called by the backend in that round. I.e. the caller of    the backend will get control back right away. For the default    backend that means it will immediately start another round and    check files and call outs anew.</p>   </text><group><param name='event_mask'/><text><p>An event mask specifing bitwise OR of one or more event types to -  monitor, selected from <ref resolved='predef::_Stdio.NOTE_WRITE'>Stdio.NOTE_WRITE</ref> and friends.</p> +  monitor, selected from <ref>Stdio.NOTE_WRITE</ref> and friends.</p>   </text></group><group><note/><text><p>These functions do not set the file nonblocking.</p>   </text></group><group><note/><text><p>Callbacks are also set by <ref resolved='7.8::Stdio.File.set_callbacks'>set_callbacks</ref> and    <ref resolved='7.8::Stdio.File.set_nonblocking'>set_nonblocking()</ref>.</p>   </text></group><group><note/><text><p>After a callback has been called, it's disabled until it has    accessed the stream accordingly, i.e. the <ref>write_cb</ref> callback    is disabled after it's been called until something has been    written with <ref resolved='predef::_Stdio.Fd.write'>write</ref>, and the <ref>write_oob_cb</ref> callback is    likewise disabled until something has been written with    <ref resolved='predef::_Stdio.Fd.write_oob'>write_oob</ref>. Since the data already has been read when the read    callbacks are called, this effect is not noticeable for them.</p>
autodoc.git/onepage.xml:5245:   </method>   </docgroup>   </class>   <class name='Port'>   <doc><text><p>Handles listening to socket ports. Whenever you need a bound    socket that is open and listens for connections you should    use this program.</p>   </text></doc>   <docgroup homogen-name='accept' homogen-type='method'><doc><text><p>This function completes a connection made from a remote machine to    this port. It returns a two-way stream in the form of a clone of -  <ref resolved='predef::Stdio.File'>Stdio.File</ref>. The new file is by initially set to blocking mode.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File'>Stdio.File</ref></p> +  <ref resolved='7.8::Stdio.File'>Stdio.File</ref>. The new file is by initially set to blocking mode.</p> + </text><group><seealso/><text><p><ref resolved='7.8::Stdio.File'>Stdio.File</ref></p>   </text></group></doc>   <method name='accept'>   <arguments/>   <returntype><object resolved='7.8::Stdio.File'>File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>If the first argument is other than <expr>"stdin"</expr> the arguments will    be passed to <ref resolved='predef::_Stdio._port.bind'>bind()</ref>.</p>   <p> When create is called with <expr>"stdin"</expr> as the first argument, a    socket is created out of the file descriptor <expr>0</expr>. This is only
autodoc.git/onepage.xml:9849:    to one of the following values:</p>   <int><group><value>EACCESS</value><text><p>Access denied.</p>   </text></group><group><value>ELOOP</value><text><p>Too many symbolic links.</p>   </text></group><group><value>ENAMETOOLONG</value><text><p>The path is too long.</p>   </text></group><group><value>ENOENT</value><text><p>The file does not exist.</p>   </text></group><group><value>ENOTDIR</value><text><p>One of the directories used in <ref resolved='predef::access.path'>path</ref> is not, in fact, a directory.</p>   </text></group><group><value>EROFS</value><text><p>The filesystem is read only and write access was requested.</p>   </text></group></int><p>Other errors can occur, but are not directly related to the    requested path, such as <expr>ENOMEM</expr>, etc.</p>   </text></group></int> - </text></group><group><seealso/><text><p><ref resolved='predef::errno'>errno()</ref>, <ref resolved='predef::Stdio.File'>Stdio.File</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::errno'>errno()</ref>, <ref>Stdio.File</ref></p>   </text></group></doc>   <method name='access'>   <arguments><argument name='path'><type><string/></type></argument><argument name='mode'><type><or><string/><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='acos' homogen-type='method'><doc><text><p>Return the arcus cosine value for <ref resolved='predef::acos.f'>f</ref>.    The result will be in radians.</p>   </text><group><seealso/><text><p><ref resolved='predef::cos'>cos()</ref>, <ref resolved='predef::asin'>asin()</ref></p>   </text></group></doc>
autodoc.git/onepage.xml:10229:    appropriate for e.g. URL:s ("/" separates path components and    absolute paths start with "/"). <ref resolved='predef::combine_path_nt'>combine_path_nt()</ref>    concatenates according to NT filesystem conventions ("/" and "\"    separates path components and there might be a drive letter in    front of absolute paths). <ref resolved='predef::combine_path_amigaos'>combine_path_amigaos()</ref> concatenates    according to AmigaOS filesystem conventions.</p>   <p> <ref resolved='predef::combine_path'>combine_path()</ref> is equivalent to <ref resolved='predef::combine_path_unix'>combine_path_unix()</ref> on UNIX-like    operating systems, and equivalent to <ref resolved='predef::combine_path_nt'>combine_path_nt()</ref> on NT-like    operating systems, and equivalent to <ref resolved='predef::combine_path_amigaos'>combine_path_amigaos()</ref> on    AmigaOS-like operating systems.</p> - </text><group><seealso/><text><p><ref resolved='predef::getcwd'>getcwd()</ref>, <ref resolved='predef::Stdio.append_path'>Stdio.append_path()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::getcwd'>getcwd()</ref>, <ref>Stdio.append_path()</ref></p>   </text></group></doc>   <method name='combine_path'>   <arguments><argument name='path'><type><string/></type></argument><argument name='paths'><type><varargs><string/></varargs></type></argument></arguments>   <returntype><string/></returntype>   </method>   <method name='combine_path_unix'>   <arguments><argument name='path'><type><string/></type></argument><argument name='paths'><type><varargs><string/></varargs></type></argument></arguments>   <returntype><string/></returntype>   </method>   <method name='combine_path_nt'>
autodoc.git/onepage.xml:10278:   </docgroup>   <docgroup homogen-name='compile' homogen-type='method'>   <method name='compile'><modifiers><protected/></modifiers>   <arguments><argument name='source'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::compile'/><void/></or></type></argument><argument name='major'><type><or><int/><void/></or></type></argument><argument name='minor'><type><or><int/><void/></or></type></argument><argument name='target'><type><or><program/><void/></or></type></argument><argument name='placeholder'><type><or><object resolved='predef::compile'/><void/></or></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup>   <docgroup homogen-name='compile_file' homogen-type='method'><doc><text><p>Compile the Pike code contained in the file <ref resolved='predef::compile_file.filename'>filename</ref> into a program.</p>   <p> This function will compile the file <ref resolved='predef::compile_file.filename'>filename</ref> to a Pike program that can    later be instantiated. It is the same as doing -  <expr><ref resolved='predef::compile_string'>compile_string</ref>(<ref resolved='predef::Stdio.read_file'>Stdio.read_file</ref>(<ref resolved='predef::compile_file.filename'>filename</ref>), <ref resolved='predef::compile_file.filename'>filename</ref>)</expr>.</p> +  <expr><ref resolved='predef::compile_string'>compile_string</ref>(<ref>Stdio.read_file</ref>(<ref resolved='predef::compile_file.filename'>filename</ref>), <ref resolved='predef::compile_file.filename'>filename</ref>)</expr>.</p>   </text><group><seealso/><text><p><ref resolved='predef::compile'>compile()</ref>, <ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::cpp'>cpp()</ref></p>   </text></group></doc>   <method name='compile_file'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::compile_file'/><void/></or></type></argument><argument name='p'><type><or><void/><program/></or></type></argument><argument name='o'><type><or><void/><object resolved='predef::compile_file'/></or></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup>   <docgroup homogen-name='compile_string' homogen-type='method'><doc><text><p>Compile the Pike code in the string <ref resolved='predef::compile_string.source'>source</ref> into a program.    If <ref resolved='predef::compile_string.filename'>filename</ref> is not specified, it will default to <expr>"-"</expr>.</p>   <p> Functionally equal to <expr><ref resolved='predef::compile'>compile</ref>(<ref resolved='predef::cpp'>cpp</ref>(<ref resolved='predef::compile_string.source'>source</ref>, <ref resolved='predef::compile_string.filename'>filename</ref>))</expr>.</p>
autodoc.git/onepage.xml:10329:   </text><group><seealso/><text><p><ref resolved='predef::acosh'>acosh()</ref>, <ref resolved='predef::sinh'>sinh()</ref>, <ref resolved='predef::tanh'>tanh()</ref></p>   </text></group></doc>   <method name='cosh'>   <arguments><argument name='f'><type><or><int/><float/></or></type></argument></arguments>   <returntype><float/></returntype>   </method>   </docgroup>         <docgroup homogen-name='cp' homogen-type='method'><doc><text><p>Copies the file <ref resolved='predef::cp.from'>from</ref> to the new position <ref resolved='predef::cp.to'>to</ref>. This is an -  alias for <ref resolved='predef::Stdio.cp'>Stdio.cp</ref>.</p> +  alias for <ref>Stdio.cp</ref>.</p>   </text></doc>   <method name='cp'>   <arguments><argument name='from'><type><string/></type></argument><argument name='to'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='cpp' homogen-type='method'><doc><text><p>Run a string through the preprocessor.</p>   <p> Preprocesses the string <ref resolved='predef::cpp.data'>data</ref> with Pike's builtin ANSI-C look-alike    preprocessor. If the <ref resolved='predef::cpp.current_file'>current_file</ref> argument has not been specified,    it will default to <expr>"-"</expr>. <ref resolved='predef::cpp.charset'>charset</ref> defaults to <expr>"ISO-10646"</expr>.</p>
autodoc.git/onepage.xml:10616:   </text></group><group><type><type><mixed/></type></type><text><p>Returns <expr>(a &lt;= b) &amp;&amp; (b &lt;= a)</expr>.</p>   </text></group></mixed>   </text></group><group><seealso/><text><p><ref resolved='predef::copy_value'>copy_value()</ref>, <ref resolved='predef::`=='>`==()</ref></p>   </text></group></doc>   <method name='equal'>   <arguments><argument name='a'><type><mixed/></type></argument><argument name='b'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='errno' homogen-type='method'><doc><text><p>This function returns the system error from the last file operation.</p> - </text><group><note/><text><p>Note that you should normally use <ref resolved='predef::Stdio.File.errno'>Stdio.File-&gt;errno()</ref> instead.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.errno'>Stdio.File-&gt;errno()</ref>, <ref resolved='predef::strerror'>strerror()</ref></p> + </text><group><note/><text><p>Note that you should normally use <ref>Stdio.File-&gt;errno()</ref> instead.</p> + </text></group><group><seealso/><text><p><ref>Stdio.File-&gt;errno()</ref>, <ref resolved='predef::strerror'>strerror()</ref></p>   </text></group></doc>   <method name='errno'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='error' homogen-type='method'><doc><text><p>Throws an error. A more readable version of the code    <expr>throw( ({ sprintf(f, @args), backtrace() }) )</expr>.</p>   </text></doc>   <method name='error'>
autodoc.git/onepage.xml:10652:   <docgroup homogen-name='exece' homogen-type='method'><doc><text><p>This function transforms the Pike process into a process running    the program specified in the argument <ref resolved='predef::exece.file'>file</ref> with the arguments <ref resolved='predef::exece.args'>args</ref>.</p>   <p> If the mapping <ref resolved='predef::exece.env'>env</ref> is present, it will completely replace all    environment variables before the new program is executed.</p>   </text><group><returns/><text><p>This function only returns if something went wrong during <tt>exece(2)</tt>,    and in that case it returns <expr>0</expr> (zero).</p>   </text></group><group><note/><text><p>The Pike driver _dies_ when this function is called. You must either    use <ref resolved='predef::fork'>fork()</ref> or <ref resolved='predef::Process.create_process'>Process.create_process()</ref> if you wish to execute a    program and still run the Pike runtime.</p>   <p> This function is not available on all platforms.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Process.create_process'>Process.create_process()</ref>, <ref resolved='predef::fork'>fork()</ref>, <ref resolved='predef::Stdio.File.pipe'>Stdio.File-&gt;pipe()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Process.create_process'>Process.create_process()</ref>, <ref resolved='predef::fork'>fork()</ref>, <ref>Stdio.File-&gt;pipe()</ref></p>   </text></group></doc>   <method name='exece'>   <arguments><argument name='file'><type><string/></type></argument><argument name='args'><type><array><valuetype><string/></valuetype></array></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='exece'>   <arguments><argument name='file'><type><string/></type></argument><argument name='args'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='env'><type><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:11800:   </method>   <method name='min'>   <arguments/>   <returntype><int><min>0</min><max>0</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='mkdir' homogen-type='method'><doc><text><p>Create a directory.</p>   <p> If <ref resolved='predef::mkdir.mode'>mode</ref> is specified, it's will be used for the new directory after    being <expr>&amp;</expr>'ed with the current umask (on OS'es that support this).</p>   </text><group><returns/><text><p>Returns <expr>0</expr> (zero) on failure, <expr>1</expr> otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::rm'>rm()</ref>, <ref resolved='predef::cd'>cd()</ref>, <ref resolved='predef::Stdio.mkdirhier'>Stdio.mkdirhier()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::rm'>rm()</ref>, <ref resolved='predef::cd'>cd()</ref>, <ref>Stdio.mkdirhier()</ref></p>   </text></group></doc>   <method name='mkdir'>   <arguments><argument name='dirname'><type><string/></type></argument><argument name='mode'><type><or><void/><int/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='mkmapping' homogen-type='method'><doc><text><p>Make a mapping from two arrays.</p>   <p> Makes a mapping <ref resolved='predef::mkmapping.ind'>ind[x]</ref>:<ref resolved='predef::mkmapping.val'>val[x]</ref>, <tt>0 &lt;= x &lt; sizeof(ind)</tt>.</p>   <p> <ref resolved='predef::mkmapping.ind'>ind</ref> and <ref resolved='predef::mkmapping.val'>val</ref> must have the same size.</p>   <p> This is the inverse operation of <ref resolved='predef::indices'>indices()</ref> and <ref resolved='predef::values'>values()</ref>.</p>
autodoc.git/onepage.xml:12159:   <method name='reverse'>   <arguments><argument name='o'><type><object resolved='predef::reverse'/></type></argument><argument name='options'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='rm' homogen-type='method'><doc><text><p>Remove a file or directory.</p>   </text><group><returns/><text><p>Returns <expr>0</expr> (zero) on failure, <expr>1</expr> otherwise.</p>   </text></group><group><note/><text><p>May fail with <ref resolved='predef::errno'>errno()</ref> set to <ref>EISDIR</ref> or <ref>ENOTDIR</ref>    if the file has changed to a directory during the call    or the reverse.</p> - </text></group><group><seealso/><text><p><ref>Stdio.File()-&gt;unlinkat()</ref>, <ref resolved='predef::mkdir'>mkdir()</ref>, <ref resolved='predef::Stdio.recursive_rm'>Stdio.recursive_rm()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.File()-&gt;unlinkat()</ref>, <ref resolved='predef::mkdir'>mkdir()</ref>, <ref>Stdio.recursive_rm()</ref></p>   </text></group></doc>   <method name='rm'>   <arguments><argument name='f'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='round' homogen-type='method'><doc><text><p>Return the closest integer value to <ref resolved='predef::round.f'>f</ref>.</p>   </text><group><note/><text><p><ref resolved='predef::round'>round()</ref> does <b>not</b> return an <expr>int</expr>, merely an integer value    stored in a <expr>float</expr>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::floor'>floor()</ref>, <ref resolved='predef::ceil'>ceil()</ref></p>
autodoc.git/onepage.xml:12272:    measure; it's treated like <ref resolved='predef::Pike.WEAK'>Pike.WEAK</ref>.</p>   </text><group><returns/><text><p><ref resolved='predef::set_weak_flag.m'>m</ref> will be returned.</p>   </text></group></doc>   <method name='set_weak_flag'>   <arguments><argument name='m'><type><or><array/><mapping/><multiset/></or></type></argument><argument name='state'><type><int/></type></argument></arguments>   <returntype><or><array/><mapping/><multiset/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='setxattr' homogen-type='method'><doc><text><p>Set the attribute <ref resolved='predef::setxattr.attr'>attr</ref> to the value <ref resolved='predef::setxattr.value'>value</ref>.</p>   <p> The flags parameter can be used to refine the semantics of the operation.</p> - <p> <ref resolved='predef::_Stdio.XATTR_CREATE'>Stdio.XATTR_CREATE</ref> specifies a pure create, which + <p> <ref>Stdio.XATTR_CREATE</ref> specifies a pure create, which    fails if the named attribute exists already.</p> - <p> <ref resolved='predef::_Stdio.XATTR_REPLACE'>Stdio.XATTR_REPLACE</ref> specifies a pure replace operation, which + <p> <ref>Stdio.XATTR_REPLACE</ref> specifies a pure replace operation, which    fails if the named attribute does not already exist.</p>   <p> By default (no flags), the extended attribute will be created if need be,    or will simply replace the value if the attribute exists.</p>   </text><group><returns/><text><p>1 if successful, 0 otherwise, setting errno.</p>   </text></group></doc>   <method name='setxattr'>   <arguments><argument name='file'><type><string/></type></argument><argument name='attr'><type><string/></type></argument><argument name='value'><type><string/></type></argument><argument name='flags'><type><int/></type></argument><argument name='symlink'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:12807:    string (which either may do).</p>   </text></group><group><seealso/><text><p><ref resolved='predef::sprintf'>sprintf</ref>, <ref resolved='predef::array_sscanf'>array_sscanf</ref></p>   </text></group></doc>   <method name='sscanf'>   <arguments><argument name='data'><type><string/></type></argument><argument name='format'><type><string/></type></argument><argument name='lvalues'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>      <docgroup homogen-name='strerror' homogen-type='method'><doc><text><p>This function returns a description of an error code. The error -  code is usually obtained from eg <ref resolved='predef::Stdio.File.errno'>Stdio.File-&gt;errno()</ref>.</p> +  code is usually obtained from eg <ref>Stdio.File-&gt;errno()</ref>.</p>   </text><group><note/><text><p>On some platforms the string returned can be somewhat nondescriptive.</p>   </text></group></doc>   <method name='strerror'>   <arguments><argument name='errno'><type><int/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='strftime' homogen-type='method'><doc><text><p>Convert the structure to a string.</p>   <dl><group><item name='%a'/><text><p>The abbreviated weekday name according to the current locale</p>   </text></group><group><item name='%A'/><text><p>The full weekday name according to the current locale.</p>
autodoc.git/onepage.xml:13288:   </text></code>   </text><group><seealso/><text><p><ref resolved='cpp::.__VERSION__'>__VERSION__</ref>, <ref resolved='cpp::.__MINOR__'>__MINOR__</ref>, <ref resolved='cpp::.__BUILD__'>__BUILD__</ref>,    <ref resolved='cpp::.__REAL_VERSION__'>__REAL_VERSION__</ref>, <ref resolved='cpp::.__REAL_MINOR__'>__REAL_MINOR__</ref>, <ref resolved='cpp::.__REAL_BUILD__'>__REAL_BUILD__</ref>,</p>   </text></group></doc>   <method name='version'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='werror' homogen-type='method'><doc><text><p>Writes a string on stderr. Works just like <ref>Stdio.File.write</ref> -  on <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> +  on <ref>Stdio.stderr</ref>.</p>   </text></doc>   <method name='werror'>   <arguments><argument name='fmt'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>      <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Writes a string on stdout. Works just like <ref>Stdio.File.write</ref> -  on <ref resolved='predef::Stdio.stdout'>Stdio.stdout</ref>.</p> +  on <ref>Stdio.stdout</ref>.</p>   </text></doc>   <method name='write'>   <arguments><argument name='fmt'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='zero_type' homogen-type='method'><doc><text><p>Return the type of zero.</p>   <p> There are many types of zeros out there, or at least there are two.    One is returned by normal functions, and one returned by mapping    lookups and <ref resolved='predef::find_call_out'>find_call_out()</ref> when what you looked for wasn't there.
autodoc.git/onepage.xml:16507:   </text></doc>   <method name='cast'><modifiers><protected/></modifiers>   <arguments><argument name='to'><type><string/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><group><param name='data'/><text><p>Data to be decoded and populate the struct. Can    either be a file object or a string.</p>   </text></group></doc>   <method name='create'> - <arguments><argument name='data'><type><or><void/><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument></arguments> + <arguments><argument name='data'><type><or><void/><string/><object>Stdio.File</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode' homogen-type='method'><doc><text><p>Decodes <ref resolved='predef::ADT.Struct.decode.data'>data</ref> according to the struct and populates    the struct variables. The <ref resolved='predef::ADT.Struct.decode.data'>data</ref> can either be a file    object or a string.</p>   </text></doc>   <method name='decode'> - <arguments><argument name='data'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string/><object>Stdio.File</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Serializes the struct into a string. This string is equal    to the string fed to <ref resolved='predef::ADT.Struct.decode'>decode</ref> if nothing in the struct    has been altered.</p>   </text></doc>   <method name='encode'>   <arguments/>   <returntype><string/></returntype>
autodoc.git/onepage.xml:17081:   <method name='update_quanta'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   </class>   <class name='struct'>   <doc><text><p>String buffer with the possibility to read and write data    as they would be formatted in structs.</p> - </text><group><deprecated><name><ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref></name></deprecated></group></doc> + </text><group><deprecated><name><ref>Stdio.Buffer</ref></name></deprecated></group></doc>   <docgroup homogen-name='add_data' homogen-type='method'><doc><text><p>Adds the data <ref resolved='predef::ADT.struct.add_data.s'>s</ref> verbatim to the end of the buffer.</p>   </text></doc>   <method name='add_data'>   <arguments><argument name='s'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><object resolved='predef::ADT.struct'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='contents' homogen-type='method'><doc><text><p>Trims the buffer to only contain the data after the    read pointer and returns the contents of the buffer.</p>   </text></doc>
autodoc.git/onepage.xml:17157:   </docgroup>   <docgroup homogen-name='get_var_uint_array' homogen-type='method'><doc><text><p>Reads an array of integers as written by <ref resolved='predef::ADT.struct.put_var_uint_array'>put_var_uint_array</ref>    from the buffer.</p>   </text></doc>   <method name='get_var_uint_array'>   <arguments><argument name='item_size'><type><int/></type></argument><argument name='len'><type><int/></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='Buffer' homogen-type='inherit'> - <inherit name='Buffer'><classname resolved='predef::_Stdio.Buffer'>Stdio.Buffer</classname></inherit> + <inherit name='Buffer'><classname>Stdio.Buffer</classname></inherit>   </docgroup>   <docgroup homogen-name='is_empty' homogen-type='method'><doc><text><p>Returns one if there is any more data to read.</p>   </text></doc>   <method name='is_empty'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='pop_data' homogen-type='method'><doc><text><p>Return all the data in the buffer and empties it.</p>   </text></doc>
autodoc.git/onepage.xml:23479:   </text><group><param name='callback'/><text><p>The callbacks first argument is an array with the different parts of the    log entry.</p>   <array><group><elem><type><string/></type><index>remote_host</index></elem></group><group><elem><type><or><int><min>0</min><max>0</max></int><string/></or></type><index>ident_user</index></elem></group><group><elem><type><or><int><min>0</min><max>0</max></int><string/></or></type><index>auth_user</index></elem></group><group><elem><type><int/></type><index>year</index></elem></group><group><elem><type><int/></type><index>month</index></elem></group><group><elem><type><int/></type><index>day</index></elem></group><group><elem><type><int/></type><index>hours</index></elem></group><group><elem><type><int/></type><index>minutes</index></elem></group><group><elem><type><int/></type><index>seconds</index></elem></group><group><elem><type><int/></type><index>timezone</index></elem></group><group><elem><type><or><int><min>0</min><max>0</max></int><string/></or></type><index>method</index></elem><text><p>One of "GET", "POST", "HEAD" etc.</p>   </text></group><group><elem><type><or><int><min>0</min><max>0</max></int><string/></or></type><index>path</index></elem></group><group><elem><type><string/></type><index>protocol</index></elem><text><p>E.g. "HTTP/1.0"</p>   </text></group><group><elem><type><int/></type><index>reply_code</index></elem><text><p>One of 200, 404 etc.</p>   </text></group><group><elem><type><int/></type><index>bytes</index></elem></group></array><p>The second callback argument is the current offset to the end of the    current line.</p>   </text></group><group><param name='offset'/><text><p>The position in the file where the parser should begin.</p>   </text></group></doc>   <method name='read'> - <arguments><argument name='callback'><type><function><argtype><array><valuetype><or><int/><string/></or></valuetype></array></argtype><argtype><int/></argtype><returntype><void/></returntype></function></type></argument><argument name='logfile'><type><or><object resolved='predef::Stdio.File'>Stdio.File</object><string/></or></type></argument><argument name='offset'><type><or><void/><int/></or></type></argument></arguments> + <arguments><argument name='callback'><type><function><argtype><array><valuetype><or><int/><string/></or></valuetype></array></argtype><argtype><int/></argtype><returntype><void/></returntype></function></type></argument><argument name='logfile'><type><or><object>Stdio.File</object><string/></or></type></argument><argument name='offset'><type><or><void/><int/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   </module>   <class name='CompilationHandler'>   <doc><text><p>Objects used by the compiler to handle references to global symbols,    modules, external files, etc.</p>   <p> There can be up to three compilation handlers active at the same    time during a compilation. They are in order of precedence:</p>   <ol><group><item/><text><p>The error handler</p>
autodoc.git/onepage.xml:23686:   </docgroup>   <docgroup homogen-name='get_default_module' homogen-type='method'><doc><text><p>Get the default module for the current compatibility level    (ie typically the value returned by <ref resolved='predef::all_constants'>predef::all_constants()</ref>).</p>   <p> The default implementation calls the corresponding function    in the master object.</p>   </text><group><returns/><text><mixed><group><type><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.get_default_module'/></or></type><text><p>Constant table to use.</p>   </text></group><group><type><int><min>0</min><max>0</max></int></type><text><p>Use the builtin constant table.</p>   </text></group></mixed>   </text></group><group><note/><text><p>This function is typically called by    <ref>Pike_compiler()-&gt;get_default_module()</ref>.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::CompilationHandler.get_default_module'>MasterObject()-&gt;get_default_module()</ref>.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::MasterObject.CompatResolver.get_default_module'>MasterObject()-&gt;get_default_module()</ref>.</p>   </text></group></doc>   <method name='get_default_module'>   <arguments/>   <returntype><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.get_default_module'/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='handle_import' homogen-type='method'><doc><text><p>Look up an import <ref resolved='predef::CompilerEnvironment.handle_import.module'>module</ref>.</p>   <p> The default implementation calls the corresponding function    in the master object.</p>   </text><group><seealso/><text><p><ref resolved='predef::CompilationHandler.handle_import'>MasterObject()-&gt;handle_import()</ref>.</p>
autodoc.git/onepage.xml:27944:   </text></group><group><note/><text><p>The API for this function is not fixed, and has changed    since Pike 7.6. In particular it would make sense to return    an array of objects instead, and more information about the    symbols might be added.</p>   </text></group></doc>   <method name='describe_program'>   <arguments><argument name='p'><type><program/></type></argument></arguments>   <returntype><array><valuetype><array><valuetype><or><int/><string/><type><mixed/></type></or></valuetype></array></valuetype></array></returntype>   </method>   </docgroup> - <docgroup homogen-name='disassemble' homogen-type='method'><doc><text><p>Disassemble a Pike function to <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> + <docgroup homogen-name='disassemble' homogen-type='method'><doc><text><p>Disassemble a Pike function to <ref>Stdio.stderr</ref>.</p>   </text><group><note/><text><p>This function is only available if the Pike runtime    has been compiled with debug enabled.</p>   </text></group></doc>   <method name='disassemble'>   <arguments><argument name='fun'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='dmalloc_set_name' homogen-type='method'><doc><group><note/><text><p>Only available when compiled with dmalloc.</p>   </text></group></doc>
autodoc.git/onepage.xml:28084:   <arguments><argument name='p'><type><program/></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='globals' homogen-type='variable'><doc><text><p>Can be custom filled from within your program in order to    have global references to explore live datastructures using    <ref resolved='predef::Debug.Inspect'>Inspect</ref>; comes preinitialised with the empty mapping, ready for use.</p>   </text></doc>   <variable name='globals'><type><mapping/></type></variable>   </docgroup> - <docgroup homogen-name='hexdump' homogen-type='method'><doc><text><p>Write a hexadecimal dump of the contents of <ref resolved='predef::Debug.hexdump.raw'>raw</ref> to <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> + <docgroup homogen-name='hexdump' homogen-type='method'><doc><text><p>Write a hexadecimal dump of the contents of <ref resolved='predef::Debug.hexdump.raw'>raw</ref> to <ref>Stdio.stderr</ref>.</p>   </text></doc>   <method name='hexdump'>   <arguments><argument name='raw'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='_Debug' homogen-type='inherit'>
autodoc.git/onepage.xml:28284:   </text></group></doc>   <method name='verify_internals'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <class name='Decoder'>   <modifiers><protected/></modifiers>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='input'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='input' homogen-type='variable'> - <variable name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></variable> + <variable name='input'><type><object>Stdio.Buffer</object></type></variable>   </docgroup>   </class>   <class name='Inspect'>   <doc><text><p>Allows for interactive debugging and live data structure inspection    in both single- and multi-threaded programs.    Creates an independent background thread that every <ref resolved='predef::Debug.Inspect.pollinterval'>pollinterval</ref>    will show a list of running threads.    Optionally, a <ref resolved='predef::Debug.Inspect.triggersignal'>triggersignal</ref> can be specified which allows the dump to    be triggered by a signal.</p>   <p> Example:
autodoc.git/onepage.xml:28867:   <method name='mkdir'>   <arguments><argument name='directory'><type><string/></type></argument><argument name='mode'><type><or><void/><int/><string/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='open' homogen-type='method'><doc><text><p>Open a file within the filesystem</p>   </text><group><returns/><text><p>A Stdio.File object.</p>   </text></group></doc>   <method name='open'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='rm' homogen-type='method'><doc><text><p>Remove a file from the filesystem.</p>   </text></doc>   <method name='rm'>   <arguments><argument name='filename'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='stat' homogen-type='method'><doc><text><p>Return a stat-object for a file or a directory within the
autodoc.git/onepage.xml:29597:   <constant name='MF_AUTO'/>   <constant name='MF_INITED'/>   <constant name='MF_HARD'/>   </docgroup>   </enum>   </class>   <class name='debug'>   <doc><text><p>Debugging filesystem monitor.</p>   <p> This module behaves as <ref resolved='predef::Filesystem.Monitor.symlinks'>symlinks</ref>, but has default implementations    of all callbacks that call <ref>report()</ref>, as well as an implementation -  of [report()] that logs everything to <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> +  of [report()] that logs everything to <ref>Stdio.stderr</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Filesystem.Monitor.basic'>Filesystem.Monitor.basic</ref>, <ref resolved='predef::Filesystem.Monitor.symlinks'>Filesystem.Monitor.symlinks</ref></p>   </text></group></doc>   <docgroup homogen-name='get_monitors' homogen-type='method'><doc><text><p>Return the set of active monitors.</p>   </text></doc>   <method name='get_monitors'>   <arguments/>   <returntype><mapping><indextype><string/></indextype><valuetype><object resolved='predef::Filesystem.Monitor'>Monitor</object></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>
autodoc.git/onepage.xml:30014:   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='open' homogen-type='method'><doc><text><p>Open the stated file within the filesystem</p>   </text><group><returns/><text><p>a [Stdio.File] object</p>   </text></group><group><seealso/><text><p>[Stdio.File]</p>   </text></group></doc>   <method name='open'>   <arguments><argument name='mode'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_type' homogen-type='method'><doc><text><p>Set a type for the stat-object.</p>   </text><group><note/><text><p>This call doesnot change the filetype in the underlaying filesystem.</p>   </text></group><group><param name='x'/><text><p>Type to set. Type is one of the following:</p>   <ul><group><item name='fifo'/><item name='chr'/><item name='dir'/><item name='blk'/><item name='reg'/><item name='lnk'/><item name='sock'/><item name='door'/></group></ul></text></group><group><seealso/><text><p>[isfifo], [ischr], [isdir], [isblk], [isreg], [islnk], [issock], [isdoor]</p>   </text></group></doc>   <method name='set_type'>   <arguments><argument name='x'><type><string/></type></argument></arguments>   <returntype><void/></returntype>
autodoc.git/onepage.xml:30164:   <returntype><int/></returntype>   </method>   </docgroup>   </class>   <class name='`()'>   <docgroup homogen-name='create' homogen-type='method'><doc><group><param name='filename'/><text><p>The tar file to mount.</p>   </text></group><group><param name='parent'/><text><p>The parent filesystem. If none is given, the normal system    filesystem is assumed. This allows mounting a TAR-file within    a tarfile.</p>   </text></group><group><param name='file'/><text><p>If specified, this should be an open file descriptor. This object -  could e.g. be a <ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::Gz.File'>Gz.File</ref> or <ref resolved='predef::Bz2.File'>Bz2.File</ref> object.</p> +  could e.g. be a <ref>Stdio.File</ref>, <ref resolved='predef::Gz.File'>Gz.File</ref> or <ref resolved='predef::Bz2.File'>Bz2.File</ref> object.</p>   </text></group></doc>   <method name='create'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='parent'><type><or><void/><object resolved='predef::Filesystem.Base'>Filesystem.Base</object></or></type></argument><argument name='file'><type><or><void/><object resolved='predef::Filesystem.Tar.`().create'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='_TarFS' homogen-type='inherit'>   <inherit name='_TarFS'><classname resolved='predef::Filesystem.Tar._TarFS'>_TarFS</classname></inherit>   </docgroup>   </class>
autodoc.git/onepage.xml:30226:   </method>   </docgroup>   </class>   <module name='Zip'>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Filesystem which can be used to mount a ZIP file.</p>   </text><group><param name='filename'/><text><p>The tar file to mount.</p>   </text></group><group><param name='parent'/><text><p>The parent filesystem. If non is given, the normal system    filesystem is assumed. This allows mounting a ZIP-file within    a zipfile.</p>   </text></group><group><param name='file'/><text><p>If specified, this should be an open file descriptor. This object -  could e.g. be a <ref resolved='predef::Stdio.File'>Stdio.File</ref> or similar object.</p> +  could e.g. be a <ref>Stdio.File</ref> or similar object.</p>   </text></group></doc>   <method name='create'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='parent'><type><or><void/><object resolved='predef::Filesystem.Base'>Filesystem.Base</object></or></type></argument><argument name='file'><type><or><void/><object resolved='predef::Filesystem.Zip.create'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <class name='Decrypt'>
autodoc.git/onepage.xml:30271:   <docgroup homogen-name='add_dir' homogen-type='method'><doc><text><p>adds a directory to an archive</p>   </text></doc>   <method name='add_dir'>   <arguments><argument name='path'><type><string/></type></argument><argument name='recurse'><type><int/></type></argument><argument name='archiveroot'><type><or><string/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='add_file' homogen-type='method'><doc><text><p>add a file to an archive.</p>   </text></doc>   <method name='add_file'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='data'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='stamp'><type><or><int/><object resolved='predef::Filesystem.Zip._Zip.add_file'/><void/></or></type></argument><argument name='no_compress'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='filename'><type><string/></type></argument><argument name='data'><type><or><string/><object>Stdio.File</object></or></type></argument><argument name='stamp'><type><or><int/><object resolved='predef::Filesystem.Zip._Zip.add_file'/><void/></or></type></argument><argument name='no_compress'><type><or><int/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='fd'><type><or><object resolved='predef::Filesystem.Zip._Zip.create'/><void/></or></type></argument><argument name='filename'><type><or><string/><void/></or></type></argument><argument name='parent'><type><or><object resolved='predef::Filesystem.Zip._Zip.create'/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='date_dos2unix' homogen-type='method'><doc><text><p>Convert MS-DOS time/date pair to a linear UNIX date.</p>
autodoc.git/onepage.xml:56112:   <arguments><argument name='width'><type><int/></type></argument><argument name='height'><type><int/></type></argument></arguments>   <returntype><object>GDK2.PixbufLoader</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='write' homogen-type='method'><doc><text><p>This will cause a pixbuf loader to parse the more data for    an image. It will return TRUE if the data was loaded successfully,    and FALSE if an error occurred. In the latter case, the loader    will be closed, and will not accept further writes.</p>   </text></doc>   <method name='write'> - <arguments><argument name='data'><type><or><string/><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string/><object>Stdio.Buffer</object></or></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   </class>   <class name='GdkPixbufSimpleAnim'>   <doc><text><p>Properties:    bool loop</p>   </text></doc>   <docgroup homogen-name='add_frame' homogen-type='method'><doc><text><p>Adds a new frame to animation . The pixbuf must have the    dimensions specified when the animation was constructed.</p>
autodoc.git/onepage.xml:74109:   </text></group><group><elem><type><or><void/><string/><array><valuetype><string/></valuetype></array></or></type><index>env_var</index></elem><text><p>This is a string or an array of strings containing names of    environment variables that can be used instead of the    command line option.</p>   </text></group><group><elem><type><or><void/><mixed/></or></type><index>default</index></elem><text><p>This is the default value a <ref resolved='predef::Getopt.MAY_HAVE_ARG'>MAY_HAVE_ARG</ref> option will have in the    output if it was set but not assigned any value.</p>   </text></group></array><p>Only the first three elements need to be included.</p>   </text></group><group><param name='posix_me_harder'/><text><p>Don't scan for arguments after the first non-option.</p>   </text></group><group><param name='throw_errors'/><text><p>If <ref resolved='predef::Getopt.find_all_options.throw_errors'>throw_errors</ref> has been specified <ref resolved='predef::Getopt.find_all_options'>find_all_options()</ref> will    throw errors on failure. If it has been left out, or is    <expr>0</expr> (zero), it will instead print an error message on -  <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref> and exit the program with result code 1 on +  <ref>Stdio.stderr</ref> and exit the program with result code 1 on    failure.</p>   </text></group><group><returns/><text><p>The good news is that the output from this function is a lot simpler.    <ref resolved='predef::Getopt.find_all_options'>find_all_options()</ref> returns an array where each element is an array on    this form:</p>   <array><group><elem><type><string/></type><index>name</index></elem><text><p>Option identifier name from the input.</p>   </text></group><group><elem><type><mixed/></type><index>value</index></elem><text><p>Value given. If no value was specified, and no default has been    specified, the value will be 1.</p>   </text></group></array>   </text></group><group><note/><text><p><ref resolved='predef::Getopt.find_all_options'>find_all_options()</ref> modifies <ref resolved='predef::Getopt.find_all_options.argv'>argv</ref>.</p>   <p> Index <expr>0</expr> (zero) of <ref resolved='predef::Getopt.find_all_options.argv'>argv</ref> is not scanned for options,
autodoc.git/onepage.xml:74160:   </text></group><group><type><or><int><min>1</min><max>1</max></int><string/></or></type><text><p>The option requires a value, and <ref resolved='predef::Getopt.find_option.def'>def</ref> will be returned    if the option is not present. If the option is present,    but does not have an argument <ref resolved='predef::Getopt.find_option'>find_option()</ref> will fail.</p>   <p> Note that a set option will always return a <expr>string</expr>,    so setting <ref resolved='predef::Getopt.find_option.def'>def</ref> to <expr>1</expr> can be used to detect whether    the option is present or not.</p>   </text></group></mixed>   </text></group><group><param name='throw_errors'/><text><p>If <ref resolved='predef::Getopt.find_option.throw_errors'>throw_errors</ref> has been specified <ref resolved='predef::Getopt.find_option'>find_option()</ref> will    throw errors on failure. If it has been left out, or is    <expr>0</expr> (zero), it will instead print an error message on -  <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref> and exit the program with result code 1 on +  <ref>Stdio.stderr</ref> and exit the program with result code 1 on    failure.</p>   </text></group><group><returns/><text><p>Returns the value the option has been set to if any.</p>   <p> If the option is present, but has not been set to anything    <expr>1</expr> will be returned.</p>   <p> Otherwise if any of the environment variables specified in <ref resolved='predef::Getopt.find_option.envvars'>envvars</ref> has    been set, that value will be returned.</p>   <p> If all else fails, <ref resolved='predef::Getopt.find_option.def'>def</ref> will be returned.</p>   </text></group><group><throws/><text><p>If an option that requires an argument lacks an argument and    <ref resolved='predef::Getopt.find_option.throw_errors'>throw_errors</ref> is set an error will be thrown.</p>   </text></group><group><note/><text><p><ref resolved='predef::Getopt.find_option'>find_option()</ref> modifies <ref resolved='predef::Getopt.find_option.argv'>argv</ref>. Parsed options will be removed
autodoc.git/onepage.xml:74193:   <returntype><or><string/><int><min>0</min><max>1</max></int></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_args' homogen-type='method'><doc><text><p>This function returns the remaining command line arguments after    you have run <ref resolved='predef::Getopt.find_option'>find_option()</ref> or <ref resolved='predef::Getopt.find_all_options'>find_all_options()</ref> to find    all the options in the argument list. If there are any options    left not handled by <ref resolved='predef::Getopt.find_option'>find_option()</ref> or <ref resolved='predef::Getopt.find_all_options'>find_all_options()</ref>    this function will fail.</p>   <p> If <ref resolved='predef::Getopt.get_args.throw_errors'>throw_errors</ref> has been specified <ref resolved='predef::Getopt.get_args'>get_args()</ref> will throw errors    on failure. If it has been left out, or is <tt>0</tt> (zero), it will -  instead print an error message on <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref> and exit the +  instead print an error message on <ref>Stdio.stderr</ref> and exit the    program with result code 1 on failure.</p>   </text><group><returns/><text><p>On success a new <ref resolved='predef::Getopt.get_args.argv'>argv</ref> array without the parsed options is    returned.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Getopt.find_option'>Getopt.find_option()</ref>, <ref resolved='predef::Getopt.find_all_options'>Getopt.find_all_options()</ref></p>   </text></group></doc>   <method name='get_args'>   <arguments><argument name='argv'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='posix_me_harder'><type><or><void/><int><min>-1</min><max>1</max></int></or></type></argument><argument name='throw_errors'><type><or><void/><int/></or></type></argument></arguments>   <returntype><array><valuetype><string/></valuetype></array></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:74359:   <arguments><argument name='ref'><type><string/></type></argument><argument name='commit_marker'><type><or><string/><void/></or></type></argument><argument name='author_info'><type><or><string/><void/></or></type></argument><argument name='committer_info'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='parents'><type><varargs><or><string/><void/></or></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new fast-import command-stream.</p>   </text><group><param name='fd'/><text><p>File to write the command-stream to.</p>   </text></group><group><param name='git_dir'/><text><p>Git directory to modify. If the directory doesn't exist,    it will be created empty. A git-fast-import session will    be started for the directory to receive the command-stream.</p>   <p> If neither <ref resolved='predef::Git.Export.create.fd'>fd</ref> nor <ref resolved='predef::Git.Export.create.git_dir'>git_dir</ref> has been specified, the -  command stream will be output to <ref resolved='predef::Stdio.stdout'>Stdio.stdout</ref>.</p> - </text></group><group><param name='verbosity'/><text><p>The amount of verbosity on <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref> for various commands.</p> +  command stream will be output to <ref>Stdio.stdout</ref>.</p> + </text></group><group><param name='verbosity'/><text><p>The amount of verbosity on <ref>Stdio.stderr</ref> for various commands.</p>   </text></group></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   <method name='create'> - <arguments><argument name='fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='fd'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='git_dir'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='done' homogen-type='method'><doc><text><p>End the command-stream and wait for completion.</p>   </text></doc>   <method name='done'>
autodoc.git/onepage.xml:75730:    mode and the data can be decompressed with a zero size window.</p>   </text></group><group><value>FIXED</value><text><p>In this mode dynamic huffman codes are disabled, allowing for    a simpler decoder for special applications. This mode is not    available in all zlib versions.</p>   </text></group></int>   </text></group><group><param name='window_size'/><text><p>Defines the size of the LZ77 window from 256 bytes to 32768    bytes, expressed as 2^x.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Gz.deflate'>deflate</ref>, <ref resolved='predef::Gz.inflate'>inflate</ref>, <ref resolved='predef::Gz.uncompress'>uncompress</ref></p>   </text></group></doc>   <method name='compress'> - <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></type></argument><argument name='raw'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument><argument name='level'><type><or><void/><int><min>0</min><max>9</max></int></or></type></argument><argument name='strategy'><type><or><void/><int/></or></type></argument><argument name='window_size'><type><or><void/><int><min>8</min><max>15</max></int></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object>Stdio.Buffer</object></or></type></argument><argument name='raw'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument><argument name='level'><type><or><void/><int><min>0</min><max>9</max></int></or></type></argument><argument name='strategy'><type><or><void/><int/></or></type></argument><argument name='window_size'><type><or><void/><int><min>8</min><max>15</max></int></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='crc32' homogen-type='method'><doc><text><p>This function calculates the standard ISO3309 Cyclic Redundancy Check.</p>   </text></doc>   <method name='crc32'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument><argument name='start_value'><type><or><void/><int><min>0</min><max/></int></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='uncompress' homogen-type='method'><doc><text><p>Uncompresses the <ref resolved='predef::Gz.uncompress.data'>data</ref> and returns it. The <ref resolved='predef::Gz.uncompress.raw'>raw</ref> parameter    tells the decoder that the indata lacks the data header and footer    defined in <rfc>1950</rfc>.</p>   </text></doc>   <method name='uncompress'> - <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></type></argument><argument name='raw'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object>Stdio.Buffer</object></or></type></argument><argument name='raw'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <class name='File'>   <docgroup homogen-name='create' homogen-type='method'><doc><group><param name='file'/><text><p>Filename or filedescriptor of the gzip file to open, or an already    open Stream.</p>   </text></group><group><param name='mode'/><text><p>mode for the file. Defaults to "rb".</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Gz.File.open'>open</ref> <ref resolved='predef::Stdio.File'>Stdio.File</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Gz.File.open'>open</ref> <ref>Stdio.File</ref></p>   </text></group></doc>   <method name='create'> - <arguments><argument name='file'><type><or><void/><string/><int/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments> + <arguments><argument name='file'><type><or><void/><string/><int/><object>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='_file' homogen-type='inherit'><doc><text><p>Allows the user to open a Gzip archive and read and write -  it's contents in an uncompressed form, emulating the <ref resolved='predef::Stdio.File'>Stdio.File</ref> +  it's contents in an uncompressed form, emulating the <ref>Stdio.File</ref>    interface.</p>   </text><group><note/><text><p>An important limitation on this class is that it may only be used    for reading <b>or</b> writing, not both at the same time.    Please also note that if you want to reopen a file for reading    after a write, you must close the file before calling open or    strange effects might be the result.</p>   </text></group></doc>   <inherit name='_file'><classname resolved='predef::Gz._file'>._file</classname></inherit>   </docgroup>   <docgroup homogen-name='line_iterator' homogen-type='method'><doc><text><p>Returns an iterator that will loop over the lines in this file.
autodoc.git/onepage.xml:75796:   </text></group><group><param name='mode'/><text><p>mode for the file. Defaults to "rb".    May be one of the following:</p>   <dl><group><item name='rb'/><text><p>read mode</p>   </text></group><group><item name='wb'/><text><p>write mode</p>   </text></group><group><item name='ab'/><text><p>append mode</p>   </text></group></dl><p>For the wb and ab mode, additional parameters may    be specified. Please se zlib manual for more info.</p>   </text></group><group><returns/><text><p>non-zero if successful.</p>   </text></group></doc>   <method name='open'> - <arguments><argument name='file'><type><or><string/><int/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><int/><object>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Reads data from the file.    If no argument is given, the whole file is read.</p>   </text></doc>   <method name='read'>   <arguments><argument name='length'><type><or><void/><int/></or></type></argument></arguments>   <returntype><or><int/><string/></or></returntype>   </method>
autodoc.git/onepage.xml:75833:   </text><group><returns/><text><p>1 if successful</p>   </text></group></doc>   <method name='close'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Opens a gzip file for reading.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='gzFile'><type><or><void/><string/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments> + <arguments><argument name='gzFile'><type><or><void/><string/><object>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='eof' homogen-type='method'><doc><group><returns/><text><p>1 if EOF has been reached.</p>   </text></group></doc>   <method name='eof'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:75861:    following mode characters are unique to Gz.File.</p>   <string><group><value>"0"</value><value>"1"</value><value>"2"</value><value>"3"</value><value>"4"</value><value>"5"</value><value>"6"</value><value>"7"</value><value>"8"</value><value>"9"</value><text><p>Values 0 to 9 set the compression level from no    compression to maximum available compression. Defaults to    6.</p>   </text></group><group><value>"f"</value><text><p>Sets the compression strategy to <ref>FILTERED</ref>.</p>   </text></group><group><value>"h"</value><text><p>Sets the compression strategy to <ref>HUFFMAN_ONLY</ref>.</p>   </text></group></string>   </text></group><group><note/><text><p>If the object already has been opened, it will first be closed.</p>   </text></group></doc>   <method name='open'> - <arguments><argument name='file'><type><or><string/><int/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><int/><object>Stdio.Stream</object></or></type></argument><argument name='mode'><type><or><void/><string/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Reads len (uncompressed) bytes from the file.    If read is unsuccessful, 0 is returned.</p>   </text></doc>   <method name='read'>   <arguments><argument name='len'><type><int/></type></argument></arguments>   <returntype><or><int/><string/></or></returntype>   </method>
autodoc.git/onepage.xml:75978:    function several times and concatenating the returned data.</p>   <p> The optional argument <ref resolved='predef::Gz.deflate.deflate.flush'>flush</ref> should be one of the following:</p>   <int><group><value>Gz.NO_FLUSH</value><text><p>Only data that doesn't fit in the internal buffers is returned.</p>   </text></group><group><value>Gz.PARTIAL_FLUSH</value><text><p>All input is packed and returned.</p>   </text></group><group><value>Gz.SYNC_FLUSH</value><text><p>All input is packed and returned.</p>   </text></group><group><value>Gz.FINISH</value><text><p>All input is packed and an 'end of data' marker is appended (default).</p>   </text></group></int>   </text><group><seealso/><text><p><ref resolved='predef::Gz.inflate.inflate'>Gz.inflate-&gt;inflate()</ref></p>   </text></group></doc>   <method name='deflate'> - <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></type></argument><argument name='flush'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object>Stdio.Buffer</object></or></type></argument><argument name='flush'><type><or><int/><void/></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   </class>   <class name='inflate'>   <doc><text><p>This class interfaces with the uncompression routines in the libz library.</p>   </text><group><note/><text><p>This program is only available if libz was available and found when    Pike was compiled.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Gz.deflate'>deflate</ref>, <ref resolved='predef::Gz.compress'>compress</ref>, <ref resolved='predef::Gz.uncompress'>uncompress</ref></p>   </text></group></doc>
autodoc.git/onepage.xml:76042:   </text><group><example/><text><p>// whole file</p>   <code><text><p>write(Gz.inflate()-&gt;inflate(stdin-&gt;read(0x7fffffff));</p>   <p> // streaming (blocks)    function inflate=Gz.inflate()-&gt;inflate;    while(string s=stdin-&gt;read(8192))    write(inflate(s));</p>   </text></code>   </text></group><group><seealso/><text><p><ref resolved='predef::Gz.deflate.deflate'>Gz.deflate-&gt;deflate()</ref>, <ref>Gz.decompress</ref></p>   </text></group></doc>   <method name='inflate'> - <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string><min>0</min><max>255</max></string><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><object>Stdio.Buffer</object></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   </class>   </module>   <module name='HPack'>   <doc><text><p>Implementation of the HPACK (<rfc>7541</rfc>) header packing standard.</p>   <p> This is the header packing system that is used in HTTP/2 (<rfc>7540</rfc>).</p>   </text></doc>   <docgroup homogen-name='DEFAULT_HEADER_TABLE_SIZE' homogen-type='constant'><doc><text><p>This is the default static maximum size of the
autodoc.git/onepage.xml:76159:   <arguments><argument name='protocol_dynamic_max_size'><type><or><int/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode' homogen-type='method'><doc><text><p>Decode a HPack header block.</p>   </text><group><param name='buf'/><text><p>Input buffer.</p>   </text></group><group><returns/><text><p>Returns an array of headers. Cf <ref resolved='predef::HPack.Context.decode_header'>decode_header()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::HPack.Context.decode_header'>decode_header()</ref>, <ref resolved='predef::HPack.Context.encode'>encode()</ref></p>   </text></group></doc>   <method name='decode'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><array><valuetype><array><valuetype><or><string><min>0</min><max>255</max></string><object resolved='predef::HPack.HPackFlags'>HPackFlags</object></or></valuetype></array></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode_header' homogen-type='method'><doc><text><p>Decode a single HPack header.</p>   </text><group><param name='buf'/><text><p>Input buffer.</p>   </text></group><group><returns/><text><p>Returns <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> on empty buffer.    Returns an array with a header and value otherwise:</p>   <array><group><elem><type><string><min>0</min><max>255</max></string></type><index>0</index></elem><text><p>Name of the header. Under normal circumstances this is    always lower-case, but no check is currently performed.</p>   </text></group><group><elem><type><string><min>0</min><max>255</max></string></type><index>1</index></elem><text><p>Value of the header.</p>
autodoc.git/onepage.xml:76183:    with the arguments to <ref resolved='predef::HPack.Context.encode_header'>encode_header()</ref>.</p>   </text></group><group><throws/><text><p>Throws on encoding errors.</p>   </text></group><group><note/><text><p>The returned array MUST NOT be modified.</p>   </text></group><group><note/><text><p>In future implementations the result array may get extended    with a flag field.</p>   </text></group><group><note/><text><p>The in-band signalling of encoding table sizes is handled    internally.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::HPack.Context.decode'>decode()</ref>, <ref resolved='predef::HPack.Context.encode_header'>encode_header()</ref></p>   </text></group></doc>   <method name='decode_header'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><array><valuetype><or><string><min>0</min><max>255</max></string><object resolved='predef::HPack.HPackFlags'>HPackFlags</object></or></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='dynamic_headers' homogen-type='variable'><doc><text><p>Table of currently available dynamically defined headers.</p>   <p> New entries are appended last, and the first <ref resolved='predef::HPack.Context.dynamic_prefix'>dynamic_prefix</ref>    elements are not used.</p>   </text><group><seealso/><text><p><ref resolved='predef::HPack.Context.header_index'>header_index</ref>, <ref resolved='predef::HPack.Context.add_header'>add_header()</ref></p>   </text></group></doc>   <variable name='dynamic_headers'><modifiers><protected/></modifiers><type><array><valuetype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></valuetype></array></type></variable>   </docgroup>
autodoc.git/onepage.xml:76213:   <docgroup homogen-name='dynamic_size' homogen-type='variable'><doc><text><p>Current size in bytes of <ref resolved='predef::HPack.Context.dynamic_headers'>dynamic_headers</ref>.</p>   </text></doc>   <variable name='dynamic_size'><modifiers><protected/></modifiers><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Encode a full set of headers.</p>   </text><group><param name='headers'/><text><p>An array of <tt>({ header, value })</tt>-tuples.</p>   </text></group><group><param name='buf'/><text><p>Output buffer.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::HPack.Context.encode_header'>encode_header()</ref>, <ref resolved='predef::HPack.Context.decode'>decode()</ref></p>   </text></group></doc>   <method name='encode'> - <arguments><argument name='headers'><type><array><valuetype><array><valuetype><or><string><min>0</min><max>255</max></string><object resolved='predef::HPack.HPackFlags'>HPackFlags</object></or></valuetype></array></valuetype></array></type></argument><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='headers'><type><array><valuetype><array><valuetype><or><string><min>0</min><max>255</max></string><object resolved='predef::HPack.HPackFlags'>HPackFlags</object></or></valuetype></array></valuetype></array></type></argument><argument name='buf'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Convenience variant of <ref resolved='predef::HPack.Context.encode'>encode()</ref>.</p>   </text><group><param name='headers'/><text><p>An array of <tt>({ header, value })</tt>-tuples.</p>   </text></group><group><returns/><text><p>Returns the corresponding HPack encoding.</p>   </text></group></doc>   <method name='encode'><modifiers><variant/></modifiers>   <arguments><argument name='headers'><type><array><valuetype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></valuetype></array></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>
autodoc.git/onepage.xml:76235:   </docgroup>   <docgroup homogen-name='encode_header' homogen-type='method'><doc><text><p>Encode a single HPack header.</p>   </text><group><param name='buf'/><text><p>Output buffer.</p>   </text></group><group><param name='header'/><text><p>Name of header. This should under normal circumstances be a lower-case    string, but this is currently not checked.</p>   </text></group><group><param name='value'/><text><p>Header value.</p>   </text></group><group><param name='flags'/><text><p>Optional encoding flags.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::HPack.Context.encode'>encode()</ref>, <ref resolved='predef::HPack.Context.decode_header'>decode_header()</ref></p>   </text></group></doc>   <method name='encode_header'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='header'><type><string><min>0</min><max>255</max></string></type></argument><argument name='value'><type><string><min>0</min><max>255</max></string></type></argument><argument name='flags'><type><or><object resolved='predef::HPack.HPackFlags'>HPackFlags</object><void/></or></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument><argument name='header'><type><string><min>0</min><max>255</max></string></type></argument><argument name='value'><type><string><min>0</min><max>255</max></string></type></argument><argument name='flags'><type><or><object resolved='predef::HPack.HPackFlags'>HPackFlags</object><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='evict_dynamic_headers' homogen-type='method'><doc><text><p>Evict dynamic headers until <ref resolved='predef::HPack.Context.dynamic_size'>dynamic_size</ref> goes below    <ref resolved='predef::HPack.Context.dynamic_max_size'>dynamic_max_size</ref>.</p>   </text></doc>   <method name='evict_dynamic_headers'><modifiers><protected/></modifiers>   <arguments/>   <returntype><void/></returntype>   </method>
autodoc.git/onepage.xml:76282:   </text></group></doc>   <variable name='header_index'><modifiers><protected/></modifiers><type><mapping><indextype><string><min>0</min><max>255</max></string></indextype><valuetype><or><int/><mapping><indextype><string><min>0</min><max>255</max></string></indextype><valuetype><int/></valuetype></mapping></or></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='put_int' homogen-type='method'><doc><text><p>Encode an integer with the HPack integer encoding.</p>   </text><group><param name='buf'/><text><p>Output buffer.</p>   </text></group><group><param name='bits'/><text><p>Bits that should always be set in the first byte of output.</p>   </text></group><group><param name='mask'/><text><p>Bitmask for the value part of the first byte of output.</p>   </text></group><group><param name='value'/><text><p>Integer value to encode.</p>   </text></group></doc>   <method name='put_int'><modifiers><protected/></modifiers> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='bits'><type><int><min>0</min><max>255</max></int></type></argument><argument name='mask'><type><int><min>0</min><max>255</max></int></type></argument><argument name='value'><type><int/></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument><argument name='bits'><type><int><min>0</min><max>255</max></int></type></argument><argument name='mask'><type><int><min>0</min><max>255</max></int></type></argument><argument name='value'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='put_string' homogen-type='method'><doc><text><p>Encode a string with the HPack string encoding.</p>   </text><group><param name='buf'/><text><p>Output buffer.</p>   </text></group><group><param name='str'/><text><p>String to output.</p>   <p> The encoder will <ref resolved='predef::HPack.huffman_encode'>huffman_encode()</ref> the string if that    renders a shorter encoding than the verbatim string.</p>   </text></group></doc>   <method name='put_string'><modifiers><protected/></modifiers> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='str'><type><string><min>0</min><max>255</max></string></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument><argument name='str'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_dynamic_size' homogen-type='method'><doc><text><p>Set the dynamic maximum size of the dynamic header lookup table.</p>   </text><group><param name='buf'/><text><p>Output buffer.</p>   </text></group><group><param name='new_max_size'/><text><p>New dynamic maximum size in bytes (as calculated by    <rfc>7541:4.1</rfc>).</p>   </text></group><group><note/><text><p>This function can be used to clear the dynamic header table    by setting the size to zero.</p>   </text></group><group><note/><text><p>Also note that the <ref resolved='predef::HPack.Context.set_dynamic_size.new_max_size'>new_max_size</ref> has an upper bound that    is limited by <ref resolved='predef::HPack.Context.static_max_size'>static_max_size</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::HPack.Context.encode_header'>encode_header()</ref>, <ref resolved='predef::HPack.Context.encode'>encode()</ref>, <ref resolved='predef::HPack.Context.create'>create()</ref>.</p>   </text></group></doc>   <method name='set_dynamic_size'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='new_max_size'><type><int><min>0</min><max/></int></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument><argument name='new_max_size'><type><int><min>0</min><max/></int></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='static_max_size' homogen-type='variable'><doc><text><p>Static upper size limit in bytes for <ref resolved='predef::HPack.Context.dynamic_headers'>dynamic_headers</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::HPack.Context.create'>create()</ref>, <ref resolved='predef::HPack.Context.set_dynamic_size'>set_dynamic_size()</ref></p>   </text></group></doc>   <variable name='static_max_size'><modifiers><protected/></modifiers><type><int/></type></variable>   </docgroup>   </class>   <enum name='HPackFlags'>
autodoc.git/onepage.xml:76403:   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new <ref resolved='predef::HTTPAccept'>HTTPAccept</ref>.</p>   <p> This will start a new thread that will listen for requests on the    port, parse them and pass on requests, instanced from the    <ref resolved='predef::HTTPAccept.Loop.create.program'>program</ref> class (which has to inherit <ref resolved='predef::HTTPAccept.RequestProgram'>RequestProgram</ref> to the    <ref resolved='predef::HTTPAccept.Loop.create.request_handler'>request_handler</ref> callback function.</p>   <p> <ref resolved='predef::HTTPAccept.Loop.create.cache_size'>cache_size</ref> is the maximum size of the cache, in bytes.    <ref resolved='predef::HTTPAccept.Loop.create.keep_log'>keep_log</ref> indicates if a log of all requests should be kept.    <ref resolved='predef::HTTPAccept.Loop.create.timeout'>timeout</ref> if non-zero indicates a maximum time the server will wait for requests.</p>   </text></doc>   <method name='create'> - <arguments><argument name='port'><type><object resolved='predef::Stdio.Port'>Stdio.Port</object></type></argument><argument name='program'><type><object resolved='predef::HTTPAccept.RequestProgram'>RequestProgram</object></type></argument><argument name='request_handler'><type><function><argtype><object resolved='predef::HTTPAccept.RequestProgram'>RequestProgram</object></argtype><returntype><void/></returntype></function></type></argument><argument name='cache_size'><type><int/></type></argument><argument name='keep_log'><type><object resolved='predef::bool'>bool</object></type></argument><argument name='timeout'><type><int/></type></argument></arguments> + <arguments><argument name='port'><type><object>Stdio.Port</object></type></argument><argument name='program'><type><object resolved='predef::HTTPAccept.RequestProgram'>RequestProgram</object></type></argument><argument name='request_handler'><type><function><argtype><object resolved='predef::HTTPAccept.RequestProgram'>RequestProgram</object></argtype><returntype><void/></returntype></function></type></argument><argument name='cache_size'><type><int/></type></argument><argument name='keep_log'><type><object resolved='predef::bool'>bool</object></type></argument><argument name='timeout'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='log_as_array' homogen-type='method'><doc><text><p>Return the current log as an array of LogEntry objects.</p>   </text></doc>   <method name='log_as_array'>   <arguments/>   <returntype><array><valuetype><object resolved='predef::HTTPAccept.LogEntry'>LogEntry</object></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='log_as_commonlog_to_file' homogen-type='method'><doc><text><p>Write the current log to the specified file in a somewhat common    commonlog format.</p>   <p> Will return the number of bytes written.</p>   </text></doc>   <method name='log_as_commonlog_to_file'> - <arguments><argument name='fd'><type><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></type></argument></arguments> + <arguments><argument name='fd'><type><object>Stdio.Stream</object></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='log_size' homogen-type='method'><doc><text><p>Returns the number of entries waiting to be logged.</p>   </text></doc>   <method name='log_size'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:76457:   <docgroup homogen-name='headers' homogen-type='variable'><doc><text><p>All received headers</p>   </text></doc>   <variable name='headers'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><string/></valuetype></array></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='method' homogen-type='variable'><doc><text><p>The method (GET, PUT etc)</p>   </text></doc>   <variable name='method'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='my_fd' homogen-type='variable'><doc><text><p>The filedescriptor for this request.</p>   </text></doc> - <variable name='my_fd'><type><object resolved='predef::Stdio.NonblockingStream'>Stdio.NonblockingStream</object></type></variable> + <variable name='my_fd'><type><object>Stdio.NonblockingStream</object></type></variable>   </docgroup>   <docgroup homogen-name='not_query' homogen-type='variable'><doc><text><p>The part of the URL before the first '?'.</p>   </text></doc>   <variable name='not_query'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='output' homogen-type='method'><doc><text><p>Send <ref resolved='predef::HTTPAccept.RequestProgram.output.data'>data</ref> directly to the remote side.</p>   </text></doc>   <method name='output'>   <arguments><argument name='data'><type><string/></type></argument></arguments>   <returntype><void/></returntype>
autodoc.git/onepage.xml:76508:   <docgroup homogen-name='reply' homogen-type='method'><doc><text><p>Send a reply to the remote side.    In the first case the <ref resolved='predef::HTTPAccept.RequestProgram.reply.data'>data</ref> will be sent.    In the second case the <ref resolved='predef::HTTPAccept.RequestProgram.reply.headers'>headers</ref> will be sent, then <ref resolved='predef::HTTPAccept.RequestProgram.reply.len'>len</ref> bytes from <ref resolved='predef::HTTPAccept.RequestProgram.reply.fd'>fd</ref>.    In the last case <ref resolved='predef::HTTPAccept.RequestProgram.reply.len'>len</ref> bytes from <ref resolved='predef::HTTPAccept.RequestProgram.reply.fd'>fd</ref> will be sent.</p>   </text></doc>   <method name='reply'>   <arguments><argument name='data'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='reply'> - <arguments><argument name='headers'><type><string/></type></argument><argument name='fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='len'><type><int/></type></argument></arguments> + <arguments><argument name='headers'><type><string/></type></argument><argument name='fd'><type><object>Stdio.File</object></type></argument><argument name='len'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='reply'> - <arguments><argument name='ignore'><type><int><min>0</min><max>0</max></int></type></argument><argument name='fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='len'><type><int/></type></argument></arguments> + <arguments><argument name='ignore'><type><int><min>0</min><max>0</max></int></type></argument><argument name='fd'><type><object>Stdio.File</object></type></argument><argument name='len'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='reply_with_cache' homogen-type='method'><doc><text><p>Send <ref resolved='predef::HTTPAccept.RequestProgram.reply_with_cache.data'>data</ref> as the reply, and keep it as a cache entry to    requests to this URL for <ref resolved='predef::HTTPAccept.RequestProgram.reply_with_cache.stay_time'>stay_time</ref> seconds.</p>   </text></doc>   <method name='reply_with_cache'>   <arguments><argument name='data'><type><string/></type></argument><argument name='stay_time'><type><int><min>1</min><max/></int></type></argument></arguments>   <returntype><void/></returntype>   </method>
autodoc.git/onepage.xml:78577:   </docgroup>   </module>   <module name='Dims'>   <doc><text><p>Reads the dimensions of images of various image formats without    decoding the actual image.</p>   </text></doc>   <docgroup homogen-name='exif_get' homogen-type='method'><doc><text><p>Like <ref resolved='predef::Image.Dims.get'>get()</ref>, but returns the dimensions flipped if    <ref resolved='predef::Image.JPEG.exif_decode'>Image.JPEG.exif_decode()</ref> would flip them</p>   </text></doc>   <method name='exif_get'> - <arguments><argument name='file'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><object>Stdio.File</object></or></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='exif_get_JPEG' homogen-type='method'><doc><text><p>Like <ref resolved='predef::Image.Dims.get_JPEG'>get_JPEG()</ref>, but returns the dimensions flipped if    <ref resolved='predef::Image.JPEG.exif_decode'>Image.JPEG.exif_decode()</ref> would flip them</p>   </text></doc>   <method name='exif_get_JPEG'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get' homogen-type='method'><doc><text><p>Read dimensions from a JPEG, GIF, PNG, WebP, TIFF or PSD file and    return an array with width and height, or if the file isn't a    valid image, <expr>0</expr>. The argument <ref resolved='predef::Image.Dims.get.file'>file</ref> should be file object    or the data from a file. The offset pointer will be assumed to be    at the start of the file data and will be modified by the    function.</p>   </text><group><returns/><text><array><group><elem><type><int/></type><index>0</index></elem><text><p>Image width.</p>   </text></group><group><elem><type><int/></type><index>1</index></elem><text><p>Image height.</p>   </text></group><group><elem><type><string/></type><index>2</index></elem><text><p>Image type. Any of <expr>"gif"</expr>, <expr>"png"</expr>, <expr>"tiff"</expr>,    <expr>"jpeg"</expr>, <expr>"webp"</expr> and <expr>"psd"</expr>.</p>   </text></group></array>   </text></group></doc>   <method name='get'> - <arguments><argument name='file'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='exif'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><object>Stdio.File</object></or></type></argument><argument name='exif'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments>   <returntype><array><valuetype><or><int/><string/></or></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_GIF' homogen-type='method'><doc><text><p>Reads the dimensions from a GIF file and returns an array with    width and height, or if the file isn't a valid image, 0.</p>   </text></doc>   <method name='get_GIF'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_JPEG' homogen-type='method'><doc><text><p>Reads the dimensions from a JPEG file and returns an array with    width and height, or if the file isn't a valid image, 0.</p>   </text></doc>   <method name='get_JPEG'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_PNG' homogen-type='method'><doc><text><p>Reads the dimensions from a PNG file and returns an array with    width and height, or if the file isn't a valid image, 0.</p>   </text></doc>   <method name='get_PNG'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_PSD' homogen-type='method'><doc><text><p>Reads the dimensions from a PSD file and returns an array with    width and height, or if the file isn't a valid image, 0.</p>   </text></doc>   <method name='get_PSD'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_TIFF' homogen-type='method'><doc><text><p>Reads the dimensions from a TIFF file and returns an array with    width and height, or if the file isn't a valid image, 0.</p>   </text></doc>   <method name='get_TIFF'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_WebP' homogen-type='method'><doc><text><p>Reads the dimensions from a WebP file and returns an array with    width and height, or if the file isn't a valid image, 0.</p>   </text></doc>   <method name='get_WebP'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   </module>   <class name='Font'>   <doc><text><p>Short technical documentation on a font file:    This object adds the text-drawing and -creation
autodoc.git/onepage.xml:90664:    <expr>#if constant()</expr> expressions.</p>   <p> This is typically set via the option <expr>"--picky-cpp"</expr>.</p>   </text></doc>   <variable name='show_if_constant_errors'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='thread_quanta_exceeded' homogen-type='method'><doc><text><p>Function called when a thread has exceeded the thread quanta.</p>   </text><group><param name='thread'/><text><p>Thread that exceeded the thread quanta.</p>   </text></group><group><param name='ns'/><text><p>Number of nanoseconds that the thread executed before allowing    other threads to run.</p>   <p> The default master prints a diagnostic and the thread backtrace -  to <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> +  to <ref>Stdio.stderr</ref>.</p>   </text></group><group><note/><text><p>This function runs in a signal handler context, and should thus    avoid handling of mutexes, etc.</p>   </text></group><group><seealso/><text><p><ref>get_thread_quanta()</ref>, <ref>set_thread_quanta()</ref></p>   </text></group></doc>   <method name='thread_quanta_exceeded'>   <arguments><argument name='thread'><type><object resolved='predef::Thread.Thread'>Thread.Thread</object></type></argument><argument name='ns'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='unregister' homogen-type='method'><doc><text><p>Unregister a program that was only partially compiled.</p>
autodoc.git/onepage.xml:96362:   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='hash' homogen-type='method'><doc><text><p>Works as a (faster) shortcut for e.g.    <expr>State()-&gt;update(Stdio.read_file(file))-&gt;digest()</expr>,    where State is the hash state class corresponding to this    Hash.</p>   </text><group><param name='bytes'/><text><p>The number of bytes of the file object <ref>file</ref> that should be    hashed. Negative numbers are ignored and the whole file is    hashed.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::Nettle.Hash.State.update'>State()-&gt;update()</ref> and + </text></group><group><seealso/><text><p><ref>Stdio.File</ref>, <ref resolved='predef::Nettle.Hash.State.update'>State()-&gt;update()</ref> and    <ref resolved='predef::Nettle.Hash.State.digest'>State()-&gt;digest()</ref>.</p>   </text></group></doc>   <method name='hash'> - <arguments><argument name='source'><type><or><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object></or></type></argument><argument name='bytes'><type><or><void/><int><min>0</min><max/></int></or></type></argument></arguments> + <arguments><argument name='source'><type><or><object>Stdio.File</object><object>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object></or></type></argument><argument name='bytes'><type><or><void/><int><min>0</min><max/></int></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='Hash' homogen-type='inherit'>   <inherit name='Hash'><classname resolved='predef::__builtin.Nettle.Hash'>__builtin.Nettle.Hash</classname></inherit>   </docgroup>   <docgroup homogen-name='name' homogen-type='method'><doc><text><p>Returns a human readable name for the algorithm.</p>   </text></doc>   <method name='name'>   <arguments/>
autodoc.git/onepage.xml:99760:   ::debitamount "[0-9]+,[0-9][0-9]"   ::credit "C" drop   ::creditamount "[0-9]+,[0-9][0-9]" drop   ::accountname "(\n[^-:][^\n]*)*" drop   :messagetrailer mandatory single   ::start "-"   ::end "XXX"   [Tabular description end]</p>   </text></group></doc>   <method name='compile'> - <arguments><argument name='input'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::Stdio.FILE'>Stdio.FILE</object></or></type></argument></arguments> + <arguments><argument name='input'><type><or><string/><object>Stdio.File</object><object>Stdio.FILE</object></or></type></argument></arguments>   <returntype><or><array/><mapping/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>This function initialises the parser.</p>   </text><group><param name='input'/><text><p>The input stream or string.</p>   </text></group><group><param name='format'/><text><p>The format to be used (either precompiled or not).    The format description language is documented under <ref resolved='predef::Parser.Tabular.compile'>compile()</ref>.</p>   </text></group><group><param name='verbose'/><text><p>If <expr>&gt;1</expr>, it specifies the number of characters to display    of the beginning of each record as a progress indicator. Special    values are:</p>   <int><group><value>-4</value><text><p>Turns on format debugging with visible mismatches.</p>   </text></group><group><value>-3</value><text><p>Turns on format debugging with named field contents.</p>   </text></group><group><value>-2</value><text><p>Turns on format debugging with field contents.</p>   </text></group><group><value>-1</value><text><p>Turns on basic format debugging.</p>   </text></group><group><value>0</value><text><p>Turns off verbosity. Default.</p>   </text></group><group><value>1</value><text><p>Is the same as setting it to <expr>70</expr>.</p>   </text></group></int>   </text></group><group><seealso/><text><p><ref resolved='predef::Parser.Tabular.compile'>compile()</ref>, <ref resolved='predef::Parser.Tabular.setformat'>setformat()</ref>, <ref resolved='predef::Parser.Tabular.fetch'>fetch()</ref></p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='input'><type><or><void/><string/><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::Stdio.FILE'>Stdio.FILE</object></or></type></argument><argument name='format'><type><or><void/><array/><mapping/><string/><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::Stdio.FILE'>Stdio.FILE</object></or></type></argument><argument name='verbose'><type><or><void/><int/></or></type></argument></arguments> + <arguments><argument name='input'><type><or><void/><string/><object>Stdio.File</object><object>Stdio.FILE</object></or></type></argument><argument name='format'><type><or><void/><array/><mapping/><string/><object>Stdio.File</object><object>Stdio.FILE</object></or></type></argument><argument name='verbose'><type><or><void/><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='feed' homogen-type='method'><doc><group><param name='content'/><text><p>Is injected into the input stream.</p>   </text></group><group><returns/><text><p>This object.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Parser.Tabular.fetch'>fetch()</ref></p>   </text></group></doc>   <method name='feed'>   <arguments><argument name='content'><type><string/></type></argument></arguments>   <returntype><object resolved='predef::Parser.Tabular.feed'/></returntype>
autodoc.git/onepage.xml:101372:   <method name='get_text'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='render_to_file' homogen-type='method'><doc><text><p>Creates an XML representation for the node sub tree and streams    the output to the file <ref resolved='predef::Parser.XML.Tree.VirtualNode.render_to_file.f'>f</ref>. If the flag <ref resolved='predef::Parser.XML.Tree.VirtualNode.render_to_file.preserve_roxen_entities'>preserve_roxen_entities</ref>    is set, entities on the form <tt>&amp;foo.bar;</tt> will not be escaped.</p>   </text></doc>   <method name='render_to_file'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='preserve_roxen_entities'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.File</object></type></argument><argument name='preserve_roxen_entities'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='render_xml' homogen-type='method'><doc><text><p>Creates an XML representation of the node sub tree. If the    flag <ref resolved='predef::Parser.XML.Tree.VirtualNode.render_xml.preserve_roxen_entities'>preserve_roxen_entities</ref> is set, entities on the form    <tt>&amp;foo.bar;</tt> will not be escaped.</p>   </text><group><param name='namespace_lookup'/><text><p>Mapping from namespace prefix to namespace symbol prefix.</p>   </text></group><group><param name='encoding'/><text><p>Force a specific output character encoding. By default the    encoding set in the document XML processing instruction will    be used, with UTF-8 as a fallback. Setting this value will
autodoc.git/onepage.xml:102116:   </method>   </docgroup>   </class>         <module name='DefaultBackend'>   <doc><text><p>This is the <ref resolved='predef::Pike.Backend'>Backend</ref> object that files and call_outs are    handled by by default.</p>   <p> This is also the <ref resolved='predef::Pike.Backend'>Backend</ref> object that will be used if <ref>main()</ref>    returns <expr>-1</expr>.</p> - </text><group><seealso/><text><p><ref resolved='predef::Pike.Backend'>Backend</ref>, <ref resolved='predef::Stdio.File.set_nonblocking'>Stdio.File()-&gt;set_nonblocking()</ref>, <ref resolved='predef::call_out'>call_out()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Pike.Backend'>Backend</ref>, <ref>Stdio.File()-&gt;set_nonblocking()</ref>, <ref resolved='predef::call_out'>call_out()</ref></p>   </text></group></doc>   </module>   <class name='DestructImmediate'>   <doc><text><p>An empty class that can be inherited to get the    <tt>PROGRAM_DESTRUCT_IMMEDIATE</tt> flag set.</p>   </text><group><seealso/><text><p><ref resolved='predef::Pike.InhibitDestruct'>InhibitDestruct</ref></p>   </text></group></doc>   </class>      <class name='FakeObject'>
autodoc.git/onepage.xml:102366:   <arguments><argument name='sleep_time'><type><or><void/><float/><int><min>0</min><max>0</max></int></or></type></argument></arguments>   <returntype><or><float/><int><min>0</min><max>0</max></int></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='__Backend' homogen-type='inherit'>   <inherit name='__Backend'><classname resolved='predef::Pike.__Backend'>__Backend</classname></inherit>   </docgroup>   </class>   <class name='SmallBackend'>   <doc><text><p>This is the most suitable backend implementation if you only want -  to monitor a small number of <ref resolved='predef::Stdio.File'>Stdio.File</ref> objects.</p> +  to monitor a small number of <ref>Stdio.File</ref> objects.</p>   </text></doc>   <docgroup homogen-name='__Backend' homogen-type='inherit'>   <inherit name='__Backend'><classname resolved='predef::Pike.__Backend'>Pike.__Backend</classname></inherit>   </docgroup>   </class>   <class name='Watchdog'>   <doc><text><p>A Watchdog that ensures that the process is not hung for an    extended period of time. The definition of 'hung' is: Has not used    the default backend.</p>   <p> An important and useful side-effect of this class is that the
autodoc.git/onepage.xml:102510:   </method>   </docgroup>   <docgroup homogen-name='add_file' homogen-type='method'><doc><text><p>Register a file to be handled by this backend.</p>   </text><group><param name='f'/><text><p>File to register.</p>   <p> Registers <ref resolved='predef::Pike.__Backend.add_file.f'>f</ref> to be handled by this backend.    This simply does <expr>f-&gt;set_backend(backend)</expr> where    <expr>backend</expr> is this object.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Pike.DefaultBackend'>Pike.DefaultBackend</ref>, <ref>main()</ref></p>   </text></group></doc>   <method name='add_file'> - <arguments><argument name='f'><type><or><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::Stdio.FILE'>Stdio.FILE</object></or></type></argument></arguments> + <arguments><argument name='f'><type><or><object>Stdio.File</object><object>Stdio.FILE</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-type='variable'><doc><text><p>If set, these are called just before and after the backend waits    for an event.</p>   <p> If an error is thrown from these callbacks then it is reported    using <expr>master()-&gt;handle_error()</expr> - it doesn't interrupt    the operation of the backend.</p>   </text></doc>   <variable name='before_callback'><type><function><argtype><object resolved='predef::Pike.Backend'>Backend</object></argtype><returntype><void/></returntype></function></type></variable>
autodoc.git/onepage.xml:103015:   </module>   <module name='Process'>   <docgroup homogen-name='daemon' homogen-type='method'><doc><text><p>A function to run current program in the background.</p>   </text><group><param name='nochdir'/><text><p>If 0 the process will continue to run in / or the directory    dictadet by modifiers.</p>   </text></group><group><param name='noclose'/><text><p>If this is not 0 the process will keep current file descriptors    open.</p>   </text></group><group><param name='modifiers'/><text><p>Optional extra arguments. The parameters passed in this mapping    will override the arguments nochdir and noclose.</p>   <mapping><group><member><type><string/></type><index>"cwd"</index></member><text><p>Change current working directory to this directory.</p> - </text></group><group><member><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type><index>"stdin"</index></member><text><p>If this is a string this will be interpreted as a filename + </text></group><group><member><type><or><string/><object>Stdio.File</object></or></type><index>"stdin"</index></member><text><p>If this is a string this will be interpreted as a filename    pointing out a file to be used as stdandard input to the process.    If this is a Stdio.File object the process will use this as    standard input.</p> - </text></group><group><member><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type><index>"stdout"</index></member><text><p>If this is a string this will be interpreted as a filename + </text></group><group><member><type><or><string/><object>Stdio.File</object></or></type><index>"stdout"</index></member><text><p>If this is a string this will be interpreted as a filename    pointing out a file to be used as stdandard output to the process.    If this is a Stdio.File object the process will use this as    standard output.</p> - </text></group><group><member><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type><index>"stderr"</index></member><text><p>If this is a string this will be interpreted as a filename + </text></group><group><member><type><or><string/><object>Stdio.File</object></or></type><index>"stderr"</index></member><text><p>If this is a string this will be interpreted as a filename    pointing out a file to be used as stdandard error to the process.    If this is a Stdio.File object the process will use this as    standard error.</p>   </text></group></mapping>   </text></group><group><seealso/><text><p><ref resolved='predef::System.daemon'>System.daemon</ref></p>   </text></group><group><note/><text><p>This function only works on UNIX-like operating systems.</p>   </text></group><group><example/><text><p>/* close all fd:s and cd to '/' */    Process.daemon(0, 0);</p>   <p> /* Do not change working directory. Write stdout to a file called    access.log and stderr to error.log. */    Process.daemon(1, 0, ([ "stdout": "access.log", "stderr": "error.log" ]) );</p>   </text></group></doc>   <method name='daemon'> - <arguments><argument name='nochdir'><type><int/></type></argument><argument name='noclose'><type><int/></type></argument><argument name='modifiers'><type><or><void/><mapping><indextype><string/></indextype><valuetype><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></valuetype></mapping></or></type></argument></arguments> + <arguments><argument name='nochdir'><type><int/></type></argument><argument name='noclose'><type><int/></type></argument><argument name='modifiers'><type><or><void/><mapping><indextype><string/></indextype><valuetype><or><string/><object>Stdio.File</object></or></valuetype></mapping></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='exec' homogen-type='method'>   <method name='exec'>   <arguments><argument name='file'><type><string/></type></argument><argument name='foo'><type><varargs><string/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_forkd_default' homogen-type='method'><doc><text><p>Get the default value for the <expr>"forkd"</expr> modifier
autodoc.git/onepage.xml:103083:    should be one of the following letters:</p>   <string><group><value>"r"</value><text><p>Open for reading. Data written by the process to stdout    is available for read.</p>   </text></group><group><value>"w"</value><text><p>Open for writing. Data written to the file is available    to the process on stdin.</p>   </text></group></string>   </text><group><seealso/><text><p><ref resolved='predef::Process.system'>system</ref>, <ref resolved='predef::Process.spawn'>spawn</ref></p>   </text></group></doc>   <method name='popen'>   <arguments><argument name='command'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.FILE'>Stdio.FILE</object></returntype> + <returntype><object>Stdio.FILE</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='run' homogen-type='method'><doc><text><p>Easy and lazy way of using <ref resolved='predef::Process.Process'>Process.Process</ref> that runs a process    and returns a mapping with the output and exit code without    having to make sure you read nonblocking yourself.</p>   </text><group><param name='args'/><text><p>Either a command line array, as the command_args    argument to <ref resolved='predef::Process.create_process'>create_process()</ref>, or a string that    will be splitted into a command line array by    calling <ref resolved='predef::Process.split_quoted_string'>split_quoted_string()</ref> in an operating    system dependant mode.</p>
autodoc.git/onepage.xml:103165:    statement ("<expr>/bin/sh -c <ref resolved='predef::Process.spawn.command'>command</ref></expr>" for Unix, "<expr>cmd /c    <ref resolved='predef::Process.spawn.command'>command</ref></expr>" for Windows).</p>   </text><group><param name='stdin'/><param name='stdout'/><param name='stderr'/><text><p>Stream objects to use as standard input, standard output and    standard error, respectively, for the created process. The    corresponding streams for this process are used for those that    are left out.</p>   </text></group><group><returns/><text><p>Returns a <ref resolved='predef::Process.Process'>Process.Process</ref> object for the created process.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Process.system'>system</ref>, <ref resolved='predef::Process.popen'>popen</ref></p>   </text></group></doc>   <method name='spawn'> - <arguments><argument name='command'><type><string/></type></argument><argument name='stdin'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stdout'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stderr'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument></arguments> + <arguments><argument name='command'><type><string/></type></argument><argument name='stdin'><type><or><void/><object>Stdio.Stream</object></or></type></argument><argument name='stdout'><type><or><void/><object>Stdio.Stream</object></or></type></argument><argument name='stderr'><type><or><void/><object>Stdio.Stream</object></or></type></argument></arguments>   <returntype><attribute><prefix/><attribute>"deprecated"</attribute><subtype><object resolved='predef::Process.Process'>Process</object></subtype></attribute></returntype>   </method>   </docgroup>   <docgroup homogen-name='spawn_pike' homogen-type='method'><doc><text><p>Spawn a new pike process similar to the current.</p>   </text><group><param name='argv'/><text><p>Arguments for the new process.</p>   </text></group><group><param name='options'/><text><p>Process creation options. See <ref resolved='predef::Process.Process'>Process.Process</ref> for details. May also    specify "add_predefines", "add_program_path", or "add_include_path" in    order to include these components in command path (module path is    included by default.)</p>   </text></group><group><param name='launcher'/><text><p>Optional launcher prefix command used to spawn the pike binary.</p>
autodoc.git/onepage.xml:103228:   <docgroup homogen-name='system' homogen-type='method'><doc><text><p>Executes <ref resolved='predef::Process.system.command'>command</ref> as a shell statement ("<expr>/bin/sh -c    <ref resolved='predef::Process.system.command'>command</ref></expr>" for Unix, "<expr>cmd /c <ref resolved='predef::Process.system.command'>command</ref></expr>" for Windows),    waits until it has finished and returns its return value.</p>   </text><group><param name='stdin'/><param name='stdout'/><param name='stderr'/><text><p>Stream objects to use as standard input, standard output and    standard error, respectively, for the created process. The    corresponding streams for this process are used for those that    are left out.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Process.spawn'>spawn</ref>, <ref resolved='predef::Process.popen'>popen</ref></p>   </text></group></doc>   <method name='system'> - <arguments><argument name='command'><type><string/></type></argument><argument name='stdin'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stdout'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stderr'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument></arguments> + <arguments><argument name='command'><type><string/></type></argument><argument name='stdin'><type><or><void/><object>Stdio.Stream</object></or></type></argument><argument name='stdout'><type><or><void/><object>Stdio.Stream</object></or></type></argument><argument name='stderr'><type><or><void/><object>Stdio.Stream</object></or></type></argument></arguments>   <returntype><attribute><prefix/><attribute>"deprecated"</attribute><subtype><int/></subtype></attribute></returntype>   </method>   </docgroup>   <class name='ForkdDecoder'>   <doc><text><p>Decoder for data received by <ref resolved='predef::Tools.Standalone.forkd'>Tools.Standalone.forkd</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Process.ForkdEncoder'>ForkdEncoder</ref></p>   </text></group></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='fds'><type><array><valuetype><object resolved='predef::Stdio.Fd'>Stdio.Fd</object></valuetype></array></type></argument></arguments>
autodoc.git/onepage.xml:103252:   <docgroup homogen-name='fds' homogen-type='variable'>   <variable name='fds'><type><array><valuetype><object resolved='predef::Stdio.Fd'>Stdio.Fd</object></valuetype></array></type></variable>   </docgroup>   </class>   <class name='ForkdEncoder'>   <doc><text><p>Encoder for data to be sent to <ref resolved='predef::Tools.Standalone.forkd'>Tools.Standalone.forkd</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Process.ForkdDecoder'>ForkdDecoder</ref></p>   </text></group></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='remote_fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='remote_fd'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='remote_fd' homogen-type='variable'> - <variable name='remote_fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></variable> + <variable name='remote_fd'><type><object>Stdio.File</object></type></variable>   </docgroup>   </class>   <class name='Process'>   <doc><text><p>Slightly polished version of <ref resolved='predef::Process.create_process'>create_process</ref>.</p>   <p> In addition to the features supported by <ref resolved='predef::Process.create_process'>create_process</ref>,    it also supports:</p>   <ul><group><item/><text><p>Callbacks on timeout and process termination.</p>   </text></group><group><item/><text><p>Using <ref resolved='predef::Tools.Standalone.forkd'>Tools.Standalone.forkd</ref> via RPC to    spawn the new process.</p>   </text></group></ul>
autodoc.git/onepage.xml:103303:   </method>   </docgroup>   <docgroup homogen-name='create_process' homogen-type='inherit'><doc><text><p>Based on <ref resolved='predef::Process.create_process'>create_process</ref>.</p>   </text></doc>   <inherit name='create_process'><classname resolved='predef::Process.create_process'>create_process</classname></inherit>   </docgroup>   </class>   <class name='Spawn'>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='cmd'><type><string/></type></argument><argument name='args'><type><or><void/><array><valuetype><string/></valuetype></array></or></type></argument><argument name='env'><type><or><void/><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></or></type></argument><argument name='cwd'><type><or><string/><void/></or></type></argument><argument name='ownpipes'><type><or><void/><array><valuetype><or><object resolved='predef::Stdio.File'>Stdio.File</object><void/></or></valuetype></array></or></type></argument><argument name='fds_to_close'><type><or><void/><array><valuetype><or><object resolved='predef::Stdio.File'>Stdio.File</object><void/></or></valuetype></array></or></type></argument></arguments> + <arguments><argument name='cmd'><type><string/></type></argument><argument name='args'><type><or><void/><array><valuetype><string/></valuetype></array></or></type></argument><argument name='env'><type><or><void/><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></or></type></argument><argument name='cwd'><type><or><string/><void/></or></type></argument><argument name='ownpipes'><type><or><void/><array><valuetype><or><object>Stdio.File</object><void/></or></valuetype></array></or></type></argument><argument name='fds_to_close'><type><or><void/><array><valuetype><or><object>Stdio.File</object><void/></or></valuetype></array></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='kill' homogen-type='method'>   <method name='kill'>   <arguments><argument name='signal'><type><int/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='wait' homogen-type='method'>
autodoc.git/onepage.xml:103399:    by the main thread when the main backend is idle. Indeed, you can    specify a callback even if your program does not use a backend.</p>   </text></group><group><member><type><string/></type><index>"cwd"</index></member><text><p>Execute the command in another directory than the current    directory of this process. Please note that if the command is    given is a relative path, it will be relative to this directory    rather than the current directory of this process.</p>   <p> Note also that the path is relative to the <expr>"chroot"</expr> if used.</p>   </text></group><group><member><type><string/></type><index>"chroot"</index></member><text><p>Chroot to this directory before executing the command.</p>   <p> Note that the current directory will be changed to <expr>"/"</expr> in    the chroot environment, unless <expr>"cwd"</expr> above has been set.</p> - </text></group><group><member><type><object resolved='predef::Stdio.File'>Stdio.File</object></type><index>"stdin"</index></member><member><type><object resolved='predef::Stdio.File'>Stdio.File</object></type><index>"stdout"</index></member><member><type><object resolved='predef::Stdio.File'>Stdio.File</object></type><index>"stderr"</index></member><text><p>These parameters allows you to change the standard input, output + </text></group><group><member><type><object>Stdio.File</object></type><index>"stdin"</index></member><member><type><object>Stdio.File</object></type><index>"stdout"</index></member><member><type><object>Stdio.File</object></type><index>"stderr"</index></member><text><p>These parameters allows you to change the standard input, output    and error streams of the newly created process. This is -  particularly useful in combination with <ref resolved='predef::Stdio.File.pipe'>Stdio.File.pipe</ref>.</p> +  particularly useful in combination with <ref>Stdio.File.pipe</ref>.</p>   </text></group><group><member><type><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></type><index>"env"</index></member><text><p>This mapping will become the environment variables for the    created process. Normally you will want to only add or change    variables which can be achived by getting the environment mapping    for this process with <ref resolved='predef::getenv'>getenv</ref>. See the examples section.</p>   </text></group><group><member><type><or><int/><string/></or></type><index>"uid"</index></member><text><p>This parameter changes which user the new process will execute    as. Note that the current process must be running as UID 0 to use    this option. The uid can be given either as an integer as a    string containing the login name of that user.</p>   <p> The "gid" and "groups" for the new process will be set to the    right values for that user unless overriden by options below.</p>   <p> (See <ref>setuid</ref> and <ref resolved='predef::getpwuid'>getpwuid</ref> for more info.)</p>   </text></group><group><member><type><or><int/><string/></or></type><index>"gid"</index></member><text><p>This parameter changes the primary group for the new process.    When the new process creates files, they will will be created    with this group. The group can either be given as an int or a    string containing the name of the group. (See <ref>setuid</ref>    and <ref resolved='predef::getgrgid'>getgrgid</ref> for more info.)</p> - </text></group><group><member><type><or><int><min>0</min><max>1</max></int><object resolved='predef::Stdio.File'>Stdio.File</object></or></type><index>"setsid"</index></member><text><p>Set this to <expr>1</expr> to create a new session group. + </text></group><group><member><type><or><int><min>0</min><max>1</max></int><object>Stdio.File</object></or></type><index>"setsid"</index></member><text><p>Set this to <expr>1</expr> to create a new session group.    It is also possible to set it to a File object, in which    case a new session group will be created with this file    as the controlling terminal.</p>   </text></group><group><member><type><array><valuetype><or><int/><string/></or></valuetype></array></type><index>"setgroups"</index></member><text><p>This parameter allows you to the set the list of groups that the    new process belongs to. It is recommended that if you use this    parameter you supply at least one and no more than 16 groups.    (Some system only support up to 8...) The groups can be given as    gids or as strings with the group names.</p>   </text></group><group><member><type><int><min>0</min><max>1</max></int></type><index>"noinitgroups"</index></member><text><p>This parameter overrides a behaviour of the "uid" parameter. If    this parameter is used, the gid and groups of the new process    will be inherited from the current process rather than changed to    the approperiate values for that uid.</p>   </text></group><group><member><type><string/></type><index>"priority"</index></member><text><p>This sets the priority of the new process, see    <ref resolved='predef::Process.create_process.set_priority'>set_priority</ref> for more info.</p>   </text></group><group><member><type><int/></type><index>"nice"</index></member><text><p>This sets the nice level of the new process; the lower the    number, the higher the priority of the process. Note that only    UID 0 may use negative numbers.</p>   </text></group><group><member><type><int><min>0</min><max>1</max></int></type><index>"keep_signals"</index></member><text><p>This prevents Pike from restoring all signal handlers to their    default values for the new process. Useful to ignore certain    signals in the new process.</p> - </text></group><group><member><type><array><valuetype><or><object resolved='predef::Stdio.File'>Stdio.File</object><int><min>0</min><max>0</max></int></or></valuetype></array></type><index>"fds"</index></member><text><p>This parameter allows you to map files to filedescriptors 3 and + </text></group><group><member><type><array><valuetype><or><object>Stdio.File</object><int><min>0</min><max>0</max></int></or></valuetype></array></type><index>"fds"</index></member><text><p>This parameter allows you to map files to filedescriptors 3 and    up. The file <expr>fds[0]</expr> will be remapped to fd 3 in the new    process, etc.</p>   </text></group><group><member><type><mapping><indextype><string/></indextype><valuetype><object resolved='predef::Process.create_process.limit_value'>limit_value</object></valuetype></mapping></type><index>"rlimit"</index></member><text><p>There are two values for each limit, the soft limit and the hard    limit. Processes that do not have UID 0 may not raise the hard    limit, and the soft limit may never be increased over the hard    limit. The indices of the mapping indicate what limit to impose,    and the values dictate what the limit should be. (See also    <ref resolved='predef::System.setrlimit'>System.setrlimit</ref>)</p>   <mapping><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"core"</index></member><text><p>maximum core file size in bytes</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"cpu"</index></member><text><p>maximum amount of cpu time used by the process in seconds</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"data"</index></member><text><p>maximum heap (brk, malloc) size in bytes</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"fsize"</index></member><text><p>maximum size of files created by the process in bytes</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"map_mem"</index></member><text><p>maximum size of the process's mapped address space (mmap() and    heap size) in bytes</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"mem"</index></member><text><p>maximum size of the process's total amount of available memory    (mmap, heap and stack size) in bytes</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"nofile"</index></member><text><p>maximum number of file descriptors the process may create</p>   </text></group><group><member><type><object resolved='predef::Process.create_process.limit_value'>limit_value</object></type><index>"stack"</index></member><text><p>maximum stack size in bytes</p>   </text></group></mapping> - </text></group><group><member><type><object resolved='predef::Stdio.File'>Stdio.File</object></type><index>"conpty"</index></member><text><p>Bind the process to the console associated with this + </text></group><group><member><type><object>Stdio.File</object></type><index>"conpty"</index></member><text><p>Bind the process to the console associated with this    pty slave. NT only.</p>   </text></group></mapping>   </text></group><group><example/><text><p>Process.create_process(({ "/usr/bin/env" }),    (["env" : getenv() + (["TERM":"vt100"]) ]));</p>   </text></group><group><example/><text><p>//! Spawn a new process with the args @[args] and optionally a    //! standard input if you provide such a @[Stdio.File] object.    //! @returns    //! Returns the new process and a pipe from which you can read    //! its output.    array(Process.Process|Stdio.File) spawn(Stdio.File|void stdin, string ... args)
autodoc.git/onepage.xml:103669:   </text></doc>   <method name='bits2string'>   <arguments><argument name='v'><type><array><valuetype><int><min>0</min><max>1</max></int></valuetype></array></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode' homogen-type='method'><doc><text><p>Decodes a Bittorrent bencoded data chunk and ignores the remaining    string. Returns <expr>UNDEFINED</expr> if the data is incomplete.</p>   </text></doc>   <method name='decode'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><or><string/><int/><array/><mapping/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Encodes a Bittorrent bencoded data chunk.</p>   </text></doc>   <method name='encode'>   <arguments><argument name='data'><type><or><string/><int/><array/><mapping/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:103874:   <docgroup homogen-name='my_node_id' homogen-type='variable'><doc><text><p>Our global ID for this DHT router, expressed as a 20 byte hash.</p>   </text></doc>   <variable name='my_node_id'><modifiers><protected/></modifiers><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='peers_by_hash' homogen-type='variable'><doc><text><p>Peers we know of.</p>   </text></doc>   <variable name='peers_by_hash'><type><mapping><indextype><string/></indextype><valuetype><mapping/></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='port' homogen-type='variable'><doc><text><p>The UDP port on which we listen for messages.</p>   </text></doc> - <variable name='port'><type><object resolved='predef::Stdio.UDP'>Stdio.UDP</object></type></variable> + <variable name='port'><type><object>Stdio.UDP</object></type></variable>   </docgroup>   <docgroup homogen-name='read_callback' homogen-type='method'><doc><text><p>Called when we recieve a datagram on the UDP port we are listening    to.</p>   </text></doc>   <method name='read_callback'><modifiers><protected/></modifiers>   <arguments><argument name='datagram'><type><mapping><indextype><string/></indextype><valuetype><or><int/><string/></or></valuetype></mapping></type></argument><argument name='extra'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='read_timeout' homogen-type='method'><doc><text><p>Internal timeout method to ensure we don't wait forever on
autodoc.git/onepage.xml:105449:   <docgroup homogen-name='host_to_ip' homogen-type='method'>   <method name='host_to_ip'>   <arguments><argument name='host'><type><string/></type></argument><argument name='callback'><type><function/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><object resolved='predef::Protocols.DNS.client.Request'>Request</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='client' homogen-type='inherit'>   <inherit name='client'><classname resolved='predef::Protocols.DNS.client'>client</classname></inherit>   </docgroup>   <docgroup homogen-name='udp' homogen-type='inherit'> - <inherit name='udp'><classname resolved='predef::Stdio.UDP'>Stdio.UDP</classname></inherit> + <inherit name='udp'><classname>Stdio.UDP</classname></inherit>   </docgroup>   <docgroup homogen-name='ip_to_host' homogen-type='method'>   <method name='ip_to_host'>   <arguments><argument name='ip'><type><string/></type></argument><argument name='callback'><type><function/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><object resolved='predef::Protocols.DNS.client.Request'>Request</object></returntype>   </method>   </docgroup>   </class>   <class name='async_dual_client'>   <doc><text><p>Both an <ref resolved='predef::Protocols.DNS.async_client'>async_client</ref> and an <ref resolved='predef::Protocols.DNS.async_tcp_client'>async_tcp_client</ref>.</p>
autodoc.git/onepage.xml:105733:   <inherit name='server_base'><classname resolved='predef::Protocols.DNS.server_base'>server_base</classname></inherit>   </docgroup>   </class>   <class name='server_base'>   <doc><text><p>Base class for <ref resolved='predef::Protocols.DNS.server'>server</ref>, <ref resolved='predef::Protocols.DNS.tcp_server'>tcp_server</ref>.</p>   </text></doc>   <docgroup homogen-name='handle_decode_error' homogen-type='method'><doc><text><p>Respond to a query that cannot be decoded.</p>   <p> This method exists so that servers can override the default behaviour.</p>   </text></doc>   <method name='handle_decode_error'><modifiers><protected/></modifiers> - <arguments><argument name='err'><type><mapping/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object resolved='predef::Stdio.UDP'>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.handle_decode_error'/></or></type></argument></arguments> + <arguments><argument name='err'><type><mapping/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.handle_decode_error'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='handle_query' homogen-type='method'><doc><text><p>Handle a query.</p>   <p> This function calls <ref resolved='predef::Protocols.DNS.server_base.reply_query'>reply_query()</ref>,    and dispatches the result to <ref>send_reply()</ref>.</p>   </text></doc>   <method name='handle_query'><modifiers><protected/></modifiers> - <arguments><argument name='q'><type><mapping/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object resolved='predef::Stdio.UDP'>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.handle_query'/></or></type></argument></arguments> + <arguments><argument name='q'><type><mapping/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.handle_query'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='handle_response' homogen-type='method'><doc><text><p>Handle a query response (stub).</p>   <p> Overload this function to handle responses to possible recursive queries.</p>   </text></doc>   <method name='handle_response'><modifiers><protected/></modifiers> - <arguments><argument name='r'><type><mapping/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object resolved='predef::Stdio.UDP'>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.handle_response'/></or></type></argument></arguments> + <arguments><argument name='r'><type><mapping/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.handle_response'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='protocol' homogen-type='inherit'>   <inherit name='protocol'><classname resolved='predef::Protocols.DNS.protocol'>protocol</classname></inherit>   </docgroup>   <docgroup homogen-name='rec_data' homogen-type='method'><doc><text><p>Low-level DNS-data receiver.</p> - <p> This function receives the raw DNS-data from the <ref resolved='predef::Stdio.UDP'>Stdio.UDP</ref> socket + <p> This function receives the raw DNS-data from the <ref>Stdio.UDP</ref> socket    or TCP connection object <ref resolved='predef::Protocols.DNS.server_base.rec_data.udp'>udp</ref>, decodes it, and dispatches the decoded    DNS request to <ref resolved='predef::Protocols.DNS.server_base.handle_query'>handle_query()</ref> and <ref resolved='predef::Protocols.DNS.server_base.handle_response'>handle_response()</ref>.</p>   </text></doc>   <method name='rec_data'><modifiers><protected/></modifiers> - <arguments><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object resolved='predef::Stdio.UDP'>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.rec_data'/></or></type></argument></arguments> + <arguments><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.rec_data'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='reply_query' homogen-type='method'><doc><text><p>Reply to a query (stub).</p>   </text><group><param name='query'/><text><p>Parsed query.</p>   </text></group><group><param name='udp_data'/><text><p>Raw UDP data. If the server operates in TCP mode (<ref resolved='predef::Protocols.DNS.tcp_server'>tcp_server</ref>),    it will contain an additional tcp_con entry. In that case,    <expr>udp_data-&gt;tcp_con-&gt;con</expr> will contain the TCP connection the -  request was received on as <ref resolved='predef::Stdio.File'>Stdio.File</ref> object.</p> +  request was received on as <ref>Stdio.File</ref> object.</p>   </text></group><group><param name='cb'/><text><p>Callback you can call with the result instead of returning it.    In that case, return <expr>0</expr> (zero).</p>   <p> Overload this function to implement the proper lookup.</p>   </text></group><group><note/><text><p>To indicate the default failure <ref resolved='predef::Protocols.DNS.server_base.reply_query.cb'>cb</ref> must be called with an    argument of <expr>0</expr> (zero), and <expr>0</expr> (zero) be returned.</p>   </text></group><group><returns/><text><p>Returns <expr>0</expr> (zero) when the <ref resolved='predef::Protocols.DNS.server_base.reply_query.cb'>cb</ref> callback will be used,    or a result mapping if not:</p>   <mapping><group><member><type><int/></type><index>"rcode"</index></member><text><p>0 (or omit) for success, otherwise one of the Protocols.DNS.* constants</p>   </text></group><group><member><type><or><array><valuetype><mapping><indextype><string/></indextype><valuetype><or><string/><int/></or></valuetype></mapping></valuetype></array><void/></or></type><index>"an"</index></member><text><p>Answer section:</p>   <array><group><elem><type><mapping><indextype><string/></indextype><valuetype><or><string/><int/></or></valuetype></mapping></type><index>entry</index></elem><text><mapping><group><member><type><or><string/><array><valuetype><string/></valuetype></array></or></type><index>"name"</index></member><member><type><int/></type><index>"type"</index></member><member><type><int/></type><index>"cl"</index></member></group></mapping></text></group></array></text></group><group><member><type><or><array/><void/></or></type><index>"qd"</index></member><text><p>Question section, same format as <ref>an</ref>; omit to return the original question</p>
autodoc.git/onepage.xml:105804:   <arguments><argument name='query'><type><mapping/></type></argument><argument name='udp_data'><type><mapping/></type></argument><argument name='cb'><type><function><argtype><mapping/></argtype><returntype><void/></returntype></function></type></argument></arguments>   <returntype><mapping/></returntype>   </method>   </docgroup>   <docgroup homogen-name='report_decode_error' homogen-type='method'><doc><text><p>Report a failure to decode a DNS request.</p>   <p> The default implementation writes a backtrace to stderr. This    method exists so that derived servers can replace it with more    appropriate error handling for their environment.</p>   </text></doc>   <method name='report_decode_error'><modifiers><protected/></modifiers> - <arguments><argument name='err'><type><mixed/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object resolved='predef::Stdio.UDP'>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.report_decode_error'/></or></type></argument></arguments> + <arguments><argument name='err'><type><mixed/></type></argument><argument name='m'><type><mapping/></type></argument><argument name='udp'><type><or><object>Stdio.UDP</object><object resolved='predef::Protocols.DNS.server_base.report_decode_error'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='tcp_client'>   <doc><text><p>Synchronous DNS client using TCP    Can handle larger responses than <ref resolved='predef::Protocols.DNS.client'>client</ref> can.</p>   </text></doc>   <docgroup homogen-name='do_sync_query' homogen-type='method'><doc><text><p>Perform a synchronous DNS query.</p>   </text><group><param name='s'/><text><p>Result of <ref resolved='predef::Protocols.DNS.protocol.mkquery'>Protocols.DNS.protocol.mkquery</ref></p>
autodoc.git/onepage.xml:106901:   <docgroup homogen-name='unicode_data' homogen-type='method'><doc><text><p>Gives back data, but decoded according to the content-type    character set.</p>   </text><group><seealso/><text><p><ref resolved='predef::Protocols.HTTP.Query.data'>data</ref></p>   </text></group></doc>   <method name='unicode_data'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <class name='PseudoFile'> - <doc><text><p>Minimal simulation of a <ref resolved='predef::Stdio.File'>Stdio.File</ref> object.</p> + <doc><text><p>Minimal simulation of a <ref>Stdio.File</ref> object.</p>   <p> Objects of this class are returned by <ref resolved='predef::Protocols.HTTP.Query.file'>file()</ref> and <ref resolved='predef::Protocols.HTTP.Query.datafile'>datafile()</ref>.</p>   </text><group><note/><text><p>Do not attempt further queries using this <ref resolved='predef::Protocols.HTTP.Query'>Query</ref> object    before having read all data.</p>   </text></group></doc>   <docgroup homogen-name='close' homogen-type='method'>   <method name='close'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:107075:   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='misc' homogen-type='variable'><doc><text><p>external use only</p>   </text></doc>   <variable name='misc'><type><mapping/></type></variable>   </docgroup>   <docgroup homogen-name='my_fd' homogen-type='variable'><doc><text><p>The socket that this request came in on.</p>   </text></doc> - <variable name='my_fd'><type><object resolved='predef::Stdio.NonblockingStream'>Stdio.NonblockingStream</object></type></variable> + <variable name='my_fd'><type><object>Stdio.NonblockingStream</object></type></variable>   </docgroup>   <docgroup homogen-name='not_query' homogen-type='variable'><doc><text><p>resource requested minus any attached query</p>   </text></doc>   <variable name='not_query'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='opportunistic_tls' homogen-type='method'><doc><text><p>Called when the client is attempting opportunistic TLS on this    HTTP port. Overload to handle, i.e. send the data to a TLS    port. By default the connection is simply closed.</p>   </text></doc>   <method name='opportunistic_tls'>
autodoc.git/onepage.xml:107553:   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <class name='Frame'>   <modifiers><protected/></modifiers>   <doc><text><p>HTTP/2 frame.</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='frame_type'><type><object>FrameType</object></type></argument><argument name='flags'><type><object>Flag</object></type></argument><argument name='payload'><type><or><int/><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><array><valuetype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></valuetype></array></or></type></argument><argument name='stream_id'><type><or><int/><void/></or></type></argument><argument name='promised_stream_id'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='frame_type'><type><object>FrameType</object></type></argument><argument name='flags'><type><object>Flag</object></type></argument><argument name='payload'><type><or><int/><object>Stdio.Buffer</object><array><valuetype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></valuetype></array></or></type></argument><argument name='stream_id'><type><or><int/><void/></or></type></argument><argument name='promised_stream_id'><type><or><int/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-type='variable'>   <variable name='frame_type'><type><object>FrameType</object></type></variable>   <variable name='flags'><type><object>Flag</object></type></variable>   </docgroup>   <docgroup homogen-name='payload' homogen-type='variable'><doc><text><p>Data length for received packets,    and payload for packets to send.</p>   <p> NB: To avoid frame reordering issues with HPack,    this is the set of headers for <ref>FRAME_header</ref>    and <ref>FRAME_push_promise</ref>.</p>   </text></doc> - <variable name='payload'><type><or><int/><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><array><valuetype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></valuetype></array></or></type></variable> + <variable name='payload'><type><or><int/><object>Stdio.Buffer</object><array><valuetype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></valuetype></array></or></type></variable>   </docgroup>   <docgroup homogen-name='promised_stream_id' homogen-type='variable'><doc><text><p>Only used with <ref>FRAME_push_promise</ref>, and    overrides <ref resolved='predef::Protocols.HTTP2.Frame.stream_id'>stream_id</ref>.</p>   </text></doc>   <variable name='promised_stream_id'><type><or><int/><void/></or></type></variable>   </docgroup>   <docgroup homogen-name='stream_id' homogen-type='variable'><doc><text><p>Stream identifier.</p>   </text></doc>   <variable name='stream_id'><type><or><int/><void/></or></type></variable>   </docgroup>
autodoc.git/onepage.xml:109289:   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a simple nonblocking line-based protocol handler.</p>   <p> <ref resolved='predef::Protocols.Line.simple.create.con'>con</ref> is the connection.</p>   <p> <ref resolved='predef::Protocols.Line.simple.create.timeout'>timeout</ref> is an optional timeout in seconds after which the connection    will be closed if there has been no data sent or received.</p>   <p> If <ref resolved='predef::Protocols.Line.simple.create.timeout'>timeout</ref> is <expr>0</expr> (zero), no timeout will be in effect.</p>   </text><group><seealso/><text><p><ref resolved='predef::Protocols.Line.simple.touch_time'>touch_time()</ref>, <ref resolved='predef::Protocols.Line.simple.do_timeout'>do_timeout()</ref></p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='con'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='timeout'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='con'><type><object>Stdio.File</object></type></argument><argument name='timeout'><type><or><int/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='disconnect' homogen-type='method'><doc><text><p>Disconnect the connection.</p>   <p> Pushes an end of file marker onto the send queue <ref resolved='predef::Protocols.Line.simple.send_q'>send_q</ref>.</p>   </text><group><note/><text><p>Note that the actual closing of the connection is delayed    until all data in the send queue has been sent.</p>   <p> No more data will be read from the other end after this function    has been called.</p>   </text></group></doc>
autodoc.git/onepage.xml:109935:   </text></group></doc>   <method name='command'>   <arguments><argument name='cmd'><type><string/></type></argument><argument name='cb'><type><or><function/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='protocolhelper' homogen-type='inherit'>   <inherit name='protocolhelper'><classname resolved='predef::Protocols.NNTP.protocolhelper'>protocolhelper</classname></inherit>   </docgroup>   <docgroup homogen-name='sock' homogen-type='inherit'> - <inherit name='sock'><classname resolved='predef::Stdio.File'>Stdio.File</classname></inherit> + <inherit name='sock'><classname>Stdio.File</classname></inherit>   </docgroup>   <docgroup homogen-name='readreturncode' homogen-type='method'><doc><text><p>reads the server result code for last request    used internally by command().</p>   </text></doc>   <method name='readreturncode'>   <arguments><argument name='cb'><type><function/></type></argument><argument name='extra'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>
autodoc.git/onepage.xml:110036:   </text></doc>   <method name='failsafe_command'>   <arguments><argument name='cmd'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='protocolhelper' homogen-type='inherit'>   <inherit name='protocolhelper'><classname resolved='predef::Protocols.NNTP.protocolhelper'>protocolhelper</classname></inherit>   </docgroup>   <docgroup homogen-name='sock' homogen-type='inherit'> - <inherit name='sock'><classname resolved='predef::Stdio.FILE'>Stdio.FILE</classname></inherit> + <inherit name='sock'><classname>Stdio.FILE</classname></inherit>   </docgroup>   <docgroup homogen-name='read_body_lines' homogen-type='method'><doc><text><p>reads the message from the server as an array of lines</p>   </text></doc>   <method name='read_body_lines'>   <arguments/>   <returntype><array><valuetype><string/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='readreturnbody' homogen-type='method'><doc><text><p>reads the message from the server</p>   </text></doc>
autodoc.git/onepage.xml:110156:   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Initialize the client by establishing a connection to the    server at the other end of the provided transport stream</p>   </text><group><param name='_con'/><text><p>A stream for writing requests and reading back responses.    Typically this is some kind of serial port.</p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='_con'><type><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></type></argument></arguments> + <arguments><argument name='_con'><type><object>Stdio.Stream</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='disconnect' homogen-type='method'><doc><text><p>Terminate a connection using the <ref resolved='predef::Protocols.OBEX.Request.REQ_DISCONNECT'>REQ_DISCONNECT</ref> opcode</p>   </text><group><returns/><text><p>If the disconnection succeeds, 1 is returned. Otherwise, 0 is returned.</p>   </text></group></doc>   <method name='disconnect'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>
autodoc.git/onepage.xml:110184:   </method>   </docgroup>   <docgroup homogen-name='do_get' homogen-type='method'><doc><text><p>Perform a <ref resolved='predef::Protocols.OBEX.Request.REQ_GET'>REQ_GET</ref> request.</p>   </text><group><param name='data'/><text><p>A stream to write the body data to</p>   </text></group><group><param name='headers'/><text><p>Headers for the request</p>   </text></group><group><returns/><text><p>See <ref resolved='predef::Protocols.OBEX.Client.do_request'>do_request()</ref>. The Headers do not contain any <ref resolved='predef::Protocols.OBEX.HeaderIdentifier.HI_BODY'>HI_BODY</ref>    headers, they are written to the <ref resolved='predef::Protocols.OBEX.Client.do_get.data'>data</ref> stream.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Protocols.OBEX.Client.do_put'>do_put()</ref>, <ref resolved='predef::Protocols.OBEX.Client.do_request'>do_request()</ref></p>   </text></group></doc>   <method name='do_get'> - <arguments><argument name='data'><type><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></type></argument><argument name='headers'><type><or><object resolved='predef::Protocols.OBEX.Headers'>Headers</object><void/></or></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Stream</object></type></argument><argument name='headers'><type><or><object resolved='predef::Protocols.OBEX.Headers'>Headers</object><void/></or></type></argument></arguments>   <returntype><array><valuetype><or><int/><object resolved='predef::Protocols.OBEX.Headers'>Headers</object></or></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='do_put' homogen-type='method'><doc><text><p>Perform a <ref resolved='predef::Protocols.OBEX.Request.REQ_PUT'>REQ_PUT</ref> request.</p>   </text><group><param name='data'/><text><p>Body data to send, or a stream to read the data from</p>   </text></group><group><param name='extra_headers'/><text><p>Any additional headers to send (<ref resolved='predef::Protocols.OBEX.HeaderIdentifier.HI_LENGTH'>HI_LENGTH</ref> and <ref resolved='predef::Protocols.OBEX.HeaderIdentifier.HI_BODY'>HI_BODY</ref>    are generated by this function)</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Protocols.OBEX.Client.do_get'>do_get()</ref>, <ref resolved='predef::Protocols.OBEX.Client.do_request'>do_request()</ref></p>   </text></group></doc>   <method name='do_put'> - <arguments><argument name='data'><type><or><string/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='extra_headers'><type><or><object resolved='predef::Protocols.OBEX.Headers'>Headers</object><void/></or></type></argument></arguments> + <arguments><argument name='data'><type><or><string/><object>Stdio.Stream</object></or></type></argument><argument name='extra_headers'><type><or><object resolved='predef::Protocols.OBEX.Headers'>Headers</object><void/></or></type></argument></arguments>   <returntype><array><valuetype><or><int/><object resolved='predef::Protocols.OBEX.Headers'>Headers</object></or></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='do_request' homogen-type='method'><doc><text><p>Perform a request/response exchange with the server,    including processing of headers and request splitting.</p>   </text><group><param name='r'/><text><p>Request opcode</p>   </text></group><group><param name='headers'/><text><p>Request headers</p>   </text></group><group><param name='extra_req'/><text><p>Any request data that should appear before the headers,    but after the opcode</p>   </text></group><group><returns/><text><p>An array with the response information</p>
autodoc.git/onepage.xml:110570:    provided the client will look up the mail host by searching for    the DNS MX record.</p>   </text><group><throws/><text><p>Throws an exception if the client fails to connect to    the mail server.</p>   </text></group></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   <method name='create'> - <arguments><argument name='server'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='server'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='server'><type><string/></type></argument><argument name='port'><type><or><void/><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='ClientHelper' homogen-type='inherit'>   <inherit name='ClientHelper'><classname resolved='predef::Protocols.SMTP.ClientHelper'>ClientHelper</classname></inherit>   </docgroup>
autodoc.git/onepage.xml:111024:   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Types' homogen-type='import'>   <import name='Types'><classname resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</classname></import>   </docgroup>   <docgroup homogen-name='snmp' homogen-type='inherit'> - <inherit name='snmp'><classname resolved='predef::Stdio.UDP'>Stdio.UDP</classname></inherit> + <inherit name='snmp'><classname>Stdio.UDP</classname></inherit>   </docgroup>   <docgroup homogen-name='readmsg' homogen-type='method'><doc><text><p>return the whole SNMP message in raw format</p>   </text></doc>   <method name='readmsg'>   <arguments><argument name='timeout'><type><or><int/><float/><void/></or></type></argument></arguments>   <returntype><mapping/></returntype>   </method>   </docgroup>   <docgroup homogen-name='readmsg_from_pool' homogen-type='method'><doc><text><p>read decoded message from pool</p>   </text></doc>
autodoc.git/onepage.xml:111176:   <docgroup homogen-name='setup' homogen-type='method'><doc><text><p>Perform the initial TELNET handshaking for LINEMODE.</p>   </text></doc>   <method name='setup'><modifiers><protected/></modifiers>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='Readline'>   <doc><text><p>Line-oriented TELNET protocol handler with <ref resolved='predef::Stdio.Readline'>Stdio.Readline</ref> support.</p> - <p> Implements the <ref resolved='predef::Stdio.NonblockingStream'>Stdio.NonblockingStream</ref> API.</p> + <p> Implements the <ref>Stdio.NonblockingStream</ref> API.</p>   </text></doc>   <docgroup homogen-name='close' homogen-type='method'><doc><text><p>Close the connection.</p>   </text></doc>   <method name='close'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Creates a TELNET protocol handler, and sets its callbacks.</p>   </text><group><param name='f'/><text><p>File to use for the connection.</p>
autodoc.git/onepage.xml:111288:   </method>   </docgroup>   <docgroup homogen-name='tcgetattr' homogen-type='method'><doc><text><p>Get current terminal attributes.</p>   <p> Currently only the following attributes are supported:</p>   <string><group><value>"columns"</value><text><p>Number of columns.</p>   </text></group><group><value>"rows"</value><text><p>Number of rows.</p>   </text></group><group><value>"ECHO"</value><text><p>Local character echo on (<expr>1</expr>) or off (<expr>0</expr> (zero)).</p>   </text></group><group><value>"ICANON"</value><text><p>Canonical input on (<expr>1</expr>) or off (<expr>0</expr> (zero)).</p>   </text></group></string>   </text><group><note/><text><p>Using this function currently bypasses the Readline layer.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.Fd.tcgetattr'>Stdio.File()-&gt;tcgetattr()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.File()-&gt;tcgetattr()</ref></p>   </text></group></doc>   <method name='tcgetattr'>   <arguments/>   <returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='tcsetattr' homogen-type='method'><doc><text><p>Set terminal attributes.</p>   <p> Currently only the following attributes are supported:</p>   <string><group><value>"ECHO"</value><text><p>Local character echo on (<expr>1</expr>) or off (<expr>0</expr> (zero)).</p>   </text></group><group><value>"ICANON"</value><text><p>Canonical input on (<expr>1</expr>) or off (<expr>0</expr> (zero)).</p>   </text></group></string>   </text><group><note/><text><p>Using this function currently bypasses the Readline layer.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.Fd.tcsetattr'>Stdio.File()-&gt;tcsetattr()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.File()-&gt;tcsetattr()</ref></p>   </text></group></doc>   <method name='tcsetattr'>   <arguments><argument name='options'><type><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></type></argument><argument name='when'><type><or><string/><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Queues data to be sent to the other end of the connection.</p>   </text><group><param name='s'/><text><p>String to send.</p>   </text></group></doc>   <method name='write'>
autodoc.git/onepage.xml:111809:    <ref resolved='predef::Protocols.WebSocket.Extension'>Extension</ref> objects for a <ref resolved='predef::Protocols.WebSocket.Connection'>Connection</ref>.</p>   </text></doc>   <typedef name='extension_factory'><type><or><function><argtype><int><min>0</min><max>1</max></int></argtype><argtype><mapping/></argtype><argtype><mapping/></argtype><returntype><object resolved='predef::Protocols.WebSocket'/></returntype></function><program/></or></type></typedef>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='low_parse' homogen-type='method'><doc><text><p>Parses one WebSocket frame. Throws an error if there isn't enough data in the buffer.</p>   </text></doc>   <method name='low_parse'><modifiers><protected/></modifiers> - <arguments><argument name='con'><type><object resolved='predef::Protocols.WebSocket.Connection'>Connection</object></type></argument><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='con'><type><object resolved='predef::Protocols.WebSocket.Connection'>Connection</object></type></argument><argument name='buf'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><object resolved='predef::Protocols.WebSocket.Frame'>Frame</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='message_callback' homogen-type='typedef'>   <typedef name='message_callback'><type><function><argtype><object resolved='predef::Protocols.WebSocket.Frame'>Frame</object></argtype><argtype><mixed/></argtype><returntype><void/></returntype></function></type></typedef>   </docgroup>   <docgroup homogen-name='parse' homogen-type='method'><doc><text><p>Parses one WebSocket frame. Returns <expr>0</expr> if the buffer does not contain enough data.</p>   </text></doc>   <method name='parse'> - <arguments><argument name='con'><type><object resolved='predef::Protocols.WebSocket.Connection'>Connection</object></type></argument><argument name='in'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='con'><type><object resolved='predef::Protocols.WebSocket.Connection'>Connection</object></type></argument><argument name='in'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><object resolved='predef::Protocols.WebSocket.Frame'>Frame</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='permessagedeflate' homogen-type='method'><doc><text><p>Returns an extension factory which implements the <expr>permessage-deflate</expr> WebSocket extension.    It uses the default options from <ref resolved='predef::Protocols.WebSocket.deflate_default_options'>deflate_default_options</ref>. Due to how the    <expr>permessage-deflate</expr> extension works, defragmented frames will be recombined    automatically.</p>   </text><group><note/><text><p>If the <expr>permessage-deflate</expr> extension is not being used, it falls back to use    <ref resolved='predef::Protocols.WebSocket.defragment'>defragment</ref>.</p>   </text></group></doc>
autodoc.git/onepage.xml:111908:    WebSockets and call the <ref resolved='predef::Protocols.WebSocket.Connection.onopen'>onopen</ref> callback.</p>   </text></doc>   <method name='connect'>   <arguments><argument name='endpoint'><type><or><string/><object resolved='predef::Standards.URI'>Standards.URI</object></or></type></argument><argument name='extra_headers'><type><or><void/><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></or></type></argument><argument name='extensions'><type><or><void/><array/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Constructor for server mode</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='f'><type><or><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::SSL.File'>SSL.File</object></or></type></argument><argument name='extensions'><type><or><void/><int/><array><valuetype><object resolved='predef::Protocols.WebSocket.Connection.create'/></valuetype></array></or></type></argument></arguments> + <arguments><argument name='f'><type><or><object>Stdio.File</object><object resolved='predef::SSL.File'>SSL.File</object></or></type></argument><argument name='extensions'><type><or><void/><int/><array><valuetype><object resolved='predef::Protocols.WebSocket.Connection.create'/></valuetype></array></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Constructor for client mode connections</p>   </text></doc>   <method name='create'><modifiers><protected/><variant/></modifiers>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:112003:   <method name='set_id'>   <arguments><argument name='id'><type><mixed/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='state' homogen-type='variable'>   <variable name='state'><type><object resolved='predef::Protocols.WebSocket.Connection.STATE'>STATE</object></type></variable>   </docgroup>   <docgroup homogen-name='stream' homogen-type='variable'><doc><text><p>The actual client connection.</p>   </text></doc> - <variable name='stream'><type><or><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::SSL.File'>SSL.File</object></or></type></variable> + <variable name='stream'><type><or><object>Stdio.File</object><object resolved='predef::SSL.File'>SSL.File</object></or></type></variable>   </docgroup>   <docgroup homogen-name='websocket_in' homogen-type='method'><doc><text><p>Read callback in non-buffer mode.</p>   </text></doc>   <method name='websocket_in'><modifiers><protected/></modifiers>   <arguments><argument name='_id'><type><mixed/></type></argument><argument name='data'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='websocket_in' homogen-type='method'><doc><text><p>Read callback in buffer mode</p>   </text></doc>   <method name='websocket_in'><modifiers><protected/><variant/></modifiers> - <arguments><argument name='_id'><type><mixed/></type></argument><argument name='in'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='_id'><type><mixed/></type></argument><argument name='in'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='websocket_write' homogen-type='method'><doc><text><p>Write callback in non-buffer mode</p>   </text></doc>   <method name='websocket_write'><modifiers><protected/></modifiers>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:112120:   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='data' homogen-type='variable'><doc><text><p>Data part of the frame. Valid for frames of type <ref resolved='predef::Protocols.WebSocket.FRAME.FRAME_BINARY'>FRAME_BINARY</ref>,    <ref resolved='predef::Protocols.WebSocket.FRAME.FRAME_PING'>FRAME_PING</ref> and <ref resolved='predef::Protocols.WebSocket.FRAME.FRAME_PONG'>FRAME_PONG</ref>.</p>   </text></doc>   <variable name='data'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'>   <method name='encode'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='fin' homogen-type='variable'><doc><text><p>Set to <expr>1</expr> if this a final frame, i.e. the last frame of a    fragmented message or a non-fragmentation frame.</p>   </text></doc>   <variable name='fin'><type><int><min>0</min><max>1</max></int></type></variable>   </docgroup>   <docgroup homogen-name='opcode' homogen-type='variable'><doc><text><p>Type of frame eg <expr>FRAME_TEXT</expr> or <expr>FRAME_BINARY</expr></p>   </text></doc>
autodoc.git/onepage.xml:113580:   </text></doc>   <variable name='extensions'><type><mapping><indextype><string/></indextype><valuetype><object resolved='predef::Protocols.X.Extensions.Extension'>.Extensions.Extension</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='formats' homogen-type='variable'>   <variable name='formats'><type><array/></type></variable>   </docgroup>   <docgroup homogen-name='_Xlib' homogen-type='import'>   <import name='_Xlib'><classname>._Xlib</classname></import>   </docgroup>   <docgroup homogen-name='File' homogen-type='inherit'> - <inherit name='File'><classname resolved='predef::Stdio.File'>Stdio.File</classname></inherit> + <inherit name='File'><classname>Stdio.File</classname></inherit>   </docgroup>   <docgroup homogen-name='atom_manager' homogen-type='inherit'>   <inherit name='atom_manager'><classname resolved='predef::Protocols.X.Atom.atom_manager'>.Atom.atom_manager</classname></inherit>   </docgroup>   <docgroup homogen-name='id_manager' homogen-type='inherit'>   <inherit name='id_manager'><classname>id_manager</classname></inherit>   </docgroup>   <docgroup homogen-name='key_mapping' homogen-type='variable'>   <variable name='key_mapping'><type><array/></type></variable>   </docgroup>
autodoc.git/onepage.xml:115132:   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='"."' homogen-type='import'>   <import name='"."'><classname resolved='predef::Remote'>"."</classname></import>   </docgroup>   <docgroup homogen-name='port' homogen-type='variable'><doc><text><p>Port for the <ref resolved='predef::Remote.Server'>Remote.Server</ref>.</p>   </text></doc> - <variable name='port'><type><object resolved='predef::Stdio.Port'>Stdio.Port</object></type></variable> + <variable name='port'><type><object>Stdio.Port</object></type></variable>   </docgroup>   <docgroup homogen-name='provide' homogen-type='method'><doc><text><p>Provide a named <ref resolved='predef::Remote.Server.provide.thing'>thing</ref> to the <ref resolved='predef::Remote.Client'>Remote.Client</ref>(s).</p>   </text><group><param name='name'/><text><p>Name to provide <ref resolved='predef::Remote.Server.provide.thing'>thing</ref> under.</p>   </text></group><group><param name='thing'/><text><p>Thing to provide.</p>   </text></group></doc>   <method name='provide'>   <arguments><argument name='name'><type><string/></type></argument><argument name='thing'><type><mixed/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:115170:   </text></group><group><param name='message'/><text><p><ref resolved='predef::sprintf'>sprintf()</ref>-style formatting string with the diagnostic message.</p>   </text></group><group><param name='extra_args'/><text><p>Extra arguments to <ref resolved='predef::sprintf'>sprintf()</ref>.</p>   <p> The default implementation does the following:</p>   <ul><group><item/><text><p>If there's a <ref>MasterObject()-&gt;report()</ref>, call it    with the same arguments as ourselves.</p>   </text></group><group><item/><text><p>Otherwise depending on <ref resolved='predef::Reporter.report.severity'>severity</ref>:</p>   <int><group><value>NOTICE</value><text><p>Ignored.</p>   </text></group><group><value>WARNING</value><text><p>Calls <ref resolved='predef::MasterObject.compile_warning'>MasterObject()-&gt;compile_warning()</ref>.</p>   </text></group><group><value>ERROR</value><value>FATAL</value><text><p>Calls <ref resolved='predef::MasterObject.compile_error'>MasterObject()-&gt;compile_error()</ref>.</p>   </text></group></int></text></group></ul><p>If there's no master object yet, the diagnostic is output to -  <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> +  <ref>Stdio.stderr</ref>.</p>   </text></group><group><note/><text><p>In Pike 7.8 and earlier <ref>MasterObject()-&gt;report()</ref> was not called.</p>   </text></group><group><seealso/><text><p><ref>PikeCompiler()-&gt;report()</ref></p>   </text></group></doc>   <method name='report'>   <arguments><argument name='severity'><type><object resolved='predef::Reporter.SeverityLevel'>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int><min>1</min><max/></int></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <enum name='SeverityLevel'>   <doc><text><p>Message severity level.
autodoc.git/onepage.xml:116938:   </class>   </module>   <module name='SSL'>   <doc><text><p>Secure Socket Layer (SSL) version 3.0 and    Transport Layer Security (TLS) versions 1.0 - 1.2.</p>   <p> <rfc>2246</rfc> (TLS 1.0): "The primary goal of the TLS Protocol is to    provide privacy and data integrity between two communicating    applications."</p>   <p> The classes that typical users need to use are</p>   <dl><group><item><p><ref resolved='predef::SSL.File'>File</ref></p> - </item><text><p>This is an object that attempts to behave as a <ref resolved='predef::Stdio.File'>Stdio.File</ref> + </item><text><p>This is an object that attempts to behave as a <ref>Stdio.File</ref>    as much as possible.</p>   </text></group><group><item><p><ref resolved='predef::SSL.Port'>Port</ref></p> - </item><text><p>This is an object that attempts to behave as a <ref resolved='predef::Stdio.Port'>Stdio.Port</ref> + </item><text><p>This is an object that attempts to behave as a <ref>Stdio.Port</ref>    as much as possible, with <ref resolved='predef::SSL.Port.accept'>Port()-&gt;accept()</ref> returning    <ref resolved='predef::SSL.File'>File</ref> objects.</p>   </text></group><group><item><p><ref resolved='predef::SSL.Context'>Context</ref></p>   </item><text><p>The configurated context for the <ref resolved='predef::SSL.File'>File</ref>.</p>   </text></group><group><item><p><ref resolved='predef::SSL.Constants.CertificatePair'>Constants.CertificatePair</ref></p>   </item><text><p>A class for keeping track of certificate chains and their    private keys.</p>   </text></group></dl><p>The <ref resolved='predef::SSL.Constants'>Constants</ref> module also contains lots of constants that are    used by the various APIs, as well as functions for formatting    the constants for output.</p>
autodoc.git/onepage.xml:117004:   </text></doc>   <method name='add_string_array'>   <arguments><argument name='data'><type><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></type></argument><argument name='item_size'><type><int><min>0</min><max/></int></type></argument><argument name='len'><type><int><min>0</min><max/></int></type></argument></arguments>   <returntype><object resolved='predef::SSL.Buffer'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new buffer, optionally initialized with the    value <ref resolved='predef::SSL.Buffer.create.s'>s</ref>.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='s'><type><or><void/><string><min>0</min><max>255</max></string><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></type></argument></arguments> + <arguments><argument name='s'><type><or><void/><string><min>0</min><max>255</max></string><object>Stdio.Buffer</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Buffer' homogen-type='inherit'> - <inherit name='Buffer'><classname resolved='predef::_Stdio.Buffer'>Stdio.Buffer</classname></inherit> + <inherit name='Buffer'><classname>Stdio.Buffer</classname></inherit>   </docgroup>   <docgroup homogen-name='read_int_array' homogen-type='method'><doc><text><p>Reads an array of integers as written by <ref resolved='predef::SSL.Buffer.add_int_array'>add_int_array</ref>    from the buffer.</p>   </text></doc>   <method name='read_int_array'>   <arguments><argument name='item_size'><type><int/></type></argument><argument name='len'><type><int/></type></argument></arguments>   <returntype><array><valuetype><int/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='read_string_array' homogen-type='method'><doc><text><p>Reads an array of strings as written by <ref resolved='predef::SSL.Buffer.add_string_array'>add_string_array</ref>
autodoc.git/onepage.xml:117190:   <variable name='max_bytes'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='prf' homogen-type='variable'><doc><text><p>The Pseudo Random Function to use.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.Cipher.prf_ssl_3_0'>prf_ssl_3_0()</ref>, <ref resolved='predef::SSL.Cipher.prf_tls_1_0'>prf_tls_1_0()</ref>, <ref resolved='predef::SSL.Cipher.prf_tls_1_2'>prf_tls_1_2()</ref></p>   </text></group></doc>   <variable name='prf'><type><function><argtype><string><min>0</min><max>255</max></string></argtype><argtype><string><min>0</min><max>255</max></string></argtype><argtype><string><min>0</min><max>255</max></string></argtype><argtype><int/></argtype><returntype><string><min>0</min><max>255</max></string></returntype></function></type></variable>   </docgroup>   <docgroup homogen-name='sign' homogen-type='method'><doc><text><p>The function used to sign packets.</p>   </text></doc>   <method name='sign'> - <arguments><argument name='session'><type><object resolved='predef::SSL.Cipher.CipherSpec.sign'/></type></argument><argument name='cookie'><type><string><min>0</min><max>255</max></string></type></argument><argument name='struct'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> - <returntype><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></returntype> + <arguments><argument name='session'><type><object resolved='predef::SSL.Cipher.CipherSpec.sign'/></type></argument><argument name='cookie'><type><string><min>0</min><max>255</max></string></type></argument><argument name='struct'><type><object>Stdio.Buffer</object></type></argument></arguments> + <returntype><object>Stdio.Buffer</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='signature_alg' homogen-type='variable'><doc><text><p>The signature algorithm used for key exchange signatures.</p>   </text></doc>   <variable name='signature_alg'><type><object resolved='predef::SSL.Constants.SignatureAlgorithm'>SignatureAlgorithm</object></type></variable>   </docgroup>   <docgroup homogen-name='signature_hash' homogen-type='variable'><doc><text><p>The hash algorithm used for key exchange signatures.</p>   </text></doc>   <variable name='signature_hash'><type><object resolved='predef::SSL.Constants.HashAlgorithm'>HashAlgorithm</object></type></variable>   </docgroup>   <docgroup homogen-name='verify' homogen-type='method'><doc><text><p>The function used to verify the signature for packets.</p>   </text></doc>   <method name='verify'> - <arguments><argument name='session'><type><object resolved='predef::SSL.Cipher.CipherSpec.verify'/></type></argument><argument name='data'><type><string/></type></argument><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='session'><type><object resolved='predef::SSL.Cipher.CipherSpec.verify'/></type></argument><argument name='data'><type><string/></type></argument><argument name='input'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   </class>   <class name='DES'>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname resolved='predef::Nettle.BufferedCipher.Buffer.State'>Crypto.DES.CBC.Buffer.State</classname></inherit>   </docgroup>   </class>   <class name='DES3'>
autodoc.git/onepage.xml:117232:   </text></doc>   <docgroup homogen-name='anonymous' homogen-type='variable'><doc><text><p>Indicates whether a certificate isn't required.</p>   </text></doc>   <variable name='anonymous'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='client_key_exchange_packet' homogen-type='method'><doc><group><returns/><text><p>Returns the premaster secret, and fills in the payload for    a <ref>HANDSHAKE_client_key_exchange</ref> packet in the submitted buffer.</p>   <p> May return <expr>0</expr> (zero) to generate an <ref>ALERT_unexpected_message</ref>.</p>   </text></group></doc>   <method name='client_key_exchange_packet'> - <arguments><argument name='packet_data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='packet_data'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-type='variable'>   <variable name='context'><type><object resolved='predef::SSL.Cipher.KeyExchange'/></type></variable>   <variable name='session'><type><object resolved='predef::SSL.Cipher.KeyExchange'/></type></variable>   <variable name='connection'><type><object resolved='predef::SSL.Cipher.KeyExchange'/></type></variable>   <variable name='client_version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></variable>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='context'><type><object resolved='predef::SSL.Cipher.KeyExchange.create'/></type></argument><argument name='session'><type><object resolved='predef::SSL.Cipher.KeyExchange.create'/></type></argument><argument name='connection'><type><object resolved='predef::SSL.Cipher.KeyExchange.create'/></type></argument><argument name='client_version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='got_client_key_exchange' homogen-type='method'><doc><group><param name='data'/><text><p>Payload from a <ref>HANDSHAKE_client_key_exchange</ref>.</p>   </text></group><group><returns/><text><p>Premaster secret or alert number.</p>   </text></group><group><note/><text><p>May set <ref resolved='predef::SSL.Cipher.KeyExchange.message_was_bad'>message_was_bad</ref> and return a fake premaster secret.</p>   </text></group></doc>   <method name='got_client_key_exchange'> - <arguments><argument name='data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><or><string><min>0</min><max>255</max></string><int><min>0</min><max>255</max></int></or></returntype>   </method>   </docgroup> - <docgroup homogen-name='got_server_key_exchange' homogen-type='method'><doc><group><param name='input'/><text><p><ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref> with the content of a + <docgroup homogen-name='got_server_key_exchange' homogen-type='method'><doc><group><param name='input'/><text><p><ref>Stdio.Buffer</ref> with the content of a    <ref>HANDSHAKE_server_key_exchange</ref>.</p>   <p> The default implementation calls <ref resolved='predef::SSL.Cipher.KeyExchange.parse_server_key_exchange'>parse_server_key_exchange()</ref>,    and then verifies the signature.</p>   </text></group><group><returns/><text><int><group><value>0</value><text><p>Returns zero on success.</p>   </text></group><group><value>-1</value><text><p>Returns negative on verification failure.</p>   </text></group></int>   </text></group></doc>   <method name='got_server_key_exchange'> - <arguments><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='client_random'><type><string/></type></argument><argument name='server_random'><type><string/></type></argument></arguments> + <arguments><argument name='input'><type><object>Stdio.Buffer</object></type></argument><argument name='client_random'><type><string/></type></argument><argument name='server_random'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='init_client' homogen-type='method'><doc><text><p>Initialize for client side use.</p>   </text><group><returns/><text><p>Returns <expr>1</expr> on success, and <expr>0</expr> (zero)    on failure.</p>   </text></group></doc>   <method name='init_client'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>
autodoc.git/onepage.xml:117293:   <method name='init_server'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_key_share_offer' homogen-type='method'><doc><text><p>TLS 1.3 and later.</p>   <p> Generate a key share offer for the configured named group    (currently only implemented in <ref>KeyShareECDHE</ref> and <ref>KeyShareDHE</ref>).</p>   </text></doc>   <method name='make_key_share_offer'><modifiers><optional/></modifiers> - <arguments><argument name='offer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='offer'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='message_was_bad' homogen-type='variable'><doc><text><p>Indicates whether the key exchange has failed due to bad MACs.</p>   </text></doc>   <variable name='message_was_bad'><type><int/></type></variable>   </docgroup> - <docgroup homogen-name='parse_server_key_exchange' homogen-type='method'><doc><group><param name='input'/><text><p><ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref> with the content of a + <docgroup homogen-name='parse_server_key_exchange' homogen-type='method'><doc><group><param name='input'/><text><p><ref>Stdio.Buffer</ref> with the content of a    <ref>HANDSHAKE_server_key_exchange</ref>.</p>   </text></group><group><returns/><text><p>The key exchange information should be extracted from <ref resolved='predef::SSL.Cipher.KeyExchange.parse_server_key_exchange.input'>input</ref>,    so that it is positioned at the signature.</p> - <p> Returns a new <ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref> with the unsigned payload of + <p> Returns a new <ref>Stdio.Buffer</ref> with the unsigned payload of    <ref resolved='predef::SSL.Cipher.KeyExchange.parse_server_key_exchange.input'>input</ref>.</p>   </text></group></doc>   <method name='parse_server_key_exchange'> - <arguments><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> - <returntype><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></returntype> + <arguments><argument name='input'><type><object>Stdio.Buffer</object></type></argument></arguments> + <returntype><object>Stdio.Buffer</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='receive_key_share_offer' homogen-type='method'><doc><text><p>TLS 1.3 and later.</p>   <p> Receive a key share offer key exchange for the configured group    (currently only implemented in <ref>KeyShareECDHE</ref> and <ref>KeyShareDHE</ref>).</p>   </text><group><note/><text><p>Clears the secret state.</p>   </text></group><group><returns/><text><p>Returns the shared pre-master key.</p>   </text></group></doc>   <method name='receive_key_share_offer'><modifiers><optional/></modifiers>   <arguments><argument name='offer'><type><string><min>0</min><max>255</max></string></type></argument></arguments>
autodoc.git/onepage.xml:117333:   </docgroup>   <docgroup homogen-name='server_key_exchange_packet' homogen-type='method'><doc><text><p>The default implementation calls <ref resolved='predef::SSL.Cipher.KeyExchange.server_key_params'>server_key_params()</ref> to generate    the base payload.</p>   </text><group><returns/><text><p>Returns the signed payload for a <ref>HANDSHAKE_server_key_exchange</ref>.</p>   </text></group></doc>   <method name='server_key_exchange_packet'>   <arguments><argument name='client_random'><type><string/></type></argument><argument name='server_random'><type><string/></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup> - <docgroup homogen-name='server_key_params' homogen-type='method'><doc><group><returns/><text><p>Returns an <ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref> with the + <docgroup homogen-name='server_key_params' homogen-type='method'><doc><group><returns/><text><p>Returns an <ref>Stdio.Buffer</ref> with the    <ref>HANDSHAKE_server_key_exchange</ref> payload.</p>   </text></group></doc>   <method name='server_key_params'>   <arguments/> - <returntype><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></returntype> + <returntype><object>Stdio.Buffer</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_group' homogen-type='method'><doc><text><p>TLS 1.3 and later.</p>   <p> Set the group or curve to be used.</p>   </text></doc>   <method name='set_group'><modifiers><optional/></modifiers>   <arguments><argument name='group'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:117366:   <inherit name='KeyExchangeDHE'><classname resolved='predef::SSL.Cipher.KeyExchangeDHE'>KeyExchangeDHE</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangeDHE'>   <doc><text><p>KeyExchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_dhe_rsa'>KE_dhe_rsa</ref>, <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_dhe_dss'>KE_dhe_dss</ref> and <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_dh_anon'>KE_dh_anon</ref>.</p>   <p> KeyExchange that uses Diffie-Hellman to generate an Ephemeral key.</p>   </text></doc>   <docgroup homogen-name='got_client_key_exchange' homogen-type='method'><doc><group><returns/><text><p>Premaster secret or alert number.</p>   </text></group></doc>   <method name='got_client_key_exchange'> - <arguments><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='input'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><or><string><min>0</min><max>255</max></string><int><min>0</min><max>255</max></int></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='KeyExchange' homogen-type='inherit'>   <inherit name='KeyExchange'><classname resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</classname></inherit>   </docgroup>   <docgroup homogen-name='parameters' homogen-type='variable'><doc><text><p>Finite field Diffie-Hellman parameters.</p>   </text></doc>   <variable name='parameters'><type><object resolved='predef::Crypto.DH.Parameters'>Crypto.DH.Parameters</object></type></variable>   </docgroup>
autodoc.git/onepage.xml:117417:   </docgroup>   </class>   <class name='KeyExchangeECDHE'>   <doc><text><p>KeyExchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_ecdhe_rsa'>KE_ecdhe_rsa</ref> and <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_ecdhe_ecdsa'>KE_ecdhe_ecdsa</ref>.</p>   <p> KeyExchange that uses Elliptic Curve Diffie-Hellman to    generate an Ephemeral key.</p>   </text></doc>   <docgroup homogen-name='got_client_key_exchange' homogen-type='method'><doc><group><returns/><text><p>Premaster secret or alert number.</p>   </text></group></doc>   <method name='got_client_key_exchange'> - <arguments><argument name='data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><or><string><min>0</min><max>255</max></string><int><min>0</min><max>255</max></int></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='KeyExchange' homogen-type='inherit'>   <inherit name='KeyExchange'><classname resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangeECDHEPSK'>   <doc><text><p>Key exchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_ecdhe_psk'>KE_ecdhe_psk</ref>.</p>   </text></doc>
autodoc.git/onepage.xml:117451:   <inherit name='KeyExchangeRSA'><classname resolved='predef::SSL.Cipher.KeyExchangeRSA'>KeyExchangeRSA</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangeKRB'>   <doc><text><p>Key exchange for <ref>KE_krb</ref>.</p>   <p> <ref resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</ref> that uses Kerberos (<rfc>2712</rfc>).</p>   </text></doc>   <docgroup homogen-name='got_client_key_exchange' homogen-type='method'><doc><group><returns/><text><p>Premaster secret or alert number.</p>   </text></group></doc>   <method name='got_client_key_exchange'> - <arguments><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='input'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><or><string><min>0</min><max>255</max></string><int/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='KeyExchange' homogen-type='inherit'>   <inherit name='KeyExchange'><classname resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangeNULL'>   <doc><text><p>Key exchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_null'>KE_null</ref>.</p>   <p> This is the NULL <ref resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</ref>, which is only used for the    <ref>SSL_null_with_null_null</ref> cipher suite, which is usually disabled.</p>   </text></doc>   <docgroup homogen-name='got_client_key_exchange' homogen-type='method'><doc><group><returns/><text><p>Premaster secret or alert number.</p>   </text></group></doc>   <method name='got_client_key_exchange'> - <arguments><argument name='data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='KeyExchange' homogen-type='inherit'>   <inherit name='KeyExchange'><classname resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangePSK'>   <doc><text><p>Key exchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_psk'>KE_psk</ref>, pre shared keys.</p>   </text></doc>
autodoc.git/onepage.xml:117489:   <inherit name='KeyExchange'><classname resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangeRSA'>   <doc><text><p>Key exchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_rsa'>KE_rsa</ref>.</p>   <p> <ref resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</ref> that uses the Rivest Shamir Adelman algorithm.</p>   </text></doc>   <docgroup homogen-name='got_client_key_exchange' homogen-type='method'><doc><group><returns/><text><p>Premaster secret or alert number.</p>   </text></group></doc>   <method name='got_client_key_exchange'> - <arguments><argument name='input'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments> + <arguments><argument name='input'><type><object>Stdio.Buffer</object></type></argument><argument name='version'><type><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></type></argument></arguments>   <returntype><or><string><min>0</min><max>255</max></string><int><min>0</min><max>255</max></int></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='KeyExchange' homogen-type='inherit'>   <inherit name='KeyExchange'><classname resolved='predef::SSL.Cipher.KeyExchange'>KeyExchange</classname></inherit>   </docgroup>   </class>   <class name='KeyExchangeRSAPSK'>   <doc><text><p>Key exchange for <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_rsa_psk'>KE_rsa_psk</ref>.</p>   </text></doc>
autodoc.git/onepage.xml:117643:   </text><group><param name='type'/><text><p>One of HANDSHAKE_*.</p>   </text></group><group><param name='input'/><text><p>The contents of the packet.</p>   </text></group><group><param name='raw'/><text><p>The raw packet received (needed for supporting SSLv2 hello messages).</p>   </text></group><group><returns/><text><p>This function returns:</p>   <int><group><value>0</value><text><p>If handshaking is in progress.</p>   </text></group><group><value>1</value><text><p>If handshaking has completed.</p>   </text></group><group><value>-1</value><text><p>If a fatal error occurred.</p>   </text></group></int><p>It uses the <ref resolved='predef::SSL.Connection.send_packet'>send_packet()</ref> function to transmit packets.</p>   </text></group></doc>   <method name='handle_handshake'> - <arguments><argument name='type'><type><int/></type></argument><argument name='input'><type><object resolved='predef::SSL.Buffer'>Buffer</object></type></argument><argument name='raw'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='type'><type><int/></type></argument><argument name='input'><type><object resolved='predef::SSL.Buffer'>Buffer</object></type></argument><argument name='raw'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><int><min>-1</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='"."' homogen-type='import'>   <import name='"."'><classname resolved='predef::SSL'>"."</classname></import>   </docgroup>   <docgroup homogen-name='Constants' homogen-type='import'>
autodoc.git/onepage.xml:117756:   </method>   </docgroup>   <docgroup homogen-name='handle_handshake' homogen-type='method'><doc><text><p>Do handshake processing. Type is one of HANDSHAKE_*, data is the    contents of the packet, and raw is the raw packet received (needed    for supporting SSLv2 hello messages).</p>   <p> This function returns 0 if handshake is in progress, 1 if handshake    is finished, and -1 if a fatal error occurred. It uses the    send_packet() function to transmit packets.</p>   </text></doc>   <method name='handle_handshake'> - <arguments><argument name='type'><type><int/></type></argument><argument name='input'><type><object resolved='predef::SSL.Buffer'>Buffer</object></type></argument><argument name='raw'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='type'><type><int/></type></argument><argument name='input'><type><object resolved='predef::SSL.Buffer'>Buffer</object></type></argument><argument name='raw'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><int><min>-1</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Constants' homogen-type='import'>   <import name='Constants'><classname resolved='predef::SSL.Constants'>.Constants</classname></import>   </docgroup>   <docgroup homogen-name='ke' homogen-type='variable'><doc><text><p>The active <ref resolved='predef::SSL.Cipher.KeyExchange'>Cipher.KeyExchange</ref> (if any).</p>
autodoc.git/onepage.xml:117874:   </text></doc>   <variable name='state'><type><object resolved='predef::SSL.Constants.ConnectionState'>ConnectionState</object></type></variable>   </docgroup>   <docgroup homogen-name='to_write' homogen-type='method'><doc><text><p>Extracts data from the packet queues. Returns 2 if data has been    written, 0 if there are no pending packets, 1 of the connection is    being closed politely, and -1 if the connection died unexpectedly.</p>   <p> This function is intended to be called from an i/o write callback.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.Connection.query_write_queue_size'>query_write_queue_size()</ref>, <ref resolved='predef::SSL.Connection.send_streaming_data'>send_streaming_data()</ref>.</p>   </text></group></doc>   <method name='to_write'> - <arguments><argument name='output'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='output'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><int><min>-1</min><max>2</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='valid_seq_nump' homogen-type='method'><doc><text><p>Check whether <ref resolved='predef::SSL.Connection.valid_seq_nump.num'>num</ref> is a valid seqence number for a new packet.</p>   </text></doc>   <method name='valid_seq_nump'>   <arguments><argument name='num'><type><int/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:119193:   </text></group></doc>   <variable name='verifier_algorithms'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Standards.ASN1.Types.Identifier</object></indextype><valuetype><object resolved='predef::Crypto.Hash'>Crypto.Hash</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='verify_certificates' homogen-type='variable'><doc><text><p>Determines whether certificates presented by the peer are    verified, or just accepted as being valid.</p>   </text><group><deprecated><name><ref resolved='predef::SSL.Context.auth_level'>auth_level</ref></name></deprecated></group></doc>   <variable name='verify_certificates'><type><int/></type></variable>   </docgroup>   </class>   <class name='File'> - <doc><text><p>Interface similar to <ref resolved='predef::Stdio.File'>Stdio.File</ref>.</p> + <doc><text><p>Interface similar to <ref>Stdio.File</ref>.</p>   <ul><group><item/><text><p>Handles blocking and nonblocking mode.</p>   </text></group><group><item/><text><p>Handles callback mode in an arbitrary backend (also in blocking mode).</p>   </text></group><group><item/><text><p>Read and write operations may each do both reading and    writing. In callback mode that means that installing either a    read or a write callback may install both internally.</p>   </text></group><group><item/><text><p>In Pike 8.0 and later, blocking read and write in concurrent threads    is supported.</p>   </text></group><group><item/><text><p>Callback changing operations like <ref resolved='predef::SSL.File.set_blocking'>set_blocking</ref> and    <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref> aren't atomic.</p>   </text></group><group><item/><text><p>Apart from the above, thread safety/atomicity characteristics
autodoc.git/onepage.xml:119260:   </docgroup>   <docgroup homogen-name='backend_once' homogen-type='method'><doc><text><p>Run one pass of the backend.</p>   </text></doc>   <method name='backend_once'><modifiers><protected/></modifiers>   <arguments><argument name='nonwaiting_mode'><type><or><int/><void/></or></type></argument></arguments>   <returntype><or><int><min>0</min><max>0</max></int><float/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='close' homogen-type='method'><doc><text><p>Close the connection. Both the read and write ends are always    closed</p> - </text><group><param name='how'/><text><p>This argument is only for <ref resolved='predef::Stdio.File'>Stdio.File</ref> compatibility + </text><group><param name='how'/><text><p>This argument is only for <ref>Stdio.File</ref> compatibility    and must be either <expr>"rw"</expr> or <expr>0</expr>.</p>   </text></group><group><param name='clean_close'/><text><p>If set then close messages are exchanged to shut down    the SSL connection but not the underlying stream. It may then    continue to be used for other communication afterwards. The    default is to send a close message and then close the stream    without waiting for a response.</p>   </text></group><group><param name='dont_throw'/><text><p>I/O errors are normally thrown, but that can be turned off with    <ref resolved='predef::SSL.File.close.dont_throw'>dont_throw</ref>. In that case <ref resolved='predef::SSL.File.errno'>errno</ref> is set instead and <expr>0</expr> is    returned. <expr>1</expr> is always returned otherwise. It's not an error to    close an already closed connection.</p>
autodoc.git/onepage.xml:119311:   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create an SSL connection over an open <ref resolved='predef::SSL.File.create.stream'>stream</ref>.</p>   </text><group><param name='stream'/><text><p>Open socket or pipe to create the connection over.</p>   </text></group><group><param name='ctx'/><text><p>The SSL context.</p>   <p> The backend used by <ref resolved='predef::SSL.File.create.stream'>stream</ref> is taken over and restored after the    connection is closed (see <ref resolved='predef::SSL.File.close'>close</ref> and <ref resolved='predef::SSL.File.shutdown'>shutdown</ref>). The callbacks    and id in <ref resolved='predef::SSL.File.create.stream'>stream</ref> are overwritten.</p>   </text></group><group><note/><text><p>The operation mode defaults to nonblocking mode.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.accept'>accept()</ref>, <ref resolved='predef::SSL.File.connect'>connect()</ref></p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='stream'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='ctx'><type><object resolved='predef::SSL.Context'>SSL.Context</object></type></argument></arguments> + <arguments><argument name='stream'><type><object>Stdio.File</object></type></argument><argument name='ctx'><type><object resolved='predef::SSL.Context'>SSL.Context</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='errno' homogen-type='method'><doc><group><returns/><text><p>Returns the current error number for the connection.    Notable values are:</p>   <int><group><value>0</value><text><p>No error</p>   </text></group><group><value>System.EPIPE</value><text><p>Connection closed by other end.</p>   </text></group></int>   </text></group></doc>   <method name='errno'>
autodoc.git/onepage.xml:119432:   </text><group><seealso/><text><p><ref resolved='predef::SSL.File.set_backend'>set_backend</ref></p>   </text></group></doc>   <method name='query_backend'>   <arguments/>   <returntype><object resolved='predef::Pike.Backend'>Pike.Backend</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_buffer_mode' homogen-type='method'><doc><text><p>Get the active input and output buffers that have been    set with <ref resolved='predef::SSL.File.set_buffer_mode'>set_buffer_mode()</ref> (if any).</p>   </text><group><returns/><text><p>Returns an array with two elements:</p> - <array><group><elem><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type><index>0</index></elem><text><p>The current input buffer.</p> - </text></group><group><elem><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type><index>1</index></elem><text><p>The current output buffer.</p> + <array><group><elem><type><object>Stdio.Buffer</object></type><index>0</index></elem><text><p>The current input buffer.</p> + </text></group><group><elem><type><object>Stdio.Buffer</object></type><index>1</index></elem><text><p>The current output buffer.</p>   </text></group></array>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.set_buffer_mode'>set_buffer_mode()</ref></p>   </text></group></doc>   <method name='query_buffer_mode'>   <arguments/> - <returntype><array><valuetype><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></valuetype></array></returntype> + <returntype><array><valuetype><or><object>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_callbacks' homogen-type='method'><doc><group><returns/><text><p>Returns the currently set callbacks in the same order    as the arguments to <ref resolved='predef::SSL.File.set_callbacks'>set_callbacks</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.set_callbacks'>set_callbacks</ref>, <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref></p>   </text></group></doc>   <method name='query_callbacks'>   <arguments/>   <returntype><array><valuetype><function><argtype><mixed/></argtype><argtype><or><void/><string/></or></argtype><returntype><int/></returntype></function></valuetype></array></returntype>   </method>
autodoc.git/onepage.xml:119494:   <method name='query_id'>   <arguments/>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_read_callback' homogen-type='method'><doc><group><returns/><text><p>Returns the current read callback.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.set_read_callback'>set_read_callback</ref>, <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref></p>   </text></group></doc>   <method name='query_read_callback'>   <arguments/> - <returntype><object resolved='predef::Stdio.read_callback_t'>Stdio.read_callback_t</object></returntype> + <returntype><object>Stdio.read_callback_t</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_stream' homogen-type='method'><doc><text><p>Return the underlying stream.</p>   </text><group><note/><text><p>Avoid any temptation to do    <expr>destruct(file_obj-&gt;query_stream())</expr>. That almost certainly    creates more problems than it solves.</p>   <p> You probably want to use <ref resolved='predef::SSL.File.shutdown'>shutdown</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.shutdown'>shutdown</ref></p>   </text></group></doc>   <method name='query_stream'>   <arguments/> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_suite' homogen-type='method'><doc><text><p>Return the currently active cipher suite.</p>   </text></doc>   <method name='query_suite'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_version' homogen-type='method'><doc><text><p>Return the currently active SSL/TLS version.</p>
autodoc.git/onepage.xml:119528:   <method name='query_version'>   <arguments/>   <returntype><object resolved='predef::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_write_callback' homogen-type='method'><doc><group><returns/><text><p>Returns the current write callback.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.set_write_callback'>set_write_callback</ref>, <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref></p>   </text></group></doc>   <method name='query_write_callback'>   <arguments/> - <returntype><object resolved='predef::Stdio.write_callback_t'>Stdio.write_callback_t</object></returntype> + <returntype><object>Stdio.write_callback_t</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Read some (decrypted) data from the connection. Works like -  <ref resolved='predef::Stdio.File.read'>Stdio.File.read</ref>.</p> +  <ref>Stdio.File.read</ref>.</p>   </text><group><note/><text><p>I/O errors from both reading and writing might occur in blocking    mode.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.write'>write</ref></p>   </text></group></doc>   <method name='read'>   <arguments><argument name='length'><type><or><void/><int/></or></type></argument><argument name='not_all'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='renegotiate' homogen-type='method'><doc><text><p>Renegotiate the connection by starting a new handshake. Note that
autodoc.git/onepage.xml:119646:   <docgroup homogen-name='set_buffer_mode' homogen-type='method'><doc><text><p>Toggle the file to Buffer mode.</p>   <p> In this mode reading and writing will be done via Buffer    objects, in the directions you included buffers.</p>   </text><group><param name='in'/><text><p>Input buffer. If this buffer is non-empty, its contents    will be returned after any already received data.</p>   </text></group><group><param name='out'/><text><p>Output buffer. If this buffer is non-empty, its contents    will be sent after any data already queued for sending.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.query_buffer_mode'>query_buffer_mode()</ref></p>   </text></group></doc>   <method name='set_buffer_mode'> - <arguments><argument name='in'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></type></argument><argument name='out'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></type></argument></arguments> + <arguments><argument name='in'><type><or><object>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></type></argument><argument name='out'><type><or><object>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_callbacks' homogen-type='method'><doc><text><p>Installs all the specified callbacks at once. Use <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref>    to keep the current setting for a callback.</p>   <p> Like <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, the callbacks are installed atomically.    As opposed to <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, this function does not do    anything with the stream, and it doesn't even have to be open.</p>   </text><group><bugs/><text><p><ref resolved='predef::SSL.File.set_callbacks.read_oob'>read_oob</ref> and <ref resolved='predef::SSL.File.set_callbacks.write_oob'>write_oob</ref> are currently ignored.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.set_read_callback'>set_read_callback</ref>, <ref resolved='predef::SSL.File.set_write_callback'>set_write_callback</ref>,    <ref resolved='predef::SSL.File.set_close_callback'>set_close_callback</ref>, <ref resolved='predef::SSL.File.set_accept_callback'>set_accept_callback</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref></p>   </text></group></doc>   <method name='set_callbacks'> - <arguments><argument name='read'><type><or><void/><object resolved='predef::Stdio.read_callback_t'>Stdio.read_callback_t</object></or></type></argument><argument name='write'><type><or><void/><object resolved='predef::Stdio.write_callback_t'>Stdio.write_callback_t</object></or></type></argument><argument name='close'><type><or><void/><function><argtype><mixed/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='read_oob'><type><or><void/><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='write_oob'><type><or><void/><function><argtype><mixed/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='accept'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument></arguments> + <arguments><argument name='read'><type><or><void/><object>Stdio.read_callback_t</object></or></type></argument><argument name='write'><type><or><void/><object>Stdio.write_callback_t</object></or></type></argument><argument name='close'><type><or><void/><function><argtype><mixed/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='read_oob'><type><or><void/><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='write_oob'><type><or><void/><function><argtype><mixed/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='accept'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_close_callback' homogen-type='method'><doc><text><p>Install a function to be called when the connection is closed,    either normally or due to an error (use <ref resolved='predef::SSL.File.errno'>errno</ref> to retrieve it).</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.File.query_close_callback'>query_close_callback</ref>, <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref></p>   </text></group></doc>   <method name='set_close_callback'>   <arguments><argument name='close'><type><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></type></argument></arguments>   <returntype><void/></returntype>
autodoc.git/onepage.xml:119698:   </docgroup>   <docgroup homogen-name='set_nonblocking' homogen-type='method'><doc><text><p>Set the stream in nonblocking mode, installing the specified    callbacks. The alert callback isn't touched.</p>   </text><group><note/><text><p>Prior to version 7.5.12, this function didn't set the accept    callback.</p>   </text></group><group><bugs/><text><p><ref resolved='predef::SSL.File.set_nonblocking.read_oob'>read_oob</ref> and <ref resolved='predef::SSL.File.set_nonblocking.write_oob'>write_oob</ref> are currently ignored.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::SSL.File.set_callbacks'>set_callbacks</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref>, <ref resolved='predef::SSL.File.set_nonblocking_keep_callbacks'>set_nonblocking_keep_callbacks</ref>,    <ref resolved='predef::SSL.File.set_blocking'>set_blocking</ref></p>   </text></group></doc>   <method name='set_nonblocking'> - <arguments><argument name='read'><type><or><void/><object resolved='predef::Stdio.read_callback_t'>Stdio.read_callback_t</object></or></type></argument><argument name='write'><type><or><void/><object resolved='predef::Stdio.write_callback_t'>Stdio.write_callback_t</object></or></type></argument><argument name='close'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument><argument name='read_oob'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument><argument name='write_oob'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument><argument name='accept'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument></arguments> + <arguments><argument name='read'><type><or><void/><object>Stdio.read_callback_t</object></or></type></argument><argument name='write'><type><or><void/><object>Stdio.write_callback_t</object></or></type></argument><argument name='close'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument><argument name='read_oob'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument><argument name='write_oob'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument><argument name='accept'><type><or><void/><function><argtype><or><void/><mixed/></or></argtype><returntype><int/></returntype></function></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_nonblocking_keep_callbacks' homogen-type='method'><doc><text><p>Set nonblocking mode like <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, but don't alter any    callbacks.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, <ref resolved='predef::SSL.File.set_blocking'>set_blocking</ref>, <ref resolved='predef::SSL.File.set_blocking_keep_callbacks'>set_blocking_keep_callbacks</ref></p>   </text></group></doc>   <method name='set_nonblocking_keep_callbacks'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_read_callback' homogen-type='method'><doc><text><p>Install a function to be called when data is available.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.File.query_read_callback'>query_read_callback</ref>, <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref></p>   </text></group></doc>   <method name='set_read_callback'> - <arguments><argument name='read'><type><object resolved='predef::Stdio.read_callback_t'>Stdio.read_callback_t</object></type></argument></arguments> + <arguments><argument name='read'><type><object>Stdio.read_callback_t</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_write_callback' homogen-type='method'><doc><text><p>Install a function to be called when data can be written.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.File.query_write_callback'>query_write_callback</ref>, <ref resolved='predef::SSL.File.set_nonblocking'>set_nonblocking</ref>, <ref resolved='predef::SSL.File.query_callbacks'>query_callbacks</ref></p>   </text></group></doc>   <method name='set_write_callback'> - <arguments><argument name='write'><type><object resolved='predef::Stdio.write_callback_t'>Stdio.write_callback_t</object></type></argument></arguments> + <arguments><argument name='write'><type><object>Stdio.write_callback_t</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='shutdown' homogen-type='method'><doc><text><p>Shut down the SSL connection without sending any more packets.</p>   <p> If the connection is open then the underlying (still open) stream    is returned.</p>   <p> If a nonclean (i.e. normal) close has been requested then the    underlying stream is closed now if it wasn't closed already, and    zero is returned.</p>   <p> If a clean close has been requested (see the second argument to    <ref resolved='predef::SSL.File.close'>close</ref>) then the behavior depends on the state of the close    packet exchange: The first <ref resolved='predef::SSL.File.shutdown'>shutdown</ref> call after a successful    exchange returns the (still open) underlying stream, and later    calls return zero and clears <ref resolved='predef::SSL.File.errno'>errno</ref>. If the exchange hasn't    finished then the stream is closed, zero is returned, and <ref resolved='predef::SSL.File.errno'>errno</ref>    will return <ref>System.EPIPE</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.File.close'>close</ref>, <ref resolved='predef::SSL.File.set_alert_callback'>set_alert_callback</ref></p>   </text></group></doc>   <method name='shutdown'>   <arguments/> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Write some (unencrypted) data to the connection. Works like    <ref>Stdio.File.write</ref> except that this function often buffers some data    internally, so there's no guarantee that all the consumed data has    been successfully written to the stream in nonblocking mode. It    keeps the internal buffering to a minimum, however.</p>   </text><group><note/><text><p>This function returns zero if attempts are made to write data    during the handshake phase and the mode is nonblocking.</p>   </text></group><group><note/><text><p>I/O errors from both reading and writing might occur in blocking
autodoc.git/onepage.xml:119789:   <docgroup homogen-name='Constants' homogen-type='import'>   <import name='Constants'><classname resolved='predef::SSL.Constants'>.Constants</classname></import>   </docgroup>   <docgroup homogen-name='recv' homogen-type='method'><doc><text><p>Receive data read from the network.</p>   </text><group><param name='data'/><text><p>Raw data from the network.</p>   </text></group><group><returns/><text><p>Returns a <expr>1</expr> data if packet is complete, otherwise    <expr>0</expr>.</p>   <p> If there's an error, an alert object is returned.</p>   </text></group></doc>   <method name='recv'> - <arguments><argument name='data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><int><min>-1</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='send' homogen-type='method'><doc><text><p>Serialize the packet for sending.</p>   </text></doc>   <method name='send'> - <arguments><argument name='output'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='output'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='Port'> - <doc><text><p>Interface similar to <ref resolved='predef::Stdio.Port'>Stdio.Port</ref>.</p> + <doc><text><p>Interface similar to <ref>Stdio.Port</ref>.</p>   </text></doc>   <docgroup homogen-name='accept' homogen-type='method'><doc><text><p>Get the next pending <ref resolved='predef::SSL.File'>File</ref> from the <ref>accept_queue</ref>.</p>   </text><group><returns/><text><p>Returns the next pending <ref resolved='predef::SSL.File'>File</ref> if any, and <expr>0</expr> (zero) if    there are none.</p>   </text></group></doc>   <method name='accept'>   <arguments/>   <returntype><object resolved='predef::SSL.File'>File</object></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:119883:   </text></group></doc>   <method name='finished_callback'>   <arguments><argument name='f'><type><object resolved='predef::SSL.File'>SSL.File</object></type></argument><argument name='id'><type><or><mixed/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='socket' homogen-type='inherit'> - <inherit name='socket'><classname resolved='predef::Stdio.Port'>Stdio.Port</classname></inherit> + <inherit name='socket'><classname>Stdio.Port</classname></inherit>   </docgroup>   <docgroup homogen-name='listen_fd' homogen-type='method'><doc><text><p>Set up listening for SSL connections on an already opened fd.</p>   </text><group><param name='fd'/><text><p>File descriptor to listen on.</p>   </text></group><group><param name='callback'/><text><p>Callback to call when the SSL connection has been negotiated.</p>   <p> The callback is called with an <ref resolved='predef::SSL.File'>File</ref> as the first argument,    and the id for the <ref resolved='predef::SSL.File'>File</ref> as the second.</p>   <p> If the <ref resolved='predef::SSL.Port.listen_fd.callback'>callback</ref> is <expr>0</expr> (zero), then negotiated <ref resolved='predef::SSL.File'>File</ref>s    will be enqueued for later retrieval with <ref resolved='predef::SSL.Port.accept'>accept()</ref>.</p>   </text></group><group><returns/><text><p>Returns <expr>1</expr> if listening on the fd succeeded,    and <expr>0</expr> (zero) on failure.</p>   </text></group><group><seealso/><text><p><ref>Stdio.Port()-&gt;listen_fd()</ref>, <ref resolved='predef::SSL.File.set_accept_callback'>File()-&gt;set_accept_callback()</ref>,    <ref resolved='predef::SSL.Port.bind'>bind()</ref></p>   </text></group></doc>   <method name='listen_fd'>   <arguments><argument name='fd'><type><int/></type></argument><argument name='callback'><type><function><argtype><or><object resolved='predef::SSL.File'>File</object><void/></or></argtype><argtype><or><mixed/><void/></or></argtype><returntype><int/></returntype></function></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='socket_accept' homogen-type='method'><doc><text><p>Low-level accept.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.Port.accept'>Stdio.Port()-&gt;accept()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.Port()-&gt;accept()</ref></p>   </text></group></doc>   <method name='socket_accept'>   <arguments/> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='ssl_callback' homogen-type='method'><doc><text><p>Connection accept callback.</p> - <p> This function is installed as the <ref resolved='predef::Stdio.Port'>Stdio.Port</ref> callback, and + <p> This function is installed as the <ref>Stdio.Port</ref> callback, and    accepts the connection and creates a corresponding <ref resolved='predef::SSL.File'>File</ref> with    <ref resolved='predef::SSL.Port.finished_callback'>finished_callback()</ref> as the accept callback.</p>   </text><group><seealso/><text><p><ref resolved='predef::SSL.Port.bind'>bind()</ref>, <ref resolved='predef::SSL.Port.finished_callback'>finished_callback()</ref></p>   </text></group></doc>   <method name='ssl_callback'>   <arguments><argument name='id'><type><mixed/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>
autodoc.git/onepage.xml:119933:   <doc><text><p>Server-side connection state.</p>   </text></doc>   <docgroup homogen-name='handle_handshake' homogen-type='method'><doc><text><p>Do handshake processing. Type is one of HANDSHAKE_*, data is the    contents of the packet, and raw is the raw packet received (needed    for supporting SSLv2 hello messages).</p>   <p> This function returns 0 if handshake is in progress, 1 if handshake    is finished, and -1 if a fatal error occurred. It uses the    send_packet() function to transmit packets.</p>   </text></doc>   <method name='handle_handshake'> - <arguments><argument name='type'><type><int/></type></argument><argument name='input'><type><object resolved='predef::SSL.Buffer'>Buffer</object></type></argument><argument name='raw'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='type'><type><int/></type></argument><argument name='input'><type><object resolved='predef::SSL.Buffer'>Buffer</object></type></argument><argument name='raw'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><int><min>-1</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='"."' homogen-type='import'>   <import name='"."'><classname resolved='predef::SSL'>"."</classname></import>   </docgroup>   <docgroup homogen-name='Constants' homogen-type='import'>
autodoc.git/onepage.xml:120773:   <constant name='contenttypes'><type><array><valuetype><string/></valuetype></array></type></constant>   </docgroup>   <docgroup homogen-name='fields' homogen-type='constant'><doc><text><p>The different fields this object can extract from the media. The    list can contain any of the following values.</p>   <string><group><value>"body"</value><value>"title"</value><value>"keywords"</value><value>"description"</value><value>"robots"</value><value>"headline"</value><value>"modified"</value><value>"author"</value><value>"summary"</value></group></string>   </text></doc>   <constant name='fields'><modifiers><optional/></modifiers><type><array><valuetype><string/></valuetype></array></type></constant>   </docgroup>   <docgroup homogen-name='filter' homogen-type='method'>   <method name='filter'> - <arguments><argument name='uri'><type><object resolved='predef::Standards.URI'>Standards.URI</object></type></argument><argument name='data'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='content_type'><type><string/></type></argument><argument name='more'><type><varargs><mixed/></varargs></type></argument></arguments> + <arguments><argument name='uri'><type><object resolved='predef::Standards.URI'>Standards.URI</object></type></argument><argument name='data'><type><or><string/><object>Stdio.File</object></or></type></argument><argument name='content_type'><type><string/></type></argument><argument name='more'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><object resolved='predef::Search.Filter.Output'>.Output</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   </class>   <class name='Output'>   <doc><text><p>This object is returned from <ref resolved='predef::Search.Filter'>Search.Filter</ref> plugins.</p>   </text></doc>
autodoc.git/onepage.xml:120948:   </method>   </docgroup>   <docgroup homogen-name='filename_to_type' homogen-type='method'>   <method name='filename_to_type'>   <arguments><argument name='filename'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='filter_and_index' homogen-type='method'>   <method name='filter_and_index'> - <arguments><argument name='db'><type><object resolved='predef::Search.Database.Base'>Search.Database.Base</object></type></argument><argument name='uri'><type><or><string/><object resolved='predef::Standards.URI'>Standards.URI</object></or></type></argument><argument name='language'><type><or><void/><string/></or></type></argument><argument name='data'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='content_type'><type><string/></type></argument><argument name='headers'><type><or><void/><mapping/></or></type></argument><argument name='default_charset'><type><or><void/><string/></or></type></argument></arguments> + <arguments><argument name='db'><type><object resolved='predef::Search.Database.Base'>Search.Database.Base</object></type></argument><argument name='uri'><type><or><string/><object resolved='predef::Standards.URI'>Standards.URI</object></or></type></argument><argument name='language'><type><or><void/><string/></or></type></argument><argument name='data'><type><or><string/><object>Stdio.File</object></or></type></argument><argument name='content_type'><type><string/></type></argument><argument name='headers'><type><or><void/><mapping/></or></type></argument><argument name='default_charset'><type><or><void/><string/></or></type></argument></arguments>   <returntype><object resolved='predef::Search.Filter.Output'>Search.Filter.Output</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='index_document' homogen-type='method'>   <method name='index_document'>   <arguments><argument name='db'><type><object resolved='predef::Search.Database.Base'>Search.Database.Base</object></type></argument><argument name='uri'><type><or><string/><object resolved='predef::Standards.URI'>Standards.URI</object></or></type></argument><argument name='language'><type><or><void/><string/></or></type></argument><argument name='fields'><type><mapping/></type></argument></arguments>   <returntype><void/></returntype>
autodoc.git/onepage.xml:120993:   </text></doc>   <method name='read'>   <arguments/>   <returntype><array/></returntype>   </method>   </docgroup>   </class>   <class name='MergeFile'>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='_fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='_fd'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='merge_mergefiles' homogen-type='method'>   <method name='merge_mergefiles'>   <arguments><argument name='a'><type><object resolved='predef::Search.MergeFile'>Search.MergeFile</object></type></argument><argument name='b'><type><object resolved='predef::Search.MergeFile'>Search.MergeFile</object></type></argument></arguments>   <returntype><void/></returntype>
autodoc.git/onepage.xml:121986:   </text></doc>   <method name='set_throttler'>   <arguments><argument name='t'><type><object resolved='predef::Shuffler.Throttler'>Throttler</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='shuffle' homogen-type='method'><doc><text><p>Create a new <ref resolved='predef::Shuffler.Shuffle'>Shuffle</ref> object.</p>   <p> The destination has to support nonblocking I/O.</p>   </text></doc>   <method name='shuffle'> - <arguments><argument name='destination'><type><object resolved='predef::Stdio.NonblockingStream'>Stdio.NonblockingStream</object></type></argument><argument name='start'><type><or><int/><void/></or></type></argument><argument name='length'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='destination'><type><object>Stdio.NonblockingStream</object></type></argument><argument name='start'><type><or><int/><void/></or></type></argument><argument name='length'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::Shuffler.Shuffle'>Shuffle</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='start' homogen-type='method'><doc><text><p>Unpause all <ref resolved='predef::Shuffler.Shuffle'>Shuffle</ref> objects associated with this <ref resolved='predef::Shuffler.Shuffler'>Shuffler</ref></p>   </text></doc>   <method name='start'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:124008:   </text></group><group><returns/><text><p>If <ref resolved='predef::Sql.tds.Connection.send_packet.last'>last</ref> is true an <ref resolved='predef::Sql.tds.Connection.InPacket'>InPacket</ref> with the result    will be returned.</p>   </text></group></doc>   <method name='send_packet'>   <arguments><argument name='p'><type><object resolved='predef::Sql.tds.Connection.Packet'>Packet</object></type></argument><argument name='flag'><type><int/></type></argument><argument name='last'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::Sql.tds.Connection.InPacket'>InPacket</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='socket' homogen-type='variable'><doc><text><p>The actual TCP connection.</p>   </text></doc> - <variable name='socket'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></variable> + <variable name='socket'><type><object>Stdio.File</object></type></variable>   </docgroup>   <class name='InPacket'>   <doc><text><p>An incoming packet from the TDS server.</p>   </text></doc>   </class>   <class name='Packet'>   <doc><text><p>An outgoing packet to the TDS server.</p>   </text></doc>   </class>   </class>
autodoc.git/onepage.xml:124234:    from <ref resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</ref>. Combined tag numbers may be    generated using <ref resolved='predef::Standards.ASN1.Types.make_combined_tag'>Standards.ASN1.Types.make_combined_tag</ref>.</p>   </text></group><group><returns/><text><p>An object from <ref resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</ref> or, either    <ref resolved='predef::Standards.ASN1.Decode.Primitive'>Standards.ASN1.Decode.Primitive</ref> or    <ref>Standards.ASN1.Decode.constructed</ref>, if the type is unknown.    Throws an exception if the data could not be decoded.</p>   </text></group><group><fixme/><text><p>Handling of implicit and explicit ASN.1 tagging, as well as    other context dependence, is next to non_existant.</p>   </text></group></doc>   <method name='der_decode'> - <arguments><argument name='data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='types'><type><mapping><indextype><int/></indextype><valuetype><program/></valuetype></mapping></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Buffer</object></type></argument><argument name='types'><type><mapping><indextype><int/></indextype><valuetype><program/></valuetype></mapping></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Object'>.Types.Object</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='secure_der_decode' homogen-type='method'><doc><text><p>Works just like <ref resolved='predef::Standards.ASN1.Decode.simple_der_decode'>simple_der_decode</ref>, except it will return    <expr>0</expr> if there is trailing data in the provided ASN.1 <ref resolved='predef::Standards.ASN1.Decode.secure_der_decode.data'>data</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Standards.ASN1.Decode.simple_der_decode'>simple_der_decode</ref></p>   </text></group></doc>
autodoc.git/onepage.xml:124801:   <doc><text><p>This module implements EXIF (Exchangeable image file format for    Digital Still Cameras) 2.2 parsing.</p>   </text></doc>   <docgroup homogen-name='get_properties' homogen-type='method'><doc><text><p>Parses and returns all EXIF properties.</p>   </text><group><param name='file'/><text><p>A JFIF file positioned at the start.</p>   </text></group><group><param name='tags'/><text><p>An optional list of tags to process. If given, all unknown tags    will be ignored.</p>   </text></group><group><returns/><text><p>A mapping with all found EXIF properties.</p>   </text></group></doc>   <method name='get_properties'> - <arguments><argument name='file'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='tags'><type><or><void/><mapping/></or></type></argument></arguments> + <arguments><argument name='file'><type><object>Stdio.File</object></type></argument><argument name='tags'><type><or><void/><mapping/></or></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   </module>   <module name='FIPS10_4'>   <doc><text><p>This module implements the FIPS10-4 standard for short-form codes    of "Countries, Dependencies, Areas of Special Sovereignty, and
autodoc.git/onepage.xml:124984:   <docgroup homogen-name='unsynchronise' homogen-type='method'><doc><text><p>Unsynchronises the string according to    ID3v2.4.0-structure section 6.1.</p>   </text><group><seealso/><text><p><ref resolved='predef::Standards.ID3.resynchronise'>resynchronise</ref></p>   </text></group></doc>   <method name='unsynchronise'>   <arguments><argument name='in'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <class name='Buffer'> - <doc><text><p>A wrapper around a <ref resolved='predef::Stdio.File'>Stdio.File</ref> object that provides a read + <doc><text><p>A wrapper around a <ref>Stdio.File</ref> object that provides a read    limit capability.</p>   </text></doc>   <docgroup homogen-name='buffer' homogen-type='variable'> - <variable name='buffer'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></variable> + <variable name='buffer'><type><object>Stdio.File</object></type></variable>   </docgroup>   <docgroup homogen-name='bytes_left' homogen-type='method'><doc><text><p>The number of bytes left before reaching the limit set by    <ref resolved='predef::Standards.ID3.Buffer.set_limit'>set_limit</ref>.</p>   </text></doc>   <method name='bytes_left'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='buffer'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='buffer'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='peek' homogen-type='method'><doc><text><p>Preview the next byte. Technically it is read from the    encapsulated buffer and put locally to avoid seeking.</p>   </text></doc>   <method name='peek'>   <arguments/>   <returntype><string/></returntype>   </method>
autodoc.git/onepage.xml:125116:   <method name='`-&gt;'><modifiers><protected/></modifiers>   <arguments><argument name='index'><type><string/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>The file object <ref resolved='predef::Standards.ID3.Tag.create.fd'>fd</ref> is searched for version 2 tags, and if    not found, version 1 tags.</p>   </text><group><throws/><text><p>If no tag was found in the file an error is thrown.</p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='fd'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='friendly_values' homogen-type='method'><doc><text><p>Returns tag values in a mapping. Only tag values that exists    in ID3v1.1 is used. Nonexisting or undefined values will not    appear in the mapping.</p>   <mapping><group><member><type><string/></type><index>"artist"</index></member><text><p>Takes its value from TPE1 or TP1 frames.</p>   </text></group><group><member><type><string/></type><index>"album"</index></member><text><p>Takes its value from TALB or TAL frames.</p>   </text></group><group><member><type><string/></type><index>"title"</index></member><text><p>Takes its value from TIT2 or TT2 frames.</p>   </text></group><group><member><type><string/></type><index>"genre"</index></member><text><p>Takes its value from TCON or TCM frames.</p>
autodoc.git/onepage.xml:125185:   <class name='Tagv1'>   <doc><text><p>ID3 version 1.0 or 1.1 tag. This is really a clumsy way of reading    ID3v1 tags, but it has the same interface as the v2 reader.</p>   </text></doc>   </class>   <class name='Tagv2'>   <doc><text><p>ID3 version 2 (2.2, 2.3, 2.4) Tags</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='buffer'><type><or><void/><object resolved='predef::Standards.ID3.Buffer'>Buffer</object><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='_best_effort'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments> + <arguments><argument name='buffer'><type><or><void/><object resolved='predef::Standards.ID3.Buffer'>Buffer</object><object>Stdio.File</object></or></type></argument><argument name='_best_effort'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   </module>   <module name='IDNA'>   <doc><text><p>This module implements various algorithms specified by the    Internationalizing Domain Names in Applications (IDNA) memo by the    Internet Engineering Task Force (IETF), see <rfc>3490</rfc>.</p>   </text></doc>
autodoc.git/onepage.xml:125274:   </text></doc>   <docgroup homogen-name='get_information' homogen-type='method'><doc><text><p>Get IPTC information from an open file.</p>   <p> Supported embedding formats are:</p>   <ul><group><item/><text><p>PhotoShop Document (aka PSD).</p>   </text></group><group><item/><text><p>Postscript and Embedded Postscript.</p>   </text></group><group><item/><text><p>Joint Picture Experts Group (aka JPEG).</p>   </text></group></ul>   </text><group><returns/><text><p>Returns a mapping containing any found IPTC IIM data.</p>   </text></group></doc>   <method name='get_information'> - <arguments><argument name='fd'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='fd'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><mapping/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   </module>   <module name='ISO639_2'>   <docgroup homogen-name='convert_b_to_t' homogen-type='method'><doc><text><p>Converts an ISO 639-2/B code to an ISO 639-2/T code.</p>   </text></doc>
autodoc.git/onepage.xml:126334:   <doc><text><p>Tools for handling the MsgPack data format. MsgPack is a binary    serialization format with applications similar to JSON. However,    MsgPack is more versatile and is able to serialize arbitrary    objects using an extension format. The following table shows how    some special Pike data types are encoded in the MsgPack    format. All basic types, namely <expr>int</expr>, <expr>string</expr>,    <expr>float</expr>, <expr>array</expr> and <expr>mapping</expr> are mapped onto    their natural MsgPack counterparts. Note that the encoder does not    use all integer and floating point lengths and in particular    integers are never encoded as unsigned.</p> - <ul><group><item name='binary'/><text><p><ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref></p> + <ul><group><item name='binary'/><text><p><ref>Stdio.Buffer</ref></p>   </text></group><group><item name='nil'/><text><p><ref resolved='predef::Val.null'>Val.null</ref></p>   </text></group><group><item name='true'/><text><p><ref resolved='predef::Val.true'>Val.true</ref></p>   </text></group><group><item name='false'/><text><p><ref resolved='predef::Val.false'>Val.false</ref></p>   </text></group></ul><p>All other types can be encoded and decoded using extension handlers.</p>   </text></doc>   <docgroup homogen-name='add_extension_header' homogen-type='method'><doc><text><p>Adds an extension header to <expr>b</expr> for given type and payload length.</p>   </text></doc>   <method name='add_extension_header'> - <arguments><argument name='b'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='type'><type><int><min>-128</min><max>127</max></int></type></argument><argument name='len'><type><int><min>0</min><max/></int></type></argument></arguments> + <arguments><argument name='b'><type><object>Stdio.Buffer</object></type></argument><argument name='type'><type><int><min>-128</min><max>127</max></int></type></argument><argument name='len'><type><int><min>0</min><max/></int></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode' homogen-type='method'><doc><text><p>Decode one MsgPack encoded value from <expr>data</expr>.</p>   </text></doc>   <method name='decode'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument><argument name='handler'><type><or><void/><object resolved='predef::Standards.MsgPack.decode_handler'>decode_handler</object><object resolved='predef::Standards.MsgPack.decode'/></or></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode_from' homogen-type='method'><doc><text><p>Decode one MsgPack encoded value from the <expr>buffer</expr>.</p>   </text></doc>   <method name='decode_from'> - <arguments><argument name='buffer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='handler'><type><or><void/><object resolved='predef::Standards.MsgPack.decode_handler'>decode_handler</object><object resolved='predef::Standards.MsgPack.decode_from'/></or></type></argument></arguments> + <arguments><argument name='buffer'><type><object>Stdio.Buffer</object></type></argument><argument name='handler'><type><or><void/><object resolved='predef::Standards.MsgPack.decode_handler'>decode_handler</object><object resolved='predef::Standards.MsgPack.decode_from'/></or></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode_handler' homogen-type='typedef'><doc><text><p>Function prototype for decode extension handlers. The first    argument is the extension type identifier. The second argument is -  a <ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref> containing the payload.</p> +  a <ref>Stdio.Buffer</ref> containing the payload.</p>   </text><group><seealso/><text><p><ref resolved='predef::Standards.MsgPack.decode'>decode</ref>, <ref resolved='predef::Standards.MsgPack.decode_from'>decode_from</ref></p>   </text></group></doc> - <typedef name='decode_handler'><type><function><argtype><int><min>-127</min><max>128</max></int></argtype><argtype><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></argtype><returntype><mixed/></returntype></function></type></typedef> + <typedef name='decode_handler'><type><function><argtype><int><min>-127</min><max>128</max></int></argtype><argtype><object>Stdio.Buffer</object></argtype><returntype><mixed/></returntype></function></type></typedef>   </docgroup>   <docgroup homogen-name='default_handler' homogen-type='method'><doc><text><p>Default encoding handler. Encodes <ref resolved='predef::Val.null'>Val.null</ref>, <ref resolved='predef::Val.true'>Val.true</ref> and    <ref resolved='predef::Val.false'>Val.false</ref>.</p>   </text></doc>   <method name='default_handler'> - <arguments><argument name='b'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='v'><type><or><function/><object resolved='predef::Standards.MsgPack.default_handler'/><program/></or></type></argument></arguments> + <arguments><argument name='b'><type><object>Stdio.Buffer</object></type></argument><argument name='v'><type><or><function/><object resolved='predef::Standards.MsgPack.default_handler'/><program/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Encode <expr>v</expr> into a string.</p>   </text></doc>   <method name='encode'>   <arguments><argument name='v'><type><mixed/></type></argument><argument name='handler'><type><or><void/><object resolved='predef::Standards.MsgPack.encode_handler'>encode_handler</object><object resolved='predef::Standards.MsgPack.encode'/></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='encode_handler' homogen-type='typedef'><doc><text><p>Function prototype for encode extension handlers. The first -  argument is the <ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref>, the second the value to +  argument is the <ref>Stdio.Buffer</ref>, the second the value to    encode. Use <ref resolved='predef::Standards.MsgPack.add_extension_header'>add_extension_header</ref> to generate the correct    extension header.</p>   </text><group><seealso/><text><p><ref resolved='predef::Standards.MsgPack.decode'>decode</ref>, <ref resolved='predef::Standards.MsgPack.decode_from'>decode_from</ref></p>   </text></group></doc> - <typedef name='encode_handler'><type><function><argtype><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></argtype><argtype><mixed/></argtype><returntype><void/></returntype></function></type></typedef> + <typedef name='encode_handler'><type><function><argtype><object>Stdio.Buffer</object></argtype><argtype><mixed/></argtype><returntype><void/></returntype></function></type></typedef>   </docgroup>   <docgroup homogen-name='encode_to' homogen-type='method'><doc><text><p>Encode <expr>v</expr> into <expr>buf</expr>. If <expr>handler</expr> is not specified,    it defaults to <ref resolved='predef::Standards.MsgPack.default_handler'>default_handler</ref>.</p>   </text></doc>   <method name='encode_to'> - <arguments><argument name='buf'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='v'><type><mixed/></type></argument><argument name='handler'><type><or><void/><object resolved='predef::Standards.MsgPack.encode_handler'>encode_handler</object><object resolved='predef::Standards.MsgPack.encode_to'/></or></type></argument></arguments> + <arguments><argument name='buf'><type><object>Stdio.Buffer</object></type></argument><argument name='v'><type><mixed/></type></argument><argument name='handler'><type><or><void/><object resolved='predef::Standards.MsgPack.encode_handler'>encode_handler</object><object resolved='predef::Standards.MsgPack.encode_to'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <class name='DecodeError'>   <doc><text><p>Error thrown when MsgPack decoding fails.</p>   </text></doc>   <docgroup homogen-name='buffer' homogen-type='variable'><doc><text><p>The data which failed to be decoded.</p>   </text></doc> - <variable name='buffer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></variable> + <variable name='buffer'><type><object>Stdio.Buffer</object></type></variable>   </docgroup>   <docgroup homogen-name='err_pos' homogen-type='variable'><doc><text><p>The failing position in <ref resolved='predef::Standards.MsgPack.DecodeError.buffer'>buffer</ref>.</p>   </text></doc>   <variable name='err_pos'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='Generic' homogen-type='inherit'>   <inherit name='Generic'><classname resolved='predef::Error.Generic'>Error.Generic</classname></inherit>   </docgroup>   </class>   </module>
autodoc.git/onepage.xml:128052:   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   </module>   </module>   <module name='_BSON'>   <docgroup homogen-name='decode' homogen-type='method'>   <method name='decode'> - <arguments><argument name='document'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument></arguments> + <arguments><argument name='document'><type><object>Stdio.Buffer</object></type></argument></arguments>   <returntype><mapping/></returntype>   </method>   </docgroup>   <docgroup homogen-name='decode' homogen-type='method'>   <method name='decode'>   <arguments><argument name='document'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><mapping/></returntype>   </method>   </docgroup>   </module>   </module>   <module name='Stdio'> - <docgroup homogen-name='DATA_CHUNK_SIZE' homogen-type='constant'><doc><text><p>Size used in various places to divide incoming or outgoing data -  into chunks.</p> - </text></doc> - <constant name='DATA_CHUNK_SIZE'><modifiers><final/></modifiers><type><int/></type></constant> - </docgroup> - <docgroup homogen-name='TCSADRAIN' homogen-type='constant'><doc><text><p>Argument to <ref resolved='predef::Stdio.Fd.tcsetattr'>Stdio.File()-&gt;tcsetattr()</ref>.</p> - <p> Change after all output has been written.</p> - </text></doc> - <constant name='TCSADRAIN'><type><string/></type></constant> - </docgroup> - <docgroup homogen-name='TCSAFLUSH' homogen-type='constant'><doc><text><p>Argument to <ref resolved='predef::Stdio.Fd.tcsetattr'>Stdio.File()-&gt;tcsetattr()</ref>.</p> - <p> Change after all output has been written, -  and empty the input buffers.</p> - </text></doc> - <constant name='TCSAFLUSH'><type><string/></type></constant> - </docgroup> - <docgroup homogen-name='TCSANOW' homogen-type='constant'><doc><text><p>Argument to <ref resolved='predef::Stdio.Fd.tcsetattr'>Stdio.File()-&gt;tcsetattr()</ref>.</p> - <p> Change immediately.</p> - </text></doc> - <constant name='TCSANOW'><type><string/></type></constant> - </docgroup> - <docgroup homogen-name='append_file' homogen-type='method'><doc><text><p>Append the string <ref resolved='predef::Stdio.append_file.str'>str</ref> onto the file <ref resolved='predef::Stdio.append_file.filename'>filename</ref>.</p> - <p> For a description of <ref resolved='predef::Stdio.append_file.access'>access</ref>, see <ref resolved='predef::Stdio.File.open'>Stdio.File-&gt;open()</ref>.</p> - </text><group><throws/><text><p>Throws an error if <ref resolved='predef::Stdio.append_file.filename'>filename</ref> couldn't be opened for writing.</p> - </text></group><group><returns/><text><p>Returns the number of bytes written, i.e. <expr>sizeof(str)</expr>.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.write_file'>write_file()</ref>, <ref resolved='predef::Stdio.read_bytes'>read_bytes()</ref>, <ref resolved='predef::Stdio.File.open'>Stdio.File()-&gt;open()</ref></p> - </text></group></doc> - <method name='append_file'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='str'><type><string/></type></argument><argument name='access'><type><or><int/><void/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'><doc><text><p>Append <ref resolved='predef::Stdio.append_path.relative'>relative</ref> paths to an <ref resolved='predef::Stdio.append_path.absolute'>absolute</ref> path and remove any -  <expr>"//"</expr>, <expr>"../"</expr> or <expr>"/."</expr> to produce a -  straightforward absolute path as a result.</p> - <p> <expr>"../"</expr> is ignorded in the relative paths if it makes the -  created path begin with something else than the absolute path -  (or so far created path).</p> - <p> <ref resolved='predef::Stdio.append_path_nt'>append_path_nt()</ref> fixes drive letter issues in <ref resolved='predef::Stdio.append_path.relative'>relative</ref> -  by removing the colon separator <expr>":"</expr> if it exists (k:/fnord appends -  as k/fnord)</p> - <p> <ref resolved='predef::Stdio.append_path_nt'>append_path_nt()</ref> also makes sure that UNC path(s) in <ref resolved='predef::Stdio.append_path.relative'>relative</ref> is appended -  correctly by removing any <expr>"\\"</expr> or <expr>"//"</expr> from the beginning.</p> - <p> <ref resolved='predef::Stdio.append_path'>append_path()</ref> is equivalent to <ref resolved='predef::Stdio.append_path_unix'>append_path_unix()</ref> on UNIX-like -  operating systems, and equivalent to <ref resolved='predef::Stdio.append_path_nt'>append_path_nt()</ref> on NT-like -  operating systems.</p> - </text><group><seealso/><text><p><ref resolved='predef::combine_path'>combine_path()</ref></p> - </text></group></doc> - <method name='append_path'> - <arguments><argument name='absolute'><type><string/></type></argument><argument name='relative'><type><varargs><string/></varargs></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='append_path_unix'> - <arguments><argument name='absolute'><type><string/></type></argument><argument name='relative'><type><varargs><string/></varargs></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='append_path_nt'> - <arguments><argument name='absolute'><type><string/></type></argument><argument name='relative'><type><varargs><string/></varargs></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='async_cp' homogen-type='method'><doc><text><p>Copy a file asynchronously.</p> - <p> This function is similar to <ref resolved='predef::Stdio.cp'>cp()</ref>, but works asynchronously.</p> - </text><group><param name='from'/><text><p>Name of file to copy.</p> - </text></group><group><param name='to'/><text><p>Name of file to create or replace with a copy of <ref resolved='predef::Stdio.async_cp.from'>from</ref>.</p> - </text></group><group><param name='callback'/><text><p>Function to be called on completion. -  The first argument will be <expr>1</expr> on success, and <expr>0</expr> (zero) -  otherwise. The rest of the arguments to <ref resolved='predef::Stdio.async_cp.callback'>callback</ref> are passed -  verbatim from <ref resolved='predef::Stdio.async_cp.args'>args</ref>.</p> - </text></group><group><param name='args'/><text><p>Extra arguments to pass to <ref resolved='predef::Stdio.async_cp.callback'>callback</ref>.</p> - </text></group><group><note/><text><p>For <ref resolved='predef::Stdio.async_cp.callback'>callback</ref> to be called, the backend must be active (ie -  <ref>main()</ref> must have returned <expr>-1</expr>, or <ref resolved='predef::Pike.DefaultBackend'>Pike.DefaultBackend</ref> -  get called in some other way). The actual copying may start -  before the backend has activated.</p> - </text></group><group><bugs/><text><p>Currently the file sizes are not compared, so the destination file -  (<ref resolved='predef::Stdio.async_cp.to'>to</ref>) may be truncated.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.cp'>cp()</ref>, <ref resolved='predef::Stdio.sendfile'>sendfile()</ref></p> - </text></group></doc> - <method name='async_cp'> - <arguments><argument name='from'><type><string/></type></argument><argument name='to'><type><string/></type></argument><argument name='callback'><type><function><argtype><int/></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='convert_modestring2int' homogen-type='method'><doc><text><p>Convert the mode_string string as returned by Stdio.Stat object -  to int suitable for chmod</p> - </text><group><param name='mode_string'/><text><p>The string as return from Stdio.Stat()-&gt;mode_string</p> - </text></group><group><returns/><text><p>An int matching the permission of the mode_string string suitable for -  chmod</p> - </text></group></doc> - <method name='convert_modestring2int'> - <arguments><argument name='mode_string'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='cp' homogen-type='method'><doc><text><p>Copies the file <ref resolved='predef::Stdio.cp.from'>from</ref> to the new position <ref resolved='predef::Stdio.cp.to'>to</ref>. If there is -  no system function for cp, a new file will be created and the -  old one copied manually in chunks of <ref resolved='predef::Stdio.DATA_CHUNK_SIZE'>DATA_CHUNK_SIZE</ref> bytes.</p> - <p> This function can also copy directories recursively.</p> - </text><group><returns/><text><p>0 on error, 1 on success</p> - </text></group><group><note/><text><p>This function keeps file and directory mode bits, unlike in Pike -  7.6 and earlier.</p> - </text></group></doc> - <method name='cp'> - <arguments><argument name='from'><type><string/></type></argument><argument name='to'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='exist' homogen-type='method'><doc><text><p>Check if a <ref resolved='predef::Stdio.exist.path'>path</ref> exists.</p> - </text><group><returns/><text><p>Returns true if the given path exists (is a directory or file), -  otherwise false.</p> - </text></group><group><note/><text><p>May fail with eg <ref resolved='predef::errno'>errno()</ref> <tt>EFBIG</tt> if the file exists, -  but the filesystem doesn't support the file size.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.is_dir'>is_dir()</ref>, <ref resolved='predef::Stdio.is_file'>is_file()</ref>, <ref resolved='predef::Stdio.is_link'>is_link()</ref>, <ref resolved='predef::file_stat'>file_stat()</ref></p> - </text></group></doc> - <method name='exist'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='file_equal' homogen-type='method'><doc><text><p>Returns nonzero if the given paths are files with identical -  content, returns zero otherwise. Zero is also returned for any -  sort of I/O error.</p> - </text></doc> - <method name='file_equal'> - <arguments><argument name='file_1'><type><string/></type></argument><argument name='file_2'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='file_size' homogen-type='method'><doc><text><p>Give the size of a file. Size -1 indicates that the file either -  does not exist, or that it is not readable by you. Size -2 -  indicates that it is a directory, -3 that it is a symlink and -4 -  that it is a device.</p> - </text><group><seealso/><text><p><ref resolved='predef::file_stat'>file_stat()</ref>, <ref resolved='predef::Stdio.write_file'>write_file()</ref>, <ref resolved='predef::Stdio.read_bytes'>read_bytes()</ref></p> - </text></group></doc> - <method name='file_size'> - <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='' homogen-type='import'> - <import name=''><classname resolved='predef::'>predef::</classname></import> - </docgroup> - <docgroup homogen-name='_Stdio' homogen-type='inherit'> - <inherit name='_Stdio'><classname resolved='predef::_Stdio'>_Stdio</classname></inherit> - </docgroup> - <docgroup homogen-name='is_dir' homogen-type='method'><doc><text><p>Check if a <ref resolved='predef::Stdio.is_dir.path'>path</ref> is a directory.</p> - </text><group><returns/><text><p>Returns true if the given path is a directory, otherwise false.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.exist'>exist()</ref>, <ref resolved='predef::Stdio.is_file'>is_file()</ref>, <ref resolved='predef::Stdio.is_link'>is_link()</ref>, <ref resolved='predef::file_stat'>file_stat()</ref></p> - </text></group></doc> - <method name='is_dir'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='is_file' homogen-type='method'><doc><text><p>Check if a <ref resolved='predef::Stdio.is_file.path'>path</ref> is a file.</p> - </text><group><returns/><text><p>Returns true if the given path is a regular file, otherwise false.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.exist'>exist()</ref>, <ref resolved='predef::Stdio.is_dir'>is_dir()</ref>, <ref resolved='predef::Stdio.is_link'>is_link()</ref>, <ref resolved='predef::file_stat'>file_stat()</ref></p> - </text></group></doc> - <method name='is_file'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='is_link' homogen-type='method'><doc><text><p>Check if a <ref resolved='predef::Stdio.is_link.path'>path</ref> is a symbolic link.</p> - </text><group><returns/><text><p>Returns true if the given path is a symbolic link, otherwise false.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.exist'>exist()</ref>, <ref resolved='predef::Stdio.is_dir'>is_dir()</ref>, <ref resolved='predef::Stdio.is_file'>is_file()</ref>, <ref resolved='predef::file_stat'>file_stat()</ref></p> - </text></group></doc> - <method name='is_link'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='mkdirhier' homogen-type='method'><doc><text><p>Creates zero or more directories to ensure that the given <ref resolved='predef::Stdio.mkdirhier.pathname'>pathname</ref> is -  a directory.</p> - <p> If a <ref resolved='predef::Stdio.mkdirhier.mode'>mode</ref> is given, it's used for the new directories after being &amp;'ed -  with the current umask (on OS'es that support this).</p> - </text><group><returns/><text><p>Returns zero on failure and nonzero on success.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::mkdir'>mkdir()</ref></p> - </text></group></doc> - <method name='mkdirhier'> - <arguments><argument name='pathname'><type><string/></type></argument><argument name='mode'><type><or><void/><int/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='perror' homogen-type='method'><doc><text><p>This function prints a message to stderr along with a description -  of what went wrong if available. It uses the system errno to find -  out what went wrong, so it is only applicable to IO errors.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.werror'>werror()</ref></p> - </text></group></doc> - <method name='perror'> - <arguments><argument name='s'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='read_bytes' homogen-type='method'><doc><text><p>Read <ref resolved='predef::Stdio.read_bytes.len'>len</ref> number of bytes from a regular file <ref resolved='predef::Stdio.read_bytes.filename'>filename</ref> -  starting at byte <ref resolved='predef::Stdio.read_bytes.start'>start</ref>, and return it as a string.</p> - <p> If <ref resolved='predef::Stdio.read_bytes.len'>len</ref> is omitted, the rest of the file will be returned.</p> - <p> If <ref resolved='predef::Stdio.read_bytes.start'>start</ref> is also omitted, the entire file will be returned.</p> - </text><group><throws/><text><p>Throws an error on any I/O error except when the file doesn't -  exist.</p> - </text></group><group><returns/><text><p>Returns <expr>0</expr> (zero) if the file doesn't exist or if -  <ref resolved='predef::Stdio.read_bytes.start'>start</ref> is beyond the end of it.</p> - <p> Returns a string with the requested data otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.read_file'>read_file</ref>, <ref resolved='predef::Stdio.write_file'>write_file()</ref>, <ref resolved='predef::Stdio.append_file'>append_file()</ref></p> - </text></group></doc> - <method name='read_bytes'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='start'><type><int/></type></argument><argument name='len'><type><int/></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='read_bytes'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='start'><type><int/></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='read_bytes'> - <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='read_callback_t' homogen-type='typedef'><doc><text><p>The various read_callback signatures.</p> - <p> The string (or void) version is used when buffer mode (see -  <ref>set_buffer_mode</ref>) has not been enabled for reading.</p> - <p> The <ref resolved='predef::_Stdio.Buffer'>Buffer</ref> version is used when a <ref resolved='predef::_Stdio.Buffer'>Buffer</ref> has been enabled -  for reading.</p> - <p> In both cases the data is the newly arrived data, but in buffered -  mode data you did not fully read in the last read callback is -  kept in the buffer.</p> - </text></doc> - <typedef name='read_callback_t'><modifiers><local/></modifiers><type><or><function><argtype><or><mixed/><void/></or></argtype><argtype><string/></argtype><returntype><or><int/><void/></or></returntype></function><function><argtype><or><mixed/><void/></or></argtype><argtype><object resolved='predef::_Stdio.Buffer'>Buffer</object></argtype><returntype><or><int/><void/></or></returntype></function><function><argtype><or><mixed/><void/></or></argtype><returntype><or><int/><void/></or></returntype></function></or></type></typedef> - </docgroup> - <docgroup homogen-name='read_file' homogen-type='method'><doc><text><p>Read <ref resolved='predef::Stdio.read_file.len'>len</ref> lines from a regular file <ref resolved='predef::Stdio.read_file.filename'>filename</ref> after skipping -  <ref resolved='predef::Stdio.read_file.start'>start</ref> lines and return those lines as a string. If both -  <ref resolved='predef::Stdio.read_file.start'>start</ref> and <ref resolved='predef::Stdio.read_file.len'>len</ref> are omitted the whole file is read.</p> - </text><group><throws/><text><p>Throws an error on any I/O error except when the file doesn't -  exist.</p> - </text></group><group><returns/><text><p>Returns <expr>0</expr> (zero) if the file doesn't exist or if -  <ref resolved='predef::Stdio.read_file.start'>start</ref> is beyond the end of it.</p> - <p> Returns a string with the requested data otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.read_bytes'>read_bytes()</ref>, <ref resolved='predef::Stdio.write_file'>write_file()</ref></p> - </text></group></doc> - <method name='read_file'> - <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='read_file'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='start'><type><int/></type></argument><argument name='len'><type><int/></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='recursive_mv' homogen-type='method'><doc><text><p>Copy a file or a directory tree by copying and then -  removing. Mode bits are preserved in the copy. -  It's not the fastest but works on every OS and -  works well across different file systems.</p> - </text><group><returns/><text><p>Returns 0 on failure, nonzero otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.recursive_rm'>recursive_rm</ref> <ref resolved='predef::Stdio.cp'>cp</ref></p> - </text></group></doc> - <method name='recursive_mv'> - <arguments><argument name='from'><type><string/></type></argument><argument name='to'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='recursive_rm' homogen-type='method'><doc><text><p>Remove a file or a directory tree.</p> - </text><group><returns/><text><p>Returns 0 on failure, nonzero otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::rm'>rm</ref></p> - </text></group></doc> - <method name='recursive_rm'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='sendfile' homogen-type='method'><doc><text><p>Sends <ref>headers</ref> followed by <ref>len</ref> bytes starting at <ref>offset</ref> -  from the file <ref>from</ref> followed by <ref>trailers</ref> to the file <ref>to</ref>. -  When completed <ref>callback</ref> will be called with the total number of -  bytes sent as the first argument, followed by <ref>args</ref>.</p> - <p> Any of <ref>headers</ref>, <ref>from</ref> and <ref>trailers</ref> may be left out -  by setting them to <expr>0</expr>.</p> - <p> Setting <ref>offset</ref> to <expr>-1</expr> means send from the current position in -  <ref>from</ref>.</p> - <p> Setting <ref>len</ref> to <expr>-1</expr> means send until <ref>from</ref>'s end of file is -  reached.</p> - </text><group><note/><text><p>The sending is performed asynchronously, and may complete -  both before and after the function returns.</p> - <p> For <ref>callback</ref> to be called, the backend must be active (ie -  <ref>main()</ref> must have returned <expr>-1</expr>, or <ref resolved='predef::Pike.DefaultBackend'>Pike.DefaultBackend</ref> -  get called in some other way).</p> - <p> In some cases, the backend must also be active for any sending to -  be performed at all.</p> - <p> In Pike 7.4.496, Pike 7.6.120 and Pike 7.7 and later the backend -  associated with <ref>to</ref> will be used rather than the default backend. -  Note that you usually will want <ref>from</ref> to have the same backend as <ref>to</ref>.</p> - </text></group><group><note/><text><p>The low-level sending may be performed with blocking I/O calls, and -  thus trigger the process being killed with <tt>SIGPIPE</tt> when the -  peer closes the other end. Add a call to <ref resolved='predef::signal'>signal()</ref> to avoid this.</p> - </text></group><group><bugs/><text><p>FIXME: Support for timeouts?</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_nonblocking'>Stdio.File-&gt;set_nonblocking()</ref></p> - </text></group></doc> - <method name='sendfile'> - <arguments><argument name='headers'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='from'><type><object resolved='predef::Stdio.File'>File</object></type></argument><argument name='offset'><type><int/></type></argument><argument name='len'><type><int/></type></argument><argument name='trailers'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='to'><type><object resolved='predef::Stdio.File'>File</object></type></argument></arguments> - <returntype><object resolved='predef::Stdio.sendfile'/></returntype> - </method> - <method name='sendfile'> - <arguments><argument name='headers'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='from'><type><object resolved='predef::Stdio.File'>File</object></type></argument><argument name='offset'><type><int/></type></argument><argument name='len'><type><int/></type></argument><argument name='trailers'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='to'><type><object resolved='predef::Stdio.File'>File</object></type></argument><argument name='callback'><type><function><argtype><int/></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.sendfile'/></returntype> - </method> - </docgroup> - <docgroup homogen-name='simplify_path' homogen-type='method'><doc><text><p>Returns a canonic representation of <ref resolved='predef::Stdio.simplify_path.path'>path</ref> (without /./, /../, // -  and similar path segments).</p> - </text></doc> - <method name='simplify_path'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='stderr' homogen-type='variable'><doc><text><p>An instance of <tt>FILE("stderr")</tt>, the standard error stream. Use this -  when you want to output error messages.</p> - </text><group><seealso/><text><p><ref resolved='predef::werror'>predef::werror()</ref></p> - </text></group></doc> - <variable name='stderr'><type><object resolved='predef::Stdio.FILE'>FILE</object></type></variable> - </docgroup> - <docgroup homogen-name='stdin' homogen-type='variable'><doc><text><p>An instance of <tt>FILE("stdin")</tt>, the standard input stream. Use this -  when you want to read anything from the standard input. -  This example will read lines from standard input for as long as there -  are more lines to read. Each line will then be written to stdout together -  with the line number. We could use <ref>Stdio.stdout.write()</ref> instead -  of just <ref resolved='predef::write'>write()</ref>, since they are the same function.</p> - </text><group><example/><text><p>int main() -  { -  int line; -  while(string s=Stdio.stdin.gets()) -  write("%5d: %s\n", line++, s); -  }</p> - </text></group></doc> - <variable name='stdin'><type><object resolved='predef::Stdio.FILE'>FILE</object></type></variable> - </docgroup> - <docgroup homogen-name='stdout' homogen-type='variable'><doc><text><p>An instance of <tt>FILE("stdout")</tt>, the standatd output stream. Use this -  when you want to write anything to the standard output.</p> - </text><group><seealso/><text><p><ref resolved='predef::write'>predef::write()</ref></p> - </text></group></doc> - <variable name='stdout'><type><object resolved='predef::Stdio.FILE'>FILE</object></type></variable> - </docgroup> - <docgroup homogen-name='werror' homogen-type='method'><doc><text><p>Write a message to stderr. Stderr is normally the console, even if -  the process output has been redirected to a file or pipe.</p> - </text><group><note/><text><p>This function is identical to <ref resolved='predef::werror'>predef::werror()</ref>.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::werror'>predef::werror()</ref></p> - </text></group></doc> - <method name='werror'> - <arguments><argument name='s'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='write_callback_t' homogen-type='typedef'><doc><text><p>The various write_callback signatures.</p> - <p> The void version is used when buffer mode (see -  <ref>set_buffer_mode</ref>) has not been enabled for writing.</p> - <p> The <ref resolved='predef::_Stdio.Buffer'>Buffer</ref> version is used when a <ref resolved='predef::_Stdio.Buffer'>Buffer</ref> has been enabled -  for writing, add data to that buffer to send it.</p> - </text></doc> - <typedef name='write_callback_t'><modifiers><local/></modifiers><type><or><function><argtype><or><mixed/><void/></or></argtype><returntype><or><int/><void/></or></returntype></function><function><argtype><or><mixed/><void/></or></argtype><argtype><object resolved='predef::_Stdio.Buffer'>Buffer</object></argtype><returntype><or><int/><void/></or></returntype></function></or></type></typedef> - </docgroup> - <docgroup homogen-name='write_file' homogen-type='method'><doc><text><p>Write the string <ref resolved='predef::Stdio.write_file.str'>str</ref> onto the file <ref resolved='predef::Stdio.write_file.filename'>filename</ref>. Any existing -  data in the file is overwritten.</p> - <p> For a description of <ref resolved='predef::Stdio.write_file.access'>access</ref>, see <ref resolved='predef::Stdio.File.open'>Stdio.File()-&gt;open()</ref>.</p> - </text><group><throws/><text><p>Throws an error if <ref resolved='predef::Stdio.write_file.filename'>filename</ref> couldn't be opened for writing.</p> - </text></group><group><returns/><text><p>Returns the number of bytes written, i.e. <expr>sizeof(str)</expr>.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.append_file'>append_file()</ref>, <ref resolved='predef::Stdio.read_bytes'>read_bytes()</ref>, <ref resolved='predef::Stdio.File.open'>Stdio.File()-&gt;open()</ref></p> - </text></group></doc> - <method name='write_file'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='str'><type><string/></type></argument><argument name='access'><type><or><int/><void/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <class name='BlockFile'> - <doc><text><p>The Stdio.BlockFile API.</p> - <p> This class exists purely for typing reasons.</p> - <p> Use in types in place of <ref resolved='predef::Stdio.File'>Stdio.File</ref> where only blocking -  I/O is done with the object.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.Stream'>Stream</ref>, <ref resolved='predef::Stdio.NonblockingStream'>NonblockingStream</ref>, <ref resolved='predef::Stdio.File'>File</ref>, <ref resolved='predef::Stdio.FILE'>FILE</ref></p> - </text></group></doc> - <docgroup homogen-name='Stream' homogen-type='inherit'> - <inherit name='Stream'><classname resolved='predef::Stdio.Stream'>Stream</classname></inherit> - </docgroup> - <docgroup homogen-name='seek' homogen-type='method'> - <method name='seek'> - <arguments><argument name='to'><type><int/></type></argument><argument name='how'><type><or><string/><void/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='tell' homogen-type='method'> - <method name='tell'> - <arguments/> - <returntype><int/></returntype> - </method> - </docgroup> - </class> - <class name='FILE'> - <doc><text><p><ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> is a buffered version of <ref resolved='predef::Stdio.File'>Stdio.File</ref>, it inherits -  <ref resolved='predef::Stdio.File'>Stdio.File</ref> and has most of the functionality of <ref resolved='predef::Stdio.File'>Stdio.File</ref>. -  However, it has an input buffer that allows line-by-line input.</p> - <p> It also has support for automatic charset conversion for both input -  and output (see <ref resolved='predef::Stdio.FILE.set_charset'>Stdio.FILE()-&gt;set_charset()</ref>).</p> - </text><group><note/><text><p>The output part of <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> is currently not buffered.</p> - </text></group></doc> - <docgroup homogen-name='_get_iterator' homogen-type='method'><doc><text><p>Returns an iterator that will loop over the lines in this file.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.line_iterator'>line_iterator()</ref></p> - </text></group></doc> - <method name='_get_iterator'><modifiers><protected/></modifiers> - <arguments/> - <returntype><object resolved='predef::Stdio.FILE._get_iterator'/></returntype> - </method> - </docgroup> - <docgroup homogen-name='getchar' homogen-type='method'><doc><text><p>This function returns one character from the input stream.</p> - </text><group><returns/><text><p>Returns the ISO-10646 (Unicode) value of the character.</p> - </text></group><group><note/><text><p>Returns an <expr>int</expr> and not a <expr>string</expr> of length 1.</p> - </text></group></doc> - <method name='getchar'><modifiers><local/></modifiers> - <arguments/> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='gets' homogen-type='method'><doc><text><p>Read one line of input with support for input conversion.</p> - </text><group><param name='not_all'/><text><p>Set this parameter to ignore partial lines at EOF. This -  is useful for eg monitoring a growing logfile.</p> - </text></group><group><returns/><text><p>This function returns the line read if successful, and <expr>0</expr> if -  no more lines are available.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.ngets'>ngets()</ref>, <ref resolved='predef::Stdio.FILE.read'>read()</ref>, <ref resolved='predef::Stdio.FILE.line_iterator'>line_iterator()</ref>, <ref resolved='predef::Stdio.FILE.set_charset'>set_charset()</ref></p> - </text></group></doc> - <method name='gets'> - <arguments><argument name='not_all'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='file' homogen-type='inherit'> - <inherit name='file'><classname resolved='predef::Stdio.File'>File</classname></inherit> - </docgroup> - <docgroup homogen-name='line_iterator' homogen-type='method'><doc><text><p>Returns an iterator that will loop over the lines in this file. -  If <ref resolved='predef::Stdio.FILE.line_iterator.trim'>trim</ref> is true, all <tt>'\r'</tt> characters will be removed -  from the input.</p> - </text><group><note/><text><p>It's not supported to call this method more than once -  unless a call to <ref>seek</ref> is done in advance. Also note that it's -  not possible to intermingle calls to <ref resolved='predef::Stdio.FILE.read'>read</ref>, <ref resolved='predef::Stdio.FILE.gets'>gets</ref> or other -  functions that read data with the line iterator, it will produce -  unexpected results since the internal buffer in the iterator will not -  contain sequential file-data in those cases.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.FILE._get_iterator'>_get_iterator()</ref></p> - </text></group></doc> - <method name='line_iterator'> - <arguments><argument name='trim'><type><or><int/><void/></or></type></argument></arguments> - <returntype><object resolved='predef::Stdio.FILE.line_iterator'/></returntype> - </method> - </docgroup> - <docgroup homogen-name='ngets' homogen-type='method'><doc><text><p>Get <ref resolved='predef::Stdio.FILE.ngets.n'>n</ref> lines.</p> - </text><group><param name='n'/><text><p>Number of lines to get, or all remaining if zero.</p> - </text></group><group><param name='not_all'/><text><p>Set this parameter to ignore partial lines at EOF. This -  is useful for eg monitoring a growing logfile.</p> - </text></group></doc> - <method name='ngets'> - <arguments><argument name='n'><type><or><void/><int><min>1</min><max/></int></or></type></argument><argument name='not_all'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments> - <returntype><array><valuetype><string/></valuetype></array></returntype> - </method> - </docgroup> - <docgroup homogen-name='openat' homogen-type='method'><doc><text><p>Same as <ref resolved='predef::Stdio.File.openat'>Stdio.File()-&gt;openat()</ref>, but returns an <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> -  object.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.openat'>Stdio.File()-&gt;openat()</ref></p> - </text></group></doc> - <method name='openat'> - <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.FILE'>FILE</object></returntype> - </method> - <method name='openat'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.FILE'>FILE</object></returntype> - </method> - <method name='openat'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument><argument name='mask'><type><int/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.FILE'>FILE</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='pipe' homogen-type='method'><doc><text><p>Same as <ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref>, but returns an <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> -  object.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> - </text></group></doc> - <method name='pipe'> - <arguments><argument name='flags'><type><or><void/><int/></or></type></argument></arguments> - <returntype><object resolved='predef::Stdio.FILE'>FILE</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='printf' homogen-type='method'><doc><text><p>This function does approximately the same as: -  <expr><ref resolved='predef::Stdio.FILE.write'>write</ref>(<ref resolved='predef::sprintf'>sprintf</ref>(<ref resolved='predef::Stdio.FILE.printf.format'>format</ref>,@<ref resolved='predef::Stdio.FILE.printf.data'>data</ref>))</expr>.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.write'>write()</ref>, <ref resolved='predef::sprintf'>sprintf()</ref></p> - </text></group></doc> - <method name='printf'> - <arguments><argument name='format'><type><string/></type></argument><argument name='data'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Read <ref resolved='predef::Stdio.FILE.read.bytes'>bytes</ref> (wide-) characters with buffering and support for -  input conversion.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.read'>Stdio.File()-&gt;read()</ref>, <ref resolved='predef::Stdio.FILE.set_charset'>set_charset()</ref>, <ref resolved='predef::Stdio.FILE.unread'>unread()</ref></p> - </text></group></doc> - <method name='read'> - <arguments><argument name='bytes'><type><or><int/><void/></or></type></argument><argument name='now'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_charset' homogen-type='method'><doc><text><p>Sets the input and output charset of this file to the specified -  <ref resolved='predef::Stdio.FILE.set_charset.charset'>charset</ref>. If <ref resolved='predef::Stdio.FILE.set_charset.charset'>charset</ref> is 0 or not specified the environment -  is used to try to detect a suitable charset.</p> - <p> The default charset if this function is not called is -  <tt>"ISO-8859-1"</tt>.</p> - </text><group><fixme/><text><p>Consider using one of -  ISO-IR-196 (<tt>"\e%G"</tt> - switch to UTF-8 with return) -  or ISO-IR-190 (<tt>"\e%/G"</tt> - switch to UTF-8 level 1 no return) -  or ISO-IR-191 (<tt>"\e%/H"</tt> - switch to UTF-8 level 2 no return) -  or ISO-IR-192 (<tt>"\e%/I"</tt> - switch to UTF-8 level 3 no return) -  or ISO-IR-193 (<tt>"\e%/J"</tt> - switch to UTF-16 level 1 no return) -  or ISO-IR-194 (<tt>"\e%/K"</tt> - switch to UTF-16 level 2 no return) -  or ISO-IR-195 (<tt>"\e%/L"</tt> - switch to UTF-16 level 3 no return) -  or ISO-IR-162 (<tt>"\e%/@"</tt> - switch to UCS-2 level 1) -  or ISO-IR-163 (<tt>"\e%/A"</tt> - switch to UCS-4 level 1) -  or ISO-IR-174 (<tt>"\e%/C"</tt> - switch to UCS-2 level 2) -  or ISO-IR-175 (<tt>"\e%/D"</tt> - switch to UCS-4 level 2) -  or ISO-IR-176 (<tt>"\e%/E"</tt> - switch to UCS-2 level 3) -  or ISO-IR-177 (<tt>"\e%/F"</tt> - switch to UCS-4 level 3) -  or ISO-IR-178 (<tt>"\e%B"</tt> - switch to UTF-1) -  automatically to encode wide strings.</p> - </text></group></doc> - <method name='set_charset'> - <arguments><argument name='charset'><type><or><string/><void/></or></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='ungets' homogen-type='method'><doc><text><p>This function puts a line back in the input buffer. The line -  can then be read with eg <ref resolved='predef::Stdio.FILE.read'>read()</ref>, <ref resolved='predef::Stdio.FILE.gets'>gets()</ref> or <ref resolved='predef::Stdio.FILE.getchar'>getchar()</ref>.</p> - </text><group><note/><text><p>The string is autoterminated by an extra line-feed.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.read'>read()</ref>, <ref resolved='predef::Stdio.FILE.gets'>gets()</ref>, <ref resolved='predef::Stdio.FILE.getchar'>getchar()</ref>, <ref resolved='predef::Stdio.FILE.unread'>unread()</ref></p> - </text></group></doc> - <method name='ungets'> - <arguments><argument name='s'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='unread' homogen-type='method'><doc><text><p>This function puts a string back in the input buffer. The string -  can then be read with eg <ref resolved='predef::Stdio.FILE.read'>read()</ref>, <ref resolved='predef::Stdio.FILE.gets'>gets()</ref> or <ref resolved='predef::Stdio.FILE.getchar'>getchar()</ref>.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.read'>read()</ref>, <ref resolved='predef::Stdio.FILE.gets'>gets()</ref>, <ref resolved='predef::Stdio.FILE.getchar'>getchar()</ref>, <ref resolved='predef::Stdio.FILE.ungets'>ungets()</ref></p> - </text></group></doc> - <method name='unread'> - <arguments><argument name='s'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Write <ref resolved='predef::Stdio.FILE.write.what'>what</ref> with support for output_conversion.</p> - </text><group><seealso/><text><p><ref>Stdio.File()-&gt;write()</ref></p> - </text></group></doc> - <method name='write'> - <arguments><argument name='what'><type><or><array><valuetype><string/></valuetype></array><string/></or></type></argument><argument name='fmt'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - </class> +    <class name='FakeFile'> - <doc><text><p>A string wrapper that pretends to be a <ref resolved='predef::Stdio.File'>Stdio.File</ref> object -  in addition to some features of a <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> object.</p> + <doc><text><p>A string wrapper that pretends to be a <ref>Stdio.File</ref> object +  in addition to some features of a <ref>Stdio.FILE</ref> object.</p>   </text></doc>   <docgroup homogen-name='_sizeof' homogen-type='method'><doc><text><p>Sizeof on a FakeFile returns the size of its contents.</p>   </text></doc>   <method name='_sizeof'><modifiers><protected/></modifiers>   <arguments/>   <returntype><int><min>0</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='cast' homogen-type='method'><doc><text><p>A FakeFile can be casted to a string.</p>   </text></doc>   <method name='cast'><modifiers><protected/></modifiers>   <arguments><argument name='to'><type><string/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup> - <docgroup homogen-name='close' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.close'>Stdio.File()-&gt;close()</ref></p> + <docgroup homogen-name='close' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;close()</ref></p>   </text></group></doc>   <method name='close'>   <arguments><argument name='direction'><type><or><void/><string/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='create' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.create'>Stdio.File()-&gt;create()</ref></p> + <docgroup homogen-name='create' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;create()</ref></p>   </text></group></doc>   <method name='create'>   <arguments><argument name='data'><type><string/></type></argument><argument name='type'><type><or><void/><string/></or></type></argument><argument name='pointer'><type><or><void/><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='dup' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.dup'>Stdio.File()-&gt;dup()</ref></p> + <docgroup homogen-name='dup' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;dup()</ref></p>   </text></group></doc>   <method name='dup'>   <arguments/>   <returntype><object resolved='predef::Stdio.FakeFile'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='errno' homogen-type='method'><doc><text><p>Always returns 0.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.errno'>Stdio.File()-&gt;errno()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;errno()</ref></p>   </text></group></doc>   <method name='errno'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='getchar' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.getchar'>Stdio.FILE()-&gt;getchar()</ref></p> + <docgroup homogen-name='getchar' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.FILE()-&gt;getchar()</ref></p>   </text></group></doc>   <method name='getchar'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='gets' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.gets'>Stdio.FILE()-&gt;gets()</ref></p> + <docgroup homogen-name='gets' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.FILE()-&gt;gets()</ref></p>   </text></group></doc>   <method name='gets'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='is_fake_file' homogen-type='constant'><doc><text><p>This constant can be used to distinguish a FakeFile object -  from a real <ref resolved='predef::Stdio.File'>Stdio.File</ref> object.</p> +  from a real <ref>Stdio.File</ref> object.</p>   </text></doc>   <constant name='is_fake_file'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='line_iterator' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.line_iterator'>Stdio.File()-&gt;line_iterator()</ref></p> + <docgroup homogen-name='line_iterator' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;line_iterator()</ref></p>   </text></group></doc>   <method name='line_iterator'>   <arguments><argument name='trim'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::String.SplitIterator'>String.SplitIterator</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='peek' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;peek()</ref></p>   </text></group></doc>   <method name='peek'>   <arguments><argument name='timeout'><type><or><int/><float/><void/></or></type></argument></arguments>
autodoc.git/onepage.xml:128713:   </method>   </docgroup>   <docgroup homogen-name='query_address' homogen-type='method'><doc><text><p>Always returns 0.</p>   </text><group><seealso/><text><p><ref>Stdio.File()-&gt;query_address()</ref></p>   </text></group></doc>   <method name='query_address'>   <arguments><argument name='is_local'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> - <docgroup homogen-name='query_close_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_close_callback'>Stdio.File()-&gt;query_close_callback</ref></p> + <docgroup homogen-name='query_close_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;query_close_callback</ref></p>   </text></group></doc>   <method name='query_close_callback'>   <arguments/>   <returntype><function/></returntype>   </method>   </docgroup> - <docgroup homogen-name='query_id' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_id'>Stdio.File()-&gt;query_id()</ref></p> + <docgroup homogen-name='query_id' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;query_id()</ref></p>   </text></group></doc>   <method name='query_id'>   <arguments/>   <returntype><mixed/></returntype>   </method>   </docgroup> - <docgroup homogen-name='query_read_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_read_callback'>Stdio.File()-&gt;query_read_callback</ref></p> + <docgroup homogen-name='query_read_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;query_read_callback</ref></p>   </text></group></doc>   <method name='query_read_callback'>   <arguments/>   <returntype><function/></returntype>   </method>   </docgroup> - <docgroup homogen-name='query_read_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_read_oob_callback'>Stdio.File()-&gt;query_read_oob_callback</ref></p> + <docgroup homogen-name='query_read_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;query_read_oob_callback</ref></p>   </text></group></doc>   <method name='query_read_oob_callback'>   <arguments/>   <returntype><function/></returntype>   </method>   </docgroup> - <docgroup homogen-name='query_write_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_write_callback'>Stdio.File()-&gt;query_write_callback</ref></p> + <docgroup homogen-name='query_write_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;query_write_callback</ref></p>   </text></group></doc>   <method name='query_write_callback'>   <arguments/>   <returntype><function/></returntype>   </method>   </docgroup> - <docgroup homogen-name='query_write_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_write_oob_callback'>Stdio.File()-&gt;query_write_oob_callback</ref></p> + <docgroup homogen-name='query_write_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;query_write_oob_callback</ref></p>   </text></group></doc>   <method name='query_write_oob_callback'>   <arguments/>   <returntype><function/></returntype>   </method>   </docgroup> - <docgroup homogen-name='read' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.read'>Stdio.File()-&gt;read()</ref></p> + <docgroup homogen-name='read' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;read()</ref></p>   </text></group></doc>   <method name='read'>   <arguments><argument name='len'><type><or><void/><int><min>0</min><max/></int></or></type></argument><argument name='not_all'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> - <docgroup homogen-name='read_function' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.read_function'>Stdio.File()-&gt;read_function()</ref></p> + <docgroup homogen-name='read_function' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;read_function()</ref></p>   </text></group></doc>   <method name='read_function'>   <arguments><argument name='nbytes'><type><int/></type></argument></arguments>   <returntype><function><returntype><string/></returntype></function></returntype>   </method>   </docgroup>   <docgroup homogen-name='seek' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;seek()</ref></p>   </text></group></doc>   <method name='seek'>   <arguments><argument name='pos'><type><int/></type></argument><argument name='how'><type><or><string/><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_blocking' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_blocking'>Stdio.File()-&gt;set_blocking</ref></p> + <docgroup homogen-name='set_blocking' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_blocking</ref></p>   </text></group></doc>   <method name='set_blocking'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_blocking_keep_callbacks' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_blocking_keep_callbacks'>Stdio.File()-&gt;set_blocking_keep_callbacks</ref></p> + <docgroup homogen-name='set_blocking_keep_callbacks' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_blocking_keep_callbacks</ref></p>   </text></group></doc>   <method name='set_blocking_keep_callbacks'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_close_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_close_callback'>Stdio.File()-&gt;set_close_callback</ref></p> + <docgroup homogen-name='set_close_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_close_callback</ref></p>   </text></group></doc>   <method name='set_close_callback'>   <arguments><argument name='cb'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_id' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_id'>Stdio.File()-&gt;set_id()</ref></p> + <docgroup homogen-name='set_id' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_id()</ref></p>   </text></group></doc>   <method name='set_id'>   <arguments><argument name='_id'><type><mixed/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_nonblocking' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_blocking'>Stdio.File()-&gt;set_blocking</ref></p> + <docgroup homogen-name='set_nonblocking' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_blocking</ref></p>   </text></group></doc>   <method name='set_nonblocking'>   <arguments><argument name='rcb'><type><function/></type></argument><argument name='wcb'><type><function/></type></argument><argument name='ccb'><type><function/></type></argument><argument name='rocb'><type><or><void/><function/></or></type></argument><argument name='wocb'><type><or><void/><function/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_nonblocking_keep_callbacks' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_blocking_keep_callbacks'>Stdio.File()-&gt;set_blocking_keep_callbacks</ref></p> + <docgroup homogen-name='set_nonblocking_keep_callbacks' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_blocking_keep_callbacks</ref></p>   </text></group></doc>   <method name='set_nonblocking_keep_callbacks'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_read_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_read_callback'>Stdio.File()-&gt;set_read_callback</ref></p> + <docgroup homogen-name='set_read_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_read_callback</ref></p>   </text></group></doc>   <method name='set_read_callback'>   <arguments><argument name='cb'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_read_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_read_oob_callback'>Stdio.File()-&gt;set_read_oob_callback</ref></p> + <docgroup homogen-name='set_read_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_read_oob_callback</ref></p>   </text></group></doc>   <method name='set_read_oob_callback'>   <arguments><argument name='cb'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_write_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_write_callback'>Stdio.File()-&gt;set_write_callback</ref></p> + <docgroup homogen-name='set_write_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_write_callback</ref></p>   </text></group></doc>   <method name='set_write_callback'>   <arguments><argument name='cb'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_write_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_write_oob_callback'>Stdio.File()-&gt;set_write_oob_callback</ref></p> + <docgroup homogen-name='set_write_oob_callback' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;set_write_oob_callback</ref></p>   </text></group></doc>   <method name='set_write_oob_callback'>   <arguments><argument name='cb'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='stat' homogen-type='method'><doc><text><p>Returns size and the creation time of the string.</p>   </text></doc>   <method name='stat'>   <arguments/>
autodoc.git/onepage.xml:128875:   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='truncate' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;truncate()</ref></p>   </text></group></doc>   <method name='truncate'>   <arguments><argument name='length'><type><int/></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup> - <docgroup homogen-name='unread' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Stdio.FILE.unread'>Stdio.FILE()-&gt;unread()</ref></p> + <docgroup homogen-name='unread' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.FILE()-&gt;unread()</ref></p>   </text></group></doc>   <method name='unread'>   <arguments><argument name='s'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='write' homogen-type='method'><doc><group><seealso/><text><p><ref>Stdio.File()-&gt;write()</ref></p>   </text></group></doc>   <method name='write'>   <arguments><argument name='str'><type><or><string/><array><valuetype><string/></valuetype></array></or></type></argument><argument name='extra'><type><varargs><mixed/></varargs></type></argument></arguments>
autodoc.git/onepage.xml:128912:   </docgroup>   <docgroup homogen-name='InternalSocket' homogen-type='inherit'>   <inherit name='InternalSocket'><classname resolved='predef::Stdio.FakePipe.InternalSocket'>InternalSocket</classname></inherit>   </docgroup>   <class name='InternalSocket'>   <modifiers><protected/></modifiers>   <doc><text><p>Class that implements one end of an emulated bi-directional pipe/socket.</p>   </text></doc>   <docgroup homogen-type='variable'>   <variable name='_other'><modifiers><protected/></modifiers><type><object resolved='predef::Stdio.FakePipe'>this_program</object></type></variable> - <variable name='_read_buffer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></variable> - <variable name='_write_buffer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></variable> + <variable name='_read_buffer'><type><object>Stdio.Buffer</object></type></variable> + <variable name='_write_buffer'><type><object>Stdio.Buffer</object></type></variable>   <variable name='mux'><modifiers><protected/></modifiers><type><object resolved='predef::Thread.Mutex'>Thread.Mutex</object></type></variable>   <variable name='cond'><modifiers><protected/></modifiers><type><object resolved='predef::Thread.Condition'>Thread.Condition</object></type></variable>   </docgroup>   <docgroup homogen-name='close' homogen-type='method'>   <method name='close'>   <arguments><argument name='direction'><type><or><string/><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='_other'><type><object resolved='predef::Stdio.FakePipe.InternalSocket'>this_program</object></type></argument><argument name='_read_buffer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='_write_buffer'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='mux'><type><object resolved='predef::Thread.Mutex'>Thread.Mutex</object></type></argument><argument name='cond'><type><object resolved='predef::Thread.Condition'>Thread.Condition</object></type></argument></arguments> + <arguments><argument name='_other'><type><object resolved='predef::Stdio.FakePipe.InternalSocket'>this_program</object></type></argument><argument name='_read_buffer'><type><object>Stdio.Buffer</object></type></argument><argument name='_write_buffer'><type><object>Stdio.Buffer</object></type></argument><argument name='mux'><type><object resolved='predef::Thread.Mutex'>Thread.Mutex</object></type></argument><argument name='cond'><type><object resolved='predef::Thread.Condition'>Thread.Condition</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='errno' homogen-type='method'>   <method name='errno'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_close_callback' homogen-type='method'>
autodoc.git/onepage.xml:129152:   <docgroup homogen-name='tcsetsize' homogen-type='method'><doc><text><p>Set the number of rows and columns for a terminal.</p>   </text><group><returns/><text><p>Returns <expr>1</expr> on success and <expr>0</expr> (zero) on failure.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.Fd.tcgetattr'>tcgetattr()</ref>, <ref resolved='predef::Stdio.Fd.tcsetattr'>tcsetattr()</ref></p>   </text></group></doc>   <method name='tcsetsize'>   <arguments><argument name='rows'><type><int/></type></argument><argument name='cols'><type><int/></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   </class> - <class name='File'> - <doc><text><p>This is the basic I/O object, it provides socket and pipe -  communication as well as file access. It does not buffer reads and -  writes by default, and provides no line-by-line reading, that is done -  with <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref> object.</p> - </text><group><note/><text><p>The file or stream will normally be closed when this object is -  destructed (unless there are more objects that refer to the same -  file through use of <ref resolved='predef::Stdio.File.assign'>assign</ref> or <ref resolved='predef::Stdio.File.dup'>dup</ref>). Objects do not contain -  cyclic references in themselves, so they will be destructed timely -  when they run out of references.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref></p> - </text></group></doc> - <docgroup homogen-name='assign' homogen-type='method'><doc><text><p>This function takes a clone of Stdio.File and assigns all -  variables of this file from it. It can be used together with <ref resolved='predef::Stdio.File.dup'>dup()</ref> -  to move files around.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.dup'>dup()</ref></p> - </text></group></doc> - <method name='assign'> - <arguments><argument name='o'><type><or><object resolved='predef::Stdio.File'>File</object><object resolved='predef::Stdio.Fd'>Fd</object></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='async_connect' homogen-type='method'><doc><text><p>Open a TCP/IP connection asynchronously.</p> - <p> This function is similar to <ref resolved='predef::Stdio.File.connect'>connect()</ref>, but works asynchronously.</p> - </text><group><param name='host'/><text><p>Hostname or IP to connect to.</p> - </text></group><group><param name='port'/><text><p>Port number or service name to connect to.</p> - </text></group><group><param name='callback'/><text><p>Function to be called on completion. -  The first argument will be <expr>1</expr> if a connection was -  successfully established, and <expr>0</expr> (zero) on failure. -  The rest of the arguments to <ref resolved='predef::Stdio.File.async_connect.callback'>callback</ref> are passed -  verbatim from <ref resolved='predef::Stdio.File.async_connect.args'>args</ref>.</p> - </text></group><group><param name='args'/><text><p>Extra arguments to pass to <ref resolved='predef::Stdio.File.async_connect.callback'>callback</ref>.</p> - </text></group><group><returns/><text><p>Returns <expr>0</expr> on failure to open a socket, and <expr>1</expr> -  if <ref resolved='predef::Stdio.File.async_connect.callback'>callback</ref> will be used.</p> - </text></group><group><note/><text><p>The socket may be opened with <ref resolved='predef::Stdio.File.open_socket'>open_socket()</ref> ahead of -  the call to this function, but it is not required.</p> - </text></group><group><note/><text><p>This object is put in callback mode by this function. For -  <ref resolved='predef::Stdio.File.async_connect.callback'>callback</ref> to be called, the backend must be active. See e.g. -  <ref resolved='predef::Stdio.File.set_read_callback'>set_read_callback</ref> for more details about backends and -  callback mode.</p> - </text></group><group><note/><text><p>The socket will be in nonblocking state if the connection is -  successful, and any callbacks will be cleared.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.connect'>connect()</ref>, <ref resolved='predef::Stdio.File.open_socket'>open_socket()</ref>, <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref></p> - </text></group></doc> - <method name='async_connect'> - <arguments><argument name='host'><type><string/></type></argument><argument name='port'><type><or><int/><string/></or></type></argument><argument name='callback'><type><function><argtype><int/></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='close' homogen-type='method'><doc><text><p>Close the file. Optionally, specify "r", "w" or "rw" to close just -  the read, just the write or both read and write directions of the file -  respectively.</p> - <p> An exception is thrown if an I/O error occurs.</p> - </text><group><returns/><text><p>Nonzero is returned if the file wasn't open in the specified -  direction, zero otherwise.</p> - </text></group><group><note/><text><p>This function will not call the <tt>close_callback</tt>.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.open'>open</ref>, <ref resolved='predef::Stdio.File.open_socket'>open_socket</ref></p> - </text></group></doc> - <method name='close'> - <arguments/> - <returntype><int/></returntype> - </method> - <method name='close'> - <arguments><argument name='direction'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='connect' homogen-type='method'><doc><text><p>Open a TCP/IP connection to the specified destination.</p> - <p> In nonblocking mode, success is indicated with the write-callback, -  and failure with the close-callback or the read_oob-callback.</p> - <p> The <ref resolved='predef::Stdio.File.connect.host'>host</ref> argument is the hostname or IP number of the remote -  machine.</p> - <p> A local IP and port can be explicitly bound by specifying -  <ref resolved='predef::Stdio.File.connect.client'>client</ref> and <ref resolved='predef::Stdio.File.connect.client_port'>client_port</ref>.</p> - <p> If the <ref resolved='predef::Stdio.File.connect.data'>data</ref> argument is included the socket will use -  TCP_FAST_OPEN if posible. In this mode the the function will -  return the part of the data that has not been sent to the remote -  server yet instead of 1 (you will have to use <ref resolved='predef::write'>write</ref> to send -  this data).</p> - <p> Note that TCP_FAST_OPEN requires server support, the connection -  might fail even though the remote server exists. It might be -  advisable to retry without TCP_FAST_OPEN (and remember this -  fact)</p> - </text><group><returns/><text><p>This function returns 1 or the remaining <ref resolved='predef::Stdio.File.connect.data'>data</ref> for success, 0 -  otherwise.</p> - </text></group><group><note/><text><p>In nonblocking mode <expr>0</expr> (zero) may be returned and -  <ref resolved='predef::Stdio.File.errno'>errno()</ref> set to <expr>EWOULDBLOCK</expr> or <expr>WSAEWOULDBLOCK</expr>.</p> - <p> This should not be regarded as a -  connection failure. In nonblocking mode you need to wait for a -  write or close callback before you know if the connection failed -  or not.</p> - </text></group><group><seealso/><text><p><ref>query_address()</ref>, <ref resolved='predef::Stdio.File.async_connect'>async_connect()</ref>, <ref resolved='predef::Stdio.File.connect_unix'>connect_unix()</ref></p> - </text></group></doc> - <method name='connect'><modifiers><variant/></modifiers> - <arguments><argument name='host'><type><string/></type></argument><argument name='port'><type><or><int><min>0</min><max/></int><string/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - <method name='connect'><modifiers><variant/></modifiers> - <arguments><argument name='host'><type><string/></type></argument><argument name='port'><type><or><int><min>0</min><max/></int><string/></or></type></argument><argument name='client'><type><string/></type></argument><argument name='client_port'><type><or><int><min>0</min><max/></int><string/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - <method name='connect'><modifiers><variant/></modifiers> - <arguments><argument name='host'><type><string/></type></argument><argument name='port'><type><or><int><min>0</min><max/></int><string/></or></type></argument><argument name='data'><type><string/></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='connect'><modifiers><variant/></modifiers> - <arguments><argument name='host'><type><string/></type></argument><argument name='port'><type><or><int><min>0</min><max/></int><string/></or></type></argument><argument name='client'><type><or><int><min>0</min><max>0</max></int><string/></or></type></argument><argument name='client_port'><type><or><int><min>0</min><max/></int><string/></or></type></argument><argument name='data'><type><string/></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-name='connect_unix' homogen-type='method'><doc><text><p>Open a UNIX domain socket connection to the specified destination.</p> - </text><group><returns/><text><p>Returns <expr>1</expr> on success, and <expr>0</expr> on failure.</p> - </text></group><group><note/><text><p>Nonblocking mode is not supported while connecting</p> - </text></group></doc> - <method name='connect_unix'> - <arguments><argument name='path'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='create' homogen-type='method'><doc><text><p>There are four basic ways to create a Stdio.File object. -  The first is calling it without any arguments, in which case the you'd -  have to call <ref resolved='predef::Stdio.File.open'>open()</ref>, <ref resolved='predef::Stdio.File.connect'>connect()</ref> or some other method which connects -  the File object with a stream.</p> - <p> The second way is calling it with a <ref resolved='predef::Stdio.File.create.filename'>filename</ref> and open <ref resolved='predef::Stdio.File.create.mode'>mode</ref>. This is -  the same thing as cloning and then calling <ref resolved='predef::Stdio.File.open'>open()</ref>, except shorter and -  faster.</p> - <p> The third way is to call it with <ref resolved='predef::Stdio.File.create.descriptorname'>descriptorname</ref> of <expr>"stdin"</expr>, -  <expr>"stdout"</expr> or <expr>"stderr"</expr>. This will open the specified -  standard stream.</p> - <p> For the advanced users, you can use the file descriptors of the -  systems (note: emulated by pike on some systems - like NT). This is -  only useful for streaming purposes on unix systems. This is <b>not -  recommended at all</b> if you don't know what you're into. Default -  <ref resolved='predef::Stdio.File.create.mode'>mode</ref> for this is <expr>"rw"</expr>.</p> - </text><group><note/><text><p>Open mode will be filtered through the system UMASK. You -  might need to use <ref>chmod()</ref> later.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.open'>open()</ref>, <ref resolved='predef::Stdio.File.connect'>connect()</ref>, <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref>,</p> - </text></group></doc> - <method name='create'> - <arguments/> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument><argument name='mask'><type><int/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='descriptorname'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='fd'><type><int/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='fd'><type><int/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='dup' homogen-type='method'><doc><text><p>This function returns a clone of Stdio.File with all variables -  copied from this file.</p> - </text><group><note/><text><p>All variables, even <tt>id</tt>, are copied.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.assign'>assign()</ref></p> - </text></group></doc> - <method name='dup'> - <arguments/> - <returntype><object resolved='predef::Stdio.File'>File</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='errno' homogen-type='method'><doc><text><p>Returns the error code for the last command on this file. -  Error code is normally cleared when a command is successful.</p> - </text></doc> - <method name='errno'> - <arguments/> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='Fd' homogen-type='inherit'> - <inherit name='Fd'><modifiers><optional/></modifiers><classname resolved='predef::Stdio.Fd'>Fd</classname></inherit> - </docgroup> - <docgroup homogen-name='line_iterator' homogen-type='method'><doc><text><p>Returns an iterator that will loop over the lines in this file. -  If trim is true, all <tt>'\r'</tt> characters will be removed from -  the input.</p> - </text></doc> - <method name='line_iterator'> - <arguments><argument name='trim'><type><or><int/><void/></or></type></argument></arguments> - <returntype><or><object resolved='predef::String.SplitIterator'>String.SplitIterator</object><object>LineIterator</object></or></returntype> - </method> - </docgroup> - <docgroup homogen-name='open' homogen-type='method'><doc><text><p>Open a file for read, write or append. The parameter <ref resolved='predef::Stdio.File.open.mode'>mode</ref> should -  contain one or more of the following letters:</p> - <string><group><value>"r"</value><text><p>Open file for reading.</p> - </text></group><group><value>"w"</value><text><p>Open file for writing.</p> - </text></group><group><value>"a"</value><text><p>Open file for append (use with <expr>"w"</expr>).</p> - </text></group><group><value>"t"</value><text><p>Truncate file at open (use with <expr>"w"</expr>).</p> - </text></group><group><value>"c"</value><text><p>Create file if it doesn't exist (use with <expr>"w"</expr>).</p> - </text></group><group><value>"x"</value><text><p>Fail if file already exists (use with <expr>"c"</expr>).</p> - </text></group></string><p><ref resolved='predef::Stdio.File.open.mode'>mode</ref> should always contain at least one of the letters -  <expr>"r"</expr> or <expr>"w"</expr>.</p> - <p> The parameter <ref resolved='predef::Stdio.File.open.mask'>mask</ref> is protection bits to use if the file is -  created. Default is <expr>0666</expr> (read+write for all in octal -  notation).</p> - </text><group><returns/><text><p>This function returns <expr>1</expr> for success, <expr>0</expr> otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.close'>close()</ref>, <ref resolved='predef::Stdio.File.create'>create()</ref></p> - </text></group></doc> - <method name='open'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - <method name='open'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument><argument name='mask'><type><int/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='open_socket' homogen-type='method'><doc><text><p>This makes this file into a socket ready for connections. The reason -  for this function is so that you can set the socket to nonblocking -  or blocking (default is blocking) before you call <ref resolved='predef::Stdio.File.connect'>connect()</ref>.</p> - </text><group><param name='port'/><text><p>If you give a port number to this function, the socket will be -  bound to this port locally before connecting anywhere. This is -  only useful for some silly protocols like <b>FTP</b>. The port can -  also be specified as a string, giving the name of the service -  associated with the port. Pass -1 to not specify a port (eg to -  bind only to an address).</p> - </text></group><group><param name='address'/><text><p>You may specify an address to bind to if your machine has many IP -  numbers.</p> - </text></group><group><param name='family_hint'/><text><p>A protocol family for the socket can be specified. If no family is -  specified, one which is appropriate for the address is automatically -  selected. Thus, there is normally no need to specify it. If you -  do not want to specify a bind address, you can provide the address -  as a hint here instead, to allow the automatic selection to work -  anyway.</p> - </text></group><group><returns/><text><p>This function returns 1 for success, 0 otherwise.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.connect'>connect()</ref>, <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref>, <ref resolved='predef::Stdio.File.set_blocking'>set_blocking()</ref></p> - </text></group></doc> - <method name='open_socket'> - <arguments><argument name='port'><type><or><int/><string/><void/></or></type></argument><argument name='address'><type><or><string/><void/></or></type></argument><argument name='family_hint'><type><or><int/><string/><void/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='openat' homogen-type='method'><doc><text><p>Open a file relative to an open directory.</p> - </text><group><seealso/><text><p><ref>File.statat()</ref>, <ref>File.unlinkat()</ref></p> - </text></group></doc> - <method name='openat'> - <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>File</object></returntype> - </method> - <method name='openat'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>File</object></returntype> - </method> - <method name='openat'> - <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument><argument name='mask'><type><int/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>File</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='openpt' homogen-type='method'><doc><text><p>Open the master end of a pseudo-terminal pair. The parameter -  <ref resolved='predef::Stdio.File.openpt.mode'>mode</ref> should contain one or more of the following letters:</p> - <string><group><value>"r"</value><text><p>Open terminal for reading.</p> - </text></group><group><value>"w"</value><text><p>Open terminal for writing.</p> - </text></group></string><p><ref resolved='predef::Stdio.File.openpt.mode'>mode</ref> should always contain at least one of the letters -  <expr>"r"</expr> or <expr>"w"</expr>.</p> - </text><group><seealso/><text><p><ref>grantpt()</ref></p> - </text></group></doc> - <method name='openpt'> - <arguments><argument name='mode'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='pipe' homogen-type='method'><doc><text><p>This function creates a pipe between the object it was called in -  and an object that is returned.</p> - </text><group><param name='required_properties'/><text><p>Binary or (<ref resolved='predef::`|'>predef::`|()</ref>) of required <expr>PROP_</expr> properties.</p> - <int><group><value>PROP_IPC</value><text><p>The resulting pipe may be used for inter process communication.</p> - </text></group><group><value>PROP_NONBLOCK</value><text><p>The resulting pipe supports nonblocking I/O.</p> - </text></group><group><value>PROP_SHUTDOWN</value><text><p>The resulting pipe supports shutting down transmission in either -  direction (see <ref resolved='predef::Stdio.File.close'>close()</ref>).</p> - </text></group><group><value>PROP_BUFFERED</value><text><p>The resulting pipe is buffered (usually 4KB).</p> - </text></group><group><value>PROP_BIDIRECTIONAL</value><text><p>The resulting pipe is bi-directional.</p> - </text></group><group><value>PROP_SEND_FD</value><text><p>The resulting pipe might support sending of file descriptors -  (see <ref resolved='predef::Stdio.File.send_fd'>send_fd()</ref> and <ref>receive_fd()</ref> for details).</p> - </text></group><group><value>PROP_TTY</value><text><p>The resulting pipe is a pseudo-tty.</p> - </text></group><group><value>PROP_REVERSE</value><text><p>The resulting pipe supports communication "backwards" (but -  not necessarily "forwards", see <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref>).</p> - </text></group></int><p>The default is <expr>PROP_NONBLOCK|PROP_BIDIRECTIONAL</expr>.</p> - <p> If <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref> isn't specified, the read-end is this -  object, and the write-end is the returned object (unless -  <ref resolved='predef::_Stdio.PROP_REVERSE'>PROP_REVERSE</ref> has been specified, in which case it is the other -  way around).</p> - <p> The two ends of a bi-directional pipe are indistinguishable.</p> - <p> For <ref resolved='predef::_Stdio.PROP_TTY'>PROP_TTY</ref> the returned object is the slave (unless -  <ref resolved='predef::_Stdio.PROP_REVERSE'>PROP_REVERSE</ref> has been specified).</p> - <p> If the File object this function is called in was open to begin with, -  it will be closed before the pipe is created.</p> - </text></group><group><note/><text><p>Calling this function with an argument of <tt>0</tt> is not the -  same as calling it with no arguments.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Process.create_process'>Process.create_process()</ref>, <ref resolved='predef::Stdio.File.send_fd'>send_fd()</ref>, <ref>receive_fd()</ref>, -  <ref resolved='predef::_Stdio.PROP_IPC'>PROP_IPC</ref>, <ref resolved='predef::_Stdio.PROP_NONBLOCK'>PROP_NONBLOCK</ref>, <ref resolved='predef::_Stdio.PROP_SEND_FD'>PROP_SEND_FD</ref>, -  <ref resolved='predef::_Stdio.PROP_SHUTDOWN'>PROP_SHUTDOWN</ref>, <ref resolved='predef::_Stdio.PROP_BUFFERED'>PROP_BUFFERED</ref>, <ref resolved='predef::_Stdio.PROP_REVERSE'>PROP_REVERSE</ref>, -  <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref>, <ref resolved='predef::_Stdio.PROP_TTY'>PROP_TTY</ref></p> - </text></group></doc> - <method name='pipe'> - <arguments><argument name='required_properties'><type><or><void/><int/></or></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>File</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='query_buffer_mode' homogen-type='method'><doc><text><p>Get the active input and output buffers that have been -  set with <ref resolved='predef::Stdio.File.set_buffer_mode'>set_buffer_mode()</ref> (if any).</p> - </text><group><returns/><text><p>Returns an array with two elements:</p> - <array><group><elem><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type><index>0</index></elem><text><p>The current input buffer.</p> - </text></group><group><elem><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type><index>1</index></elem><text><p>The current output buffer.</p> - </text></group></array> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_buffer_mode'>set_buffer_mode()</ref></p> - </text></group></doc> - <method name='query_buffer_mode'> - <arguments/> - <returntype><array><valuetype><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></valuetype></array></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'><doc><text><p>These functions return the currently installed callbacks for the -  respective events.</p> - <p> <ref resolved='predef::Stdio.File.query_callbacks'>query_callbacks</ref> returns the callbacks in the same order as -  <ref resolved='predef::Stdio.File.set_callbacks'>set_callbacks</ref> and <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking</ref> expect them.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref>, <ref resolved='predef::Stdio.File.set_read_callback'>set_read_callback</ref>, -  <ref resolved='predef::Stdio.File.set_write_callback'>set_write_callback</ref>, <ref resolved='predef::Stdio.File.set_read_oob_callback'>set_read_oob_callback</ref>, -  <ref resolved='predef::Stdio.File.set_write_oob_callback'>set_write_oob_callback</ref>, <ref resolved='predef::Stdio.File.set_close_callback'>set_close_callback</ref>, -  <ref resolved='predef::Stdio.File.set_callbacks'>set_callbacks</ref></p> - </text></group></doc> - <method name='query_read_callback'> - <arguments/> - <returntype><object resolved='predef::Stdio.read_callback_t'>read_callback_t</object></returntype> - </method> - <method name='query_write_callback'> - <arguments/> - <returntype><object resolved='predef::Stdio.write_callback_t'>write_callback_t</object></returntype> - </method> - <method name='query_read_oob_callback'> - <arguments/> - <returntype><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></returntype> - </method> - <method name='query_write_oob_callback'> - <arguments/> - <returntype><function><argtype><mixed/></argtype><returntype><int/></returntype></function></returntype> - </method> - <method name='query_close_callback'> - <arguments/> - <returntype><function><argtype><mixed/></argtype><returntype><int/></returntype></function></returntype> - </method> - <method name='query_callbacks'> - <arguments/> - <returntype><array><valuetype><function><argtype><mixed/></argtype><argtype><or><void/><string/></or></argtype><returntype><int/></returntype></function></valuetype></array></returntype> - </method> - </docgroup> - <docgroup homogen-name='query_id' homogen-type='method'><doc><text><p>This function returns the <tt>id</tt> that has been set with <ref resolved='predef::Stdio.File.set_id'>set_id()</ref>.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_id'>set_id()</ref></p> - </text></group></doc> - <method name='query_id'> - <arguments/> - <returntype><mixed/></returntype> - </method> - </docgroup> - <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Read (optionally buffered) data from a file or a stream.</p> - <p> Proxy function for <ref>Fd::read()</ref>, that adds support for -  the buffering configured by <ref resolved='predef::Stdio.File.set_buffer_mode'>set_buffer_mode()</ref></p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.read_function'>read_function()</ref>, <ref resolved='predef::write'>write()</ref>, <ref>Fd::read()</ref></p> - </text></group></doc> - <method name='read'> - <arguments><argument name='nbytes'><type><or><int/><void/></or></type></argument><argument name='not_all'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments> - <returntype><string><min>0</min><max>255</max></string></returntype> - </method> - </docgroup> - <docgroup homogen-name='read_function' homogen-type='method'><doc><text><p>Returns a function that when called will call <ref resolved='predef::Stdio.File.read'>read</ref> with -  nbytes as argument. Can be used to get various callback -  functions, eg for the fourth argument to -  <ref resolved='predef::String.SplitIterator'>String.SplitIterator</ref>.</p> - </text></doc> - <method name='read_function'> - <arguments><argument name='nbytes'><type><int/></type></argument></arguments> - <returntype><function><returntype><string/></returntype></function></returntype> - </method> - </docgroup> - <docgroup homogen-name='send_fd' homogen-type='method'> - <method name='send_fd'> - <arguments><argument name='file'><type><or><object resolved='predef::Stdio.File'>File</object><object resolved='predef::Stdio.Fd'>Fd</object></or></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_blocking' homogen-type='method'><doc><text><p>This function clears all callbacks and sets a stream to blocking -  mode. i.e. reading, writing and closing will wait until data has -  been transferred before returning.</p> - </text><group><note/><text><p>The callbacks are cleared and blocking mode is set in one atomic -  operation, so no callback gets called in between if the backend -  is running in another thread.</p> - <p> Even so, if the stream is in callback mode (i.e. if any -  callbacks are installed) then only the backend thread can use -  this function reliably; it might otherwise already be running in -  a callback which is about to call e.g. <ref resolved='predef::write'>write</ref> when the stream -  becomes blocking.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref>, <ref resolved='predef::Stdio.File.set_nonblocking_keep_callbacks'>set_nonblocking_keep_callbacks()</ref>, -  <ref resolved='predef::Stdio.File.set_blocking_keep_callbacks'>set_blocking_keep_callbacks()</ref></p> - </text></group></doc> - <method name='set_blocking'> - <arguments/> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'><doc><text><p>Toggle between blocking and nonblocking, -  without changing the callbacks.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref>, <ref resolved='predef::Stdio.File.set_blocking'>set_blocking()</ref></p> - </text></group></doc> - <method name='set_nonblocking_keep_callbacks'> - <arguments/> - <returntype><void/></returntype> - </method> - <method name='set_blocking_keep_callbacks'> - <arguments/> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_buffer_mode' homogen-type='method'><doc><text><p>Toggle the file to Buffer mode.</p> - <p> In this mode reading and writing will be done via Buffer -  objects, in the directions you included buffers.</p> - </text><group><param name='in'/><text><p>Input buffer. If this buffer is non-empty, its contents -  will be returned after any already received data.</p> - </text></group><group><param name='out'/><text><p>Output buffer. If this buffer is non-empty, its contents -  will be sent after any data already queued for sending.</p> - </text></group><group><note/><text><p>Normally you call <ref resolved='predef::write'>write</ref> to re-trigger the write callback if -  you do not output anything in it (which will stop it from -  re-occuring again).</p> - <p> This will work with buffered output mode as well, but simply -  adding more data to the output buffer will work as well.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_buffer_mode'>query_buffer_mode()</ref></p> - </text></group></doc> - <method name='set_buffer_mode'> - <arguments><argument name='in'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></type></argument><argument name='out'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><int><min>0</min><max>0</max></int></or></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_callbacks' homogen-type='method'><doc><text><p>Installs all the specified callbacks at once. Use <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> -  to keep the current setting for a callback.</p> - <p> Like <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking</ref>, the callbacks are installed atomically. -  As opposed to <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking</ref>, this function does not do -  anything with the stream, and it doesn't even have to be open.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_read_callback'>set_read_callback</ref>, <ref resolved='predef::Stdio.File.set_write_callback'>set_write_callback</ref>, -  <ref resolved='predef::Stdio.File.set_read_oob_callback'>set_read_oob_callback</ref>, <ref resolved='predef::Stdio.File.set_write_oob_callback'>set_write_oob_callback</ref>, -  <ref resolved='predef::Stdio.File.set_close_callback'>set_close_callback</ref>, <ref resolved='predef::Stdio.File.query_callbacks'>query_callbacks</ref></p> - </text></group></doc> - <method name='set_callbacks'> - <arguments><argument name='read_cb'><type><or><object resolved='predef::Stdio.read_callback_t'>read_callback_t</object><void/></or></type></argument><argument name='write_cb'><type><or><object resolved='predef::Stdio.write_callback_t'>write_callback_t</object><void/></or></type></argument><argument name='close_cb'><type><or><void/><function><argtype><mixed/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='read_oob_cb'><type><or><void/><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></or></type></argument><argument name='write_oob_cb'><type><or><void/><function><argtype><mixed/></argtype><returntype><int/></returntype></function></or></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'><doc><text><p>These functions set the various callbacks, which will be called -  when various events occur on the stream. A zero as argument will -  remove the callback.</p> - <p> A <ref resolved='predef::Pike.Backend'>Pike.Backend</ref> object is responsible for calling the -  callbacks. It requires a thread to be waiting in it to execute -  the calls. That means that only one of the callbacks will be -  running at a time, so you don't need mutexes between them.</p> - <p> Unless you've specified otherwise with the <ref>set_backend</ref> -  function, the default backend <ref resolved='predef::Pike.DefaultBackend'>Pike.DefaultBackend</ref> will be -  used. It's normally activated by returning <expr>-1</expr> from the -  <tt>main</tt> function and will then execute in the main thread.</p> - <ul><group><item/><text><p>When data arrives on the stream, <ref resolved='predef::Stdio.File.set_read_callback.read_cb'>read_cb</ref> will be called with -  some or all of that data as the second argument.</p> - <p> If the file is in buffer mode, the second argument will be a Buffer.</p> - <p> This will always be the same buffer, so data you do not use in -  one read callback can be simply left in the buffer, when new -  data arrives it will be appended</p> - </text></group><group><item/><text><p>When the stream has buffer space over for writing, <ref>write_cb</ref> -  will be called so that you can write more data to it.</p> - <p> This callback is also called after the remote end of a socket -  connection has closed the write direction. An attempt to write -  data to it in that case will generate a <ref>System.EPIPE</ref> errno. -  If the remote end has closed both directions simultaneously -  (the usual case), Pike will first attempt to call <ref>close_cb</ref>, -  then this callback (unless <ref>close_cb</ref> has closed the stream).</p> - <p> If the file is in buffer mode, the second argument will be a Buffer.</p> - <p> You should add data to write to this buffer.</p> - </text></group><group><item/><text><p>When out-of-band data arrives on the stream, <ref>read_oob_cb</ref> -  will be called with some or all of that data as the second -  argument.</p> - </text></group><group><item/><text><p>When the stream allows out-of-band data to be sent, -  <ref>write_oob_cb</ref> will be called so that you can write more -  out-of-band data to it.</p> - <p> If the OS doesn't separate the write events for normal and -  out-of-band data, Pike will try to call <ref>write_oob_cb</ref> first. -  If it doesn't write anything, then <ref>write_cb</ref> will be tried. -  This also means that <ref>write_oob_cb</ref> might get called when the -  remote end of a connection has closed the write direction.</p> - </text></group><group><item/><text><p>When an error or an end-of-stream in the read direction -  occurs, <ref>close_cb</ref> will be called. <ref resolved='predef::Stdio.File.errno'>errno</ref> will return the -  error, or zero in the case of an end-of-stream.</p> - <p> The name of this callback is rather unfortunate since it -  really has nothing to do with a close: The stream is still -  open when <ref>close_cb</ref> is called (you might not be able to read -  and/or write to it, but you can still use things like -  <ref>query_address</ref>, and the underlying file descriptor is still -  allocated). Also, this callback will not be called for a local -  close, neither by a call to <ref resolved='predef::Stdio.File.close'>close</ref> or by destructing this -  object.</p> - <p> Also, <ref>close_cb</ref> will not be called if a remote close only -  occurs in the write direction; that is handled by <ref>write_cb</ref> -  (or possibly <ref>write_oob_cb</ref>).</p> - <p> Events to <ref resolved='predef::Stdio.File.set_read_callback.read_cb'>read_cb</ref> and <ref>close_cb</ref> will be automatically -  deregistered if an end-of-stream occurs, and all events in the -  case of an error. I.e. there won't be any more calls to the -  callbacks unless they are reinstalled. This doesn't affect the -  callback settings - <ref resolved='predef::Stdio.File.query_read_callback'>query_read_callback</ref> et al will still -  return the installed callbacks.</p> - </text></group></ul><p>If the stream is a socket performing a nonblocking connect (see -  <ref resolved='predef::Stdio.File.open_socket'>open_socket</ref> and <ref resolved='predef::Stdio.File.connect'>connect</ref>), a connection failure will call -  <ref>close_cb</ref>, and a successful connect will call either -  <ref resolved='predef::Stdio.File.set_read_callback.read_cb'>read_cb</ref> or <ref>write_cb</ref> as above.</p> - <p> All callbacks will receive the <tt>id</tt> set by <ref resolved='predef::Stdio.File.set_id'>set_id</ref> as -  first argument.</p> - <p> If a callback returns <expr>-1</expr>, no other callback or call out -  will be called by the backend in that round. I.e. the caller of -  the backend will get control back right away. For the default -  backend that means it will immediately start another round and -  check files and call outs anew.</p> - </text><group><param name='event_mask'/><text><p>An event mask specifing bitwise OR of one or more event types to -  monitor, selected from <ref resolved='predef::_Stdio.NOTE_WRITE'>Stdio.NOTE_WRITE</ref> and friends.</p> - </text></group><group><note/><text><p>These functions do not set the file nonblocking.</p> - </text></group><group><note/><text><p>Callbacks are also set by <ref resolved='predef::Stdio.File.set_callbacks'>set_callbacks</ref> and -  <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref>.</p> - </text></group><group><note/><text><p>After a callback has been called, it's disabled until it has -  accessed the stream accordingly, i.e. the <ref>write_cb</ref> callback -  is disabled after it's been called until something has been -  written with <ref resolved='predef::write'>write</ref>, and the <ref>write_oob_cb</ref> callback is -  likewise disabled until something has been written with -  <ref>write_oob</ref>. Since the data already has been read when the read -  callbacks are called, this effect is not noticeable for them.</p> - </text></group><group><note/><text><p>Installing callbacks means that you will start doing I/O on the -  stream from the thread running the backend. If you are running -  these set functions from another thread you must be prepared -  that the callbacks can be called immediately by the backend -  thread, so it might not be safe to continue using the stream in -  this thread.</p> - <p> Because of that, it's useful to talk about "callback mode" when -  any callback is installed. In callback mode the stream should be -  seen as "bound" to the backend thread. For instance, it's only -  the backend thread that reliably can end callback mode before -  the stream is "handed over" to another thread.</p> - </text></group><group><note/><text><p>Callback mode has nothing to do with nonblocking mode - although -  the two often are used together they don't have to be.</p> - </text></group><group><note/><text><p>The file object will stay referenced from the backend object as -  long as there are callbacks that can receive events.</p> - </text></group><group><bugs/><text><p>Setting a close callback without a read callback currently only -  works when there's no risk of getting more data on the stream. -  Otherwise the close callback will be silently deregistered if -  data arrives.</p> - </text></group><group><note/><text><p>fs_event callbacks only trigger on systems that support these events. -  Currently, this includes systems that use kqueue, such as Mac OS X, -  and various flavours of BSD.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_callbacks'>set_callbacks</ref>, <ref resolved='predef::Stdio.File.set_nonblocking'>set_nonblocking()</ref>, <ref resolved='predef::Stdio.File.set_id'>set_id()</ref>, -  <ref>set_backend</ref>, <ref resolved='predef::Stdio.File.query_read_callback'>query_read_callback</ref>, <ref resolved='predef::Stdio.File.query_write_callback'>query_write_callback</ref>, -  <ref resolved='predef::Stdio.File.query_read_oob_callback'>query_read_oob_callback</ref>, <ref resolved='predef::Stdio.File.query_write_oob_callback'>query_write_oob_callback</ref>, -  <ref resolved='predef::Stdio.File.query_close_callback'>query_close_callback</ref></p> - </text></group></doc> - <method name='set_read_callback'> - <arguments><argument name='read_cb'><type><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_read_callback'> - <arguments><argument name='read_cb'><type><function><argtype><mixed/></argtype><argtype><object resolved='predef::_Stdio.Buffer'>Buffer</object></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_write_callback'> - <arguments><argument name='write_cb'><type><function><argtype><mixed/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_write_callback'> - <arguments><argument name='write_cb'><type><function><argtype><mixed/></argtype><argtype><object resolved='predef::_Stdio.Buffer'>Buffer</object></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_read_oob_callback'> - <arguments><argument name='read_oob_cb'><type><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_write_oob_callback'> - <arguments><argument name='write_oob_cb'><type><function><argtype><mixed/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_close_callback'> - <arguments><argument name='close_cb'><type><function><argtype><mixed/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_fs_event_callback'> - <arguments><argument name='fs_event_cb'><type><function><argtype><mixed/></argtype><argtype><int/></argtype><returntype><int/></returntype></function></type></argument><argument name='event_mask'><type><int/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_id' homogen-type='method'><doc><text><p>This function sets the <tt>id</tt> of this file. The <tt>id</tt> is mainly -  used as an identifier that is sent as the first argument to all -  callbacks. The default <tt>id</tt> is <expr>0</expr> (zero). Another possible -  use of the <tt>id</tt> is to hold all data related to this file in a -  mapping or array.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.query_id'>query_id()</ref></p> - </text></group></doc> - <method name='set_id'> - <arguments><argument name='id'><type><mixed/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_nonblocking' homogen-type='method'><doc><text><p>This function sets a stream to nonblocking mode and installs the -  specified callbacks. See the <expr>set_*_callback</expr> functions -  for details about them. If no arguments are given, the callbacks -  will be cleared.</p> - </text><group><note/><text><p>As opposed to calling the set callback functions separately, -  this function will set all the callbacks and nonblocking mode -  atomically so that no callback gets called in between. That -  avoids races in case the backend is executed by another thread.</p> - </text></group><group><note/><text><p>Out-of-band data was not be supported on Pike 0.5 and earlier, -  and not on Pike 0.6 through 7.4 if they were compiled with the -  option <tt>'--without-oob'</tt>.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.set_blocking'>set_blocking()</ref>, <ref resolved='predef::Stdio.File.set_callbacks'>set_callbacks</ref>, <ref resolved='predef::Stdio.File.set_read_callback'>set_read_callback()</ref>, -  <ref resolved='predef::Stdio.File.set_write_callback'>set_write_callback()</ref>, <ref resolved='predef::Stdio.File.set_read_oob_callback'>set_read_oob_callback()</ref>, -  <ref resolved='predef::Stdio.File.set_write_oob_callback'>set_write_oob_callback()</ref>, <ref resolved='predef::Stdio.File.set_close_callback'>set_close_callback()</ref> -  <ref resolved='predef::Stdio.File.set_nonblocking_keep_callbacks'>set_nonblocking_keep_callbacks()</ref>, -  <ref resolved='predef::Stdio.File.set_blocking_keep_callbacks'>set_blocking_keep_callbacks()</ref></p> - </text></group></doc> - <method name='set_nonblocking'> - <arguments><argument name='read_callback'><type><object resolved='predef::Stdio.read_callback_t'>read_callback_t</object></type></argument><argument name='write_callback'><type><object resolved='predef::Stdio.write_callback_t'>write_callback_t</object></type></argument><argument name='close_callback'><type><function><argtype><mixed/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_nonblocking'> - <arguments><argument name='read_callback'><type><object resolved='predef::Stdio.read_callback_t'>read_callback_t</object></type></argument><argument name='write_callback'><type><object resolved='predef::Stdio.write_callback_t'>write_callback_t</object></type></argument><argument name='close_callback'><type><function><argtype><mixed/></argtype><returntype><int/></returntype></function></type></argument><argument name='read_oob_callback'><type><function><argtype><mixed/></argtype><argtype><string/></argtype><returntype><int/></returntype></function></type></argument><argument name='write_oob_callback'><type><function><argtype><mixed/></argtype><returntype><int/></returntype></function></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='set_nonblocking'> - <arguments/> - <returntype><void/></returntype> - </method> - </docgroup> - </class> - <class name='NonblockingStream'> - <doc><text><p>The Stdio.NonblockingStream API.</p> - <p> This class exists purely for typing reasons.</p> - <p> Use in types in place of <ref resolved='predef::Stdio.File'>Stdio.File</ref> where nonblocking and/or -  blocking stream-oriented I/O is done with the object.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.Stream'>Stream</ref>, <ref resolved='predef::Stdio.BlockFile'>BlockFile</ref>, <ref resolved='predef::Stdio.File'>File</ref>, <ref resolved='predef::Stdio.FILE'>FILE</ref></p> - </text></group></doc> - <docgroup homogen-name='Stream' homogen-type='inherit'> - <inherit name='Stream'><classname resolved='predef::Stdio.Stream'>Stream</classname></inherit> - </docgroup> - <docgroup homogen-name='set_blocking' homogen-type='method'> - <method name='set_blocking'> - <arguments/> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'> - <method name='set_read_callback'> - <arguments><argument name='f'><type><function/></type></argument><argument name='rest'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.NonblockingStream'>NonblockingStream</object></returntype> - </method> - <method name='set_write_callback'> - <arguments><argument name='f'><type><function/></type></argument><argument name='rest'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.NonblockingStream'>NonblockingStream</object></returntype> - </method> - <method name='set_close_callback'> - <arguments><argument name='f'><type><function/></type></argument><argument name='rest'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.NonblockingStream'>NonblockingStream</object></returntype> - </method> - <method name='set_fs_event_callback'> - <arguments><argument name='f'><type><function/></type></argument><argument name='event_mask'><type><int/></type></argument><argument name='rest'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.NonblockingStream'>NonblockingStream</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_nonblocking' homogen-type='method'> - <method name='set_nonblocking'> - <arguments><argument name='a'><type><function/></type></argument><argument name='b'><type><function/></type></argument><argument name='c'><type><function/></type></argument><argument name='d'><type><or><function/><void/></or></type></argument><argument name='e'><type><or><function/><void/></or></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'> - <method name='set_read_oob_callback'><modifiers><optional/></modifiers> - <arguments><argument name='f'><type><function/></type></argument><argument name='rest'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.NonblockingStream'>NonblockingStream</object></returntype> - </method> - <method name='set_write_oob_callback'><modifiers><optional/></modifiers> - <arguments><argument name='f'><type><function/></type></argument><argument name='rest'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.NonblockingStream'>NonblockingStream</object></returntype> - </method> - </docgroup> - </class> +    <module name='Pipe'>   <class name='Base'>   <doc><text><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>   </text></doc>   <docgroup homogen-name='close' homogen-type='method'>   <method name='close'><modifiers><final/></modifiers>
autodoc.git/onepage.xml:129960:    of CPU cores.</p>   </text></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Base' homogen-type='inherit'>   <inherit name='Base'><classname resolved='predef::Stdio.Pipe.Base'>.Base</classname></inherit>   </docgroup>   </class>   </module> - <class name='Port'> - <doc><text><p>Handles listening to socket ports. Whenever you need a bound -  socket that is open and listens for connections you should -  use this program.</p> - </text></doc> - <docgroup homogen-name='accept' homogen-type='method'><doc><text><p>This function completes a connection made from a remote machine to -  this port. It returns a two-way stream in the form of a clone of -  <ref resolved='predef::Stdio.File'>Stdio.File</ref>. The new file is by initially set to blocking mode.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::Stdio.Port.fd_factory'>fd_factory()</ref></p> - </text></group></doc> - <method name='accept'> - <arguments/> - <returntype><object resolved='predef::Stdio.File'>File</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='create' homogen-type='method'><doc><text><p>If the first argument is other than <expr>"stdin"</expr> the arguments will -  be passed to <ref>bind()</ref>.</p> - <p> When create is called with <expr>"stdin"</expr> as the first argument, a -  socket is created out of the file descriptor <expr>0</expr>. This is only -  useful if it actually is a socket to begin with, and is equivalent to -  creating a port and initializing it with <ref>listen_fd</ref>(0).</p> - </text><group><seealso/><text><p><ref>bind</ref></p> - </text></group></doc> - <method name='create'> - <arguments/> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='port'><type><or><int/><string/></or></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='port'><type><or><int/><string/></or></type></argument><argument name='accept_callback'><type><function/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument name='port'><type><or><int/><string/></or></type></argument><argument name='accept_callback'><type><function/></type></argument><argument name='ip'><type><string/></type></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument><value>"stdin"</value></argument></arguments> - <returntype><void/></returntype> - </method> - <method name='create'> - <arguments><argument><value>"stdin"</value></argument><argument name='accept_callback'><type><function/></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='fd_factory' homogen-type='method'><doc><text><p>Factory creating empty <ref resolved='predef::Stdio.Fd'>Fd</ref> objects.</p> - <p> This function is called by <ref resolved='predef::Stdio.Port.accept'>accept()</ref> when it needs to create -  a new file.</p> - <p> The default implementation returns the <ref resolved='predef::Stdio.Fd'>Fd</ref> inherit in -  an empty <ref resolved='predef::Stdio.File'>File</ref> object.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.Port.accept'>accept()</ref></p> - </text></group></doc> - <method name='fd_factory'><modifiers><protected/></modifiers> - <arguments/> - <returntype><object resolved='predef::Stdio.Fd'>Fd</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='_port' homogen-type='inherit'> - <inherit name='_port'><classname resolved='predef::_Stdio._port'>_port</classname></inherit> - </docgroup> - </class> +    <class name='Readline'>   <docgroup homogen-name='add_to_kill_ring' homogen-type='method'><doc><group><fixme/><text><p>Document this function</p>   </text></group></doc>   <method name='add_to_kill_ring'>   <arguments><argument name='s'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Creates a Readline object, that takes input from <ref resolved='predef::Stdio.Readline.create.infd'>infd</ref> and has output    on <ref resolved='predef::Stdio.Readline.create.outfd'>outfd</ref>.</p> - </text><group><param name='infd'/><text><p>Defaults to <ref resolved='predef::Stdio.stdin'>Stdio.stdin</ref>.</p> + </text><group><param name='infd'/><text><p>Defaults to <ref>Stdio.stdin</ref>.</p>   </text></group><group><param name='interm'/><text><p>Defaults to <ref resolved='predef::Stdio.Terminfo.getTerm'>Stdio.Terminfo.getTerm()</ref>.</p>   </text></group><group><param name='outfd'/><text><p>Defaults to <ref resolved='predef::Stdio.Readline.create.infd'>infd</ref>, unless <ref resolved='predef::Stdio.Readline.create.infd'>infd</ref> is 0, in which case -  <ref resolved='predef::Stdio.Readline.create.outfd'>outfd</ref> defaults to <ref resolved='predef::Stdio.stdout'>Stdio.stdout</ref>.</p> +  <ref resolved='predef::Stdio.Readline.create.outfd'>outfd</ref> defaults to <ref>Stdio.stdout</ref>.</p>   </text></group><group><param name='outterm'/><text><p>Defaults to <ref resolved='predef::Stdio.Readline.create.interm'>interm</ref>.</p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='infd'><type><or><object resolved='predef::Stdio.Readline.create'/><void/></or></type></argument><argument name='interm'><type><or><object resolved='predef::Stdio.Readline.create'/><string/><void/></or></type></argument><argument name='outfd'><type><or><object resolved='predef::Stdio.Readline.create'/><void/></or></type></argument><argument name='outterm'><type><or><object resolved='predef::Stdio.Readline.create'/><string/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='delete' homogen-type='method'><doc><group><fixme/><text><p>Document this function</p>   </text></group></doc>   <method name='delete'>
autodoc.git/onepage.xml:130658:   </method>   </docgroup>   <docgroup homogen-name='clear' homogen-type='method'>   <method name='clear'>   <arguments><argument name='partial'><type><or><int/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='_outfd'><type><or><object resolved='predef::Stdio.File'>.File</object><void/></or></type></argument><argument name='_term'><type><or><object resolved='predef::Stdio.Terminfo.Termcap'>.Terminfo.Termcap</object><string/><void/></or></type></argument></arguments> + <arguments><argument name='_outfd'><type><or><object>.File</object><void/></or></type></argument><argument name='_term'><type><or><object resolved='predef::Stdio.Terminfo.Termcap'>.Terminfo.Termcap</object><string/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='disable' homogen-type='method'>   <method name='disable'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='enable' homogen-type='method'>
autodoc.git/onepage.xml:130856:    <expr>nlink</expr>, and <expr>rdev</expr>.</p>   </text></group><group><item/><text><p><ref resolved='predef::Stdio.Stat.create.stat'>stat</ref> is a seven element array on the 'traditional' LPC    stat-array form (see the class doc).</p>   </text></group></ul></text></doc>   <method name='create'>   <arguments><argument name='stat'><type><or><void/><object resolved='predef::Stdio.Stat.create'/><array/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class> - <class name='Stream'> - <doc><text><p>The Stdio.Stream API.</p> - <p> This class exists purely for typing reasons.</p> - <p> Use in types in place of <ref resolved='predef::Stdio.File'>Stdio.File</ref> where only blocking -  stream-oriented I/O is done with the object.</p> - <p> This class lists the minimum functionality guaranteed to exist in -  all Stream objects.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.NonblockingStream'>NonblockingStream</ref>, <ref resolved='predef::Stdio.BlockFile'>BlockFile</ref>, <ref resolved='predef::Stdio.File'>File</ref>, <ref resolved='predef::Stdio.FILE'>FILE</ref></p> - </text></group></doc> - <docgroup homogen-name='close' homogen-type='method'> - <method name='close'> - <arguments/> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='read' homogen-type='method'> - <method name='read'> - <arguments><argument name='nbytes'><type><int/></type></argument></arguments> - <returntype><string/></returntype> - </method> - </docgroup> - <docgroup homogen-type='method'> - <method name='read_oob'><modifiers><optional/></modifiers> - <arguments><argument name='nbytes'><type><int/></type></argument></arguments> - <returntype><string/></returntype> - </method> - <method name='write_oob'><modifiers><optional/></modifiers> - <arguments><argument name='data'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - <method name='tcgetattr'><modifiers><optional/></modifiers> - <arguments/> - <returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype> - </method> - <method name='tcsetattr'><modifiers><optional/></modifiers> - <arguments><argument name='attr'><type><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></type></argument><argument name='when'><type><or><string/><void/></or></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - <docgroup homogen-name='write' homogen-type='method'> - <method name='write'> - <arguments><argument name='data'><type><string/></type></argument></arguments> - <returntype><int/></returntype> - </method> - </docgroup> - </class> +    <module name='Terminfo'>   <docgroup homogen-name='getFallbackTerm' homogen-type='method'><doc><text><p>Returns an object describing the fallback terminal for the terminal    <ref resolved='predef::Stdio.Terminfo.getFallbackTerm.term'>term</ref>. This is usually equivalent to <ref resolved='predef::Stdio.Terminfo.getTerm'>Stdio.Terminfo.getTerm("dumb")</ref>.</p>   </text><group><seealso/><text><p>Stdio.Terminfo.getTerm</p>   </text></group></doc>   <method name='getFallbackTerm'><modifiers><protected/></modifiers>   <arguments><argument name='term'><type><string/></type></argument></arguments>   <returntype><object resolved='predef::Stdio.Terminfo.Termcap'>Termcap</object></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:130945:   </text><group><seealso/><text><p>Stdio.Terminfo.getTerm, Stdio.Terminfo.getTermcap</p>   </text></group></doc>   <method name='getTerminfo'>   <arguments><argument name='term'><type><string/></type></argument></arguments>   <returntype><object resolved='predef::Stdio.Terminfo.Terminfo'>Terminfo</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup> - <docgroup homogen-name='is_tty' homogen-type='method'><doc><text><p>Returns 1 if <ref resolved='predef::Stdio.stdin'>Stdio.stdin</ref> is connected to an interactive + <docgroup homogen-name='is_tty' homogen-type='method'><doc><text><p>Returns 1 if <ref>Stdio.stdin</ref> is connected to an interactive    terminal that can handle backspacing, carriage return without    linefeed, and the like.</p>   </text></doc>   <method name='is_tty'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <class name='MetaTerminfoDB'>   <doc><text><p><ref resolved='predef::Stdio.Terminfo.TerminfoDB'>TerminfoDB</ref> that merges several directorys.</p>
autodoc.git/onepage.xml:131026:   <arguments><argument name='s'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   </class>   <class name='TerminfoDB'>   <doc><text><p>Terminfo database for a single directory.</p>   </text></doc>   </class>   </module> - <class name='UDP'> - <doc><text><p>UDP (User Datagram Protocol) handling.</p> - </text></doc> - <docgroup homogen-name='UDP' homogen-type='inherit'> - <inherit name='UDP'><classname resolved='predef::_Stdio.UDP'>_Stdio.UDP</classname></inherit> - </docgroup> - <docgroup homogen-name='set_nonblocking' homogen-type='method'><doc><text><p>Set this object to nonblocking mode.</p> - <p> If <ref resolved='predef::Stdio.UDP.set_nonblocking.read_cb'>read_cb</ref> and <ref resolved='predef::Stdio.UDP.set_nonblocking.extra_args'>extra_args</ref> are specified, they will be passed on -  to <ref resolved='predef::Stdio.UDP.set_read_callback'>set_read_callback()</ref>.</p> - </text><group><returns/><text><p>The called object.</p> - </text></group></doc> - <method name='set_nonblocking'> - <arguments/> - <returntype><object resolved='predef::Stdio.UDP'>UDP</object></returntype> - </method> - <method name='set_nonblocking'> - <arguments><argument name='read_cb'><type><function><argtype><mapping><indextype><string/></indextype><valuetype><or><int/><string/></or></valuetype></mapping></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.UDP'>UDP</object></returntype> - </method> - </docgroup> - <docgroup homogen-name='set_read_callback' homogen-type='method'><doc><text><p>The <ref resolved='predef::Stdio.UDP.set_read_callback.read_cb'>read_cb</ref> function will receive a mapping similar to the mapping -  returned by <ref resolved='predef::_Stdio.UDP.read'>read()</ref>:</p> - <mapping><group><member><type><string/></type><index>"data"</index></member><text><p>Received data.</p> - </text></group><group><member><type><string/></type><index>"ip"</index></member><text><p>Data was sent from this IP.</p> - </text></group><group><member><type><int/></type><index>"port"</index></member><text><p>Data was sent from this port.</p> - </text></group></mapping> - </text><group><returns/><text><p>The called object.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.UDP.read'>read()</ref></p> - </text></group></doc> - <method name='set_read_callback'> - <arguments><argument name='read_cb'><type><function><argtype><mapping><indextype><string/></indextype><valuetype><or><int/><string/></or></valuetype></mapping></argtype><argtype><varargs><mixed/></varargs></argtype></function></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Stdio.UDP'>UDP</object></returntype> - </method> - </docgroup> - </class> +    <class name='sendfile'>   <doc><text><p>Send <expr>headers + from_fd[off..off+len-1] + trailers</expr> to    <expr>to_fd</expr> asyncronously.</p>   </text><group><note/><text><p>This is the low-level implementation, which has several limitations.    You probably want to use <ref resolved='predef::Stdio.sendfile'>Stdio.sendfile()</ref> instead.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.sendfile'>Stdio.sendfile()</ref></p>   </text></group></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Low-level implementation of <ref resolved='predef::Stdio.sendfile'>Stdio.sendfile()</ref>.</p>   <p> Sends <ref resolved='predef::Stdio.sendfile.create.headers'>headers</ref> followed by <ref resolved='predef::Stdio.sendfile.create.len'>len</ref> bytes starting at <ref resolved='predef::Stdio.sendfile.create.offset'>offset</ref>    from the file <ref resolved='predef::Stdio.sendfile.create.from'>from</ref> followed by <ref resolved='predef::Stdio.sendfile.create.trailers'>trailers</ref> to the file <ref resolved='predef::Stdio.sendfile.create.to'>to</ref>.
autodoc.git/onepage.xml:131416:   </text><group><example/><text><p>For the fastest possible operation, write your code like this:</p>   <code><text><p>String.Buffer b = String.Buffer( );</p>   <p> function add = b-&gt;add;</p>   <p> .. call add several times in code ...</p>   <p> string result = b-&gt;get(); // also clears the buffer</p>   </text></code></text></group></doc>   <docgroup homogen-name='_search' homogen-type='method'><doc><text><p>Search for a <ref resolved='predef::String.Buffer._search.character'>character</ref> in the buffer, starting the scan    from <ref resolved='predef::String.Buffer._search.start'>start</ref> and ending at <ref resolved='predef::String.Buffer._search.end'>end</ref> (inclusive).</p>   </text><group><returns/><text><p>Returns to position in the buffer where the character was found    on success, and <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> on failure.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.Buffer._search'>Stdio.Buffer()-&gt;_search()</ref>, <ref resolved='predef::search'>search()</ref>, <ref resolved='lfun::_search'>lfun::_search()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.Buffer()-&gt;_search()</ref>, <ref resolved='predef::search'>search()</ref>, <ref resolved='lfun::_search'>lfun::_search()</ref></p>   </text></group></doc>   <method name='_search'>   <arguments><argument name='character'><type><int/></type></argument><argument name='start'><type><or><int/><void/></or></type></argument><argument name='end'><type><or><int/><void/></or></type></argument></arguments>   <returntype><int><min>0</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='_search' homogen-type='method'><doc><text><p>Search for a <ref resolved='predef::String.Buffer._search.substring'>substring</ref> in the buffer, starting the scan    from <ref resolved='predef::String.Buffer._search.start'>start</ref> and ending at <ref resolved='predef::String.Buffer._search.end'>end</ref> (inclusive).</p>   </text><group><returns/><text><p>Returns to position in the buffer where the substring was found    on success, and <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> on failure.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.Buffer._search'>Stdio.Buffer()-&gt;_search()</ref>, <ref resolved='predef::search'>search()</ref>, <ref resolved='lfun::_search'>lfun::_search()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.Buffer()-&gt;_search()</ref>, <ref resolved='predef::search'>search()</ref>, <ref resolved='lfun::_search'>lfun::_search()</ref></p>   </text></group></doc>   <method name='_search'>   <arguments><argument name='substring'><type><string/></type></argument><argument name='start'><type><or><int/><void/></or></type></argument><argument name='end'><type><or><int/><void/></or></type></argument></arguments>   <returntype><int><min>0</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='_sizeof' homogen-type='method'><doc><text><p>Returns the size of the buffer.</p>   </text></doc>   <method name='_sizeof'>   <arguments/>
autodoc.git/onepage.xml:131895:   </text></group></doc>   <constant name='CPU_TIME_IS_THREAD_LOCAL'><type><string/></type></constant>   </docgroup>   <docgroup homogen-name='CPU_TIME_RESOLUTION' homogen-type='constant'><doc><text><p>The resolution of the CPU time, returned by e.g. <ref resolved='predef::gethrvtime'>gethrvtime</ref>, in    nanoseconds. It is <expr>-1</expr> if the resolution isn't known.</p>   </text><group><seealso/><text><p><ref resolved='predef::gethrvtime'>gethrvtime</ref>, <ref>gauge</ref></p>   </text></group></doc>   <constant name='CPU_TIME_RESOLUTION'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='FreeConsole' homogen-type='method'><doc><text><p>Detaches the calling process from its console.</p> - </text><group><note/><text><p>Before calling this function, <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>, <ref resolved='predef::Stdio.stdout'>Stdio.stdout</ref> and -  <ref resolved='predef::Stdio.stdin'>Stdio.stdin</ref> must be closed.</p> + </text><group><note/><text><p>Before calling this function, <ref>Stdio.stderr</ref>, <ref>Stdio.stdout</ref> and +  <ref>Stdio.stdin</ref> must be closed.</p>   </text></group><group><note/><text><p>Only available on certain Windows systems.</p>   </text></group><group><returns/><text><p>0 on success, non-zero otherwise.</p>   </text></group></doc>   <method name='FreeConsole'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='GetComputerName' homogen-type='method'><doc><text><p>Retrieves the NetBIOS name of the local computer.</p>   </text><group><note/><text><p>This function is Windows specific, and is not available on all systems.</p>
autodoc.git/onepage.xml:132227:   <docgroup homogen-name='SetNamedSecurityInfo' homogen-type='method'><doc><group><note/><text><p>This function is only available on some Win32 systems.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::System.GetNamedSecurityInfo'>GetNamedSecurityInfo()</ref></p>   </text></group></doc>   <method name='SetNamedSecurityInfo'>   <arguments><argument name='name'><type><string/></type></argument><argument name='options'><type><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></type></argument></arguments>   <returntype><array><valuetype><mixed/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='chmod' homogen-type='method'><doc><text><p>Sets the protection mode of the specified path.</p>   </text><group><note/><text><p>Throws errors on failure.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.open'>Stdio.File-&gt;open()</ref>, <ref resolved='predef::errno'>errno()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.File-&gt;open()</ref>, <ref resolved='predef::errno'>errno()</ref></p>   </text></group></doc>   <method name='chmod'>   <arguments><argument name='path'><type><string/></type></argument><argument name='mode'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='chown' homogen-type='method'><doc><text><p>Sets the owner and group of the specified path.</p>   <p> If <ref resolved='predef::System.chown.symlink'>symlink</ref> is set and <ref resolved='predef::System.chown.path'>path</ref> refers to a symlink, then the    owner and group for the symlink are set. Symlinks are dereferenced    otherwise.</p>
autodoc.git/onepage.xml:132268:    the fchroot(2) system call.</p>   </text></group><group><note/><text><p>On success the current working directory will be changed to    the new <expr>"/"</expr>. This behavior was added in Pike 7.9.</p>   </text></group><group><note/><text><p>This function could be interrupted by signals prior to Pike 7.9.</p>   </text></group></doc>   <method name='chroot'>   <arguments><argument name='newroot'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='chroot'> - <arguments><argument name='newroot'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='newroot'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='cleargroups' homogen-type='method'><doc><text><p>Clear the supplemental group access list.</p>   </text><group><note/><text><p>Throws errors on failure.</p>   <p> This function is not available on all platforms.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::System.setgroups'>setgroups()</ref>, <ref resolved='predef::System.initgroups'>initgroups()</ref>, <ref resolved='predef::System.getgroups'>getgroups()</ref></p>   </text></group></doc>   <method name='cleargroups'>   <arguments/>
autodoc.git/onepage.xml:133395:   <method name='parse_event'>   <arguments><argument name='data'><type><string/></type></argument></arguments>   <returntype><array><valuetype><or><string/><int/></or></valuetype></array></returntype>   </method>   </docgroup>   <class name='Instance'>   <doc><text><p>More convenient interface to inotify(7). Automatically reads events    from the inotify file descriptor and parses them.</p>   </text><group><note/><text><p>Objects of this class will be destructed when they go out of external    references. As such they behave differently from other classes which use -  callbacks, e.g. <ref resolved='predef::Stdio.File'>Stdio.File</ref>.</p> +  callbacks, e.g. <ref>Stdio.File</ref>.</p>   </text></group><group><note/><text><p>The number of inotify instances is limited by ulimits.</p>   </text></group></doc>   <docgroup homogen-name='add_watch' homogen-type='method'><doc><text><p>Add a watch for a certain file and a set of events specified by    <expr>mask</expr>. The function <expr>callback</expr> will be called when    such an event occurs. The arguments to the callback will be the    events mask, the cookie, the <expr>filename</expr> and <expr>extra</expr>.</p>   </text><group><returns/><text><p>Returns a watch descriptor which can be used to remove the    watch.</p>   </text></group><group><note/><text><p>When adding a second watch for the same file the old one    will be removed unless <ref resolved='predef::System.Inotify.IN_MASK_ADD'>System.Inotify.IN_MASK_ADD</ref> is
autodoc.git/onepage.xml:133611:   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Will call <ref resolved='predef::System.Memory.mmap'>mmap()</ref> or <ref resolved='predef::System.Memory.allocate'>allocate()</ref>    depending on argument, either <tt>mmap</tt>'ing a file    (in shared mode, writeable if possible) or allocating    a chunk of memory.</p>   </text></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   <method name='create'> - <arguments><argument name='filename_to_mmap'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument></arguments> + <arguments><argument name='filename_to_mmap'><type><or><string/><object>Stdio.File</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='shmkey'><type><int/></type></argument><argument name='shmsize'><type><int/></type></argument><argument name='shmflg'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='bytes_to_allocate'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>
autodoc.git/onepage.xml:133635:   <method name='free'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-type='method'><doc><text><p><tt>mmap</tt> a file. This will always try to mmap the file in    PROT_READ|PROT_WRITE, readable and writable, but if it fails    it will try once more in PROT_READ only.</p>   </text></doc>   <method name='mmap'> - <arguments><argument name='file'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><object>Stdio.File</object></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='mmap'> - <arguments><argument name='file'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='offset'><type><int/></type></argument><argument name='size'><type><int/></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><object>Stdio.File</object></or></type></argument><argument name='offset'><type><int/></type></argument><argument name='size'><type><int/></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='mmap_private'> - <arguments><argument name='file'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><object>Stdio.File</object></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='mmap_private'> - <arguments><argument name='file'><type><or><string/><object resolved='predef::Stdio.File'>Stdio.File</object></or></type></argument><argument name='offset'><type><int/></type></argument><argument name='size'><type><int/></type></argument></arguments> + <arguments><argument name='file'><type><or><string/><object>Stdio.File</object></or></type></argument><argument name='offset'><type><int/></type></argument><argument name='size'><type><int/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-type='method'><doc><text><p>Read a string from the memory. The 16 and 32 variants reads    widestrings, 16 or 32 bits (2 or 4 bytes) wide, the i variants    in intel byteorder, the normal in network byteorder, and the n    variants in native byteorder.</p>   <p> <ref resolved='predef::System.Memory.pread.len'>len</ref> is the number of characters, wide or not. <ref resolved='predef::System.Memory.pread.pos'>pos</ref>    is the byte position (!).</p>   </text></doc>
autodoc.git/onepage.xml:134070:   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><group><param name='mutex'/><text><p>Optional <ref resolved='predef::Thread.Mutex'>Mutex</ref> that protects the resource that the    condition signals for.</p>   </text></group></doc>   <method name='create'>   <arguments><argument name='mutex'><type><or><object resolved='predef::Thread.Mutex'>Thread.Mutex</object><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> + <docgroup homogen-name='create' homogen-type='method'> + <method name='create'><modifiers><protected/></modifiers> + <arguments><argument name='mutex'><type><or><object resolved='predef::Thread.Mutex'>Mutex</object><void/></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='mutex' homogen-type='variable'> + <variable name='mutex'><modifiers><protected/></modifiers><type><or><object resolved='predef::Thread.Mutex'>Mutex</object><void/></or></type></variable> + </docgroup>   <docgroup homogen-name='signal' homogen-type='method'><doc><text><p><ref resolved='predef::Thread.Condition.signal'>signal()</ref> wakes up one of the threads currently waiting for the    condition.</p>   </text><group><note/><text><p>Sometimes more than one thread is woken up.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Thread.Condition.broadcast'>broadcast()</ref></p>   </text></group></doc>   <method name='signal'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:135174:   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='"module.pmod"' homogen-type='inherit'>   <inherit name='"module.pmod"'><modifiers><protected/></modifiers><classname resolved='predef::Tools.AutoDoc'>"module.pmod"</classname></inherit>   </docgroup>   <docgroup homogen-name='Tree' homogen-type='inherit'>   <inherit name='Tree'><modifiers><protected/></modifiers><classname resolved='predef::Parser.XML.Tree'>Parser.XML.Tree</classname></inherit>   </docgroup> - <class name='Annotation'> - <docgroup homogen-name='create' homogen-type='method'> - <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='tokens'><type><array><valuetype><string/></valuetype></array></type></argument></arguments> - <returntype><void/></returntype> - </method> - </docgroup> - <docgroup homogen-name='tokens' homogen-type='variable'> - <variable name='tokens'><type><array><valuetype><string/></valuetype></array></type></variable> - </docgroup> - </class> +    <class name='ArrayType'>   <doc><text><p>The class for representing array types.</p>   </text><group><seealso/><text><p><ref resolved='predef::Tools.AutoDoc.PikeObjects.Type'>Type</ref></p>   </text></group></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:135963:   </text></group></doc>   <method name='lookAhead'>   <arguments><argument name='offset'><type><int/></type></argument><argument name='with_newlines'><type><or><int/><void/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='parseAnnotation' homogen-type='method'><doc><text><p>Parse a single annotation from the token stream.</p>   </text></doc>   <method name='parseAnnotation'>   <arguments/> - <returntype><object resolved='predef::Tools.AutoDoc.PikeObjects.Annotation'>Annotation</object></returntype> + <returntype><object>Annotation</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='parseAnnotations' homogen-type='method'><doc><text><p>Parse a set of annotations from the token stream.</p>   </text></doc>   <method name='parseAnnotations'>   <arguments/> - <returntype><array><valuetype><object resolved='predef::Tools.AutoDoc.PikeObjects.Annotation'>Annotation</object></valuetype></array></returntype> + <returntype><array><valuetype><object>Annotation</object></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='parseArgList' homogen-type='method'><doc><text><p>Parse the list of arguments in a function declaration.</p>   </text><group><param name='allowLiterals'/><text><p>If allowLiterals != 0 then you can write a literal or Pike idents    as an argument, like:</p>   <code><text><p>void convert("jpeg", Image image, float quality)</p>   </text></code><p>For a literal arg, the argname[] string contains the literal and    the corresponding argtypes element is 0</p>   </text></group><group><note/><text><p>Expects that the arglist is followed by a ")".</p>   </text></group></doc>
autodoc.git/onepage.xml:135999:   <arguments/>   <returntype><object resolved='predef::Tools.AutoDoc.PikeObjects.ArrayType'>ArrayType</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='parseDecl' homogen-type='method'><doc><text><p>Parse the next Pike declaration from the token stream.</p>   </text><group><note/><text><p><ref resolved='predef::Tools.AutoDoc.PikeParser.parseDecl'>parseDecl()</ref> reads ONLY THE HEAD, NOT the <expr>";"</expr>    or <expr>"{" .. "}"</expr> !!!</p>   </text></group></doc>   <method name='parseDecl'>   <arguments><argument name='args'><type><or><mapping/><void/></or></type></argument></arguments> - <returntype><or><object resolved='predef::Tools.AutoDoc.PikeObjects.PikeObject'>PikeObject</object><array><valuetype><object resolved='predef::Tools.AutoDoc.PikeObjects.PikeObject'>PikeObject</object></valuetype></array><object resolved='predef::Tools.AutoDoc.PikeObjects.Annotation'>Annotation</object></or></returntype> + <returntype><or><object resolved='predef::Tools.AutoDoc.PikeObjects.PikeObject'>PikeObject</object><array><valuetype><object resolved='predef::Tools.AutoDoc.PikeObjects.PikeObject'>PikeObject</object></valuetype></array><object>Annotation</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='parseFunction' homogen-type='method'><doc><text><p>Parse a function type.</p>   </text></doc>   <method name='parseFunction'>   <arguments/>   <returntype><object resolved='predef::Tools.AutoDoc.PikeObjects.FunctionType'>FunctionType</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='parseIdents' homogen-type='method'><doc><text><p>Parse a '.'-separated identitifer string.</p>
autodoc.git/onepage.xml:136715:   </text></doc>   <method name='is_block'>   <arguments><argument name='pos'><type><int/></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   </class>   <class name='GenericAsyncHilfe'>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='infile'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument><argument name='outfile'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='infile'><type><object>Stdio.File</object></type></argument><argument name='outfile'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-type='variable'> - <variable name='infile'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></variable> - <variable name='outfile'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></variable> + <variable name='infile'><type><object>Stdio.File</object></type></variable> + <variable name='outfile'><type><object>Stdio.File</object></type></variable>   </docgroup>   <docgroup homogen-name='Evaluator' homogen-type='inherit'>   <inherit name='Evaluator'><classname resolved='predef::Tools.Hilfe.Evaluator'>Evaluator</classname></inherit>   </docgroup>   </class>   <class name='GenericHilfe'>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='in'><type><object resolved='predef::Stdio.FILE'>Stdio.FILE</object></type></argument><argument name='out'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='in'><type><object>Stdio.FILE</object></type></argument><argument name='out'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='Evaluator' homogen-type='inherit'>   <inherit name='Evaluator'><classname resolved='predef::Tools.Hilfe.Evaluator'>Evaluator</classname></inherit>   </docgroup>   </class>   <class name='HilfeHistory'>   <modifiers><protected/></modifiers>   <doc><text><p>In every Hilfe object (<ref resolved='predef::Tools.Hilfe.Evaluator'>Evaluator</ref>) there is a HilfeHistory
autodoc.git/onepage.xml:136855:   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='SubSysLogger'>   <modifiers><protected/></modifiers>   <class name='Logger'>   <modifiers><protected/></modifiers>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers> - <arguments><argument name='e'><type><object resolved='predef::Tools.Hilfe.Evaluator'>Evaluator</object></type></argument><argument name='logfile'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='e'><type><object resolved='predef::Tools.Hilfe.Evaluator'>Evaluator</object></type></argument><argument name='logfile'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-type='variable'>   <variable name='e'><type><object resolved='predef::Tools.Hilfe.Evaluator'>Evaluator</object></type></variable> - <variable name='logfile'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></variable> + <variable name='logfile'><type><object>Stdio.File</object></type></variable>   </docgroup>   </class>   </class>   </module>   <module name='Install'>   <doc><text><p>Common routines which are useful for various install scripts based on Pike.</p>   </text></doc>   <docgroup homogen-name='features' homogen-type='method'><doc><text><p>Return an array of enabled features.</p>   </text><group><note/><text><p>Used by the <ref resolved='predef::master'>master</ref> when given the option <tt>--features</tt>.</p>   </text></group><group><seealso/><text><p><ref>Tools.Standalone.features</ref></p>
autodoc.git/onepage.xml:137379:    when it has lots of open file descriptors. This can cause    considerable overhead in process creation.</p>   </text><group><seealso/><text><p><ref>Process.RemoteProcess</ref>, <ref resolved='predef::Process.create_process'>Process.create_process</ref></p>   </text></group></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <class name='FdStream'>   <doc><text><p>This is the main control <ref resolved='predef::Stdio.Fd'>Stdio.Fd</ref> and is    always on fd number <expr>3</expr>.</p> - <p> To spawn a new process, a new <ref resolved='predef::_Stdio.PROP_SEND_FD'>Stdio.PROP_SEND_FD</ref> + <p> To spawn a new process, a new <ref>Stdio.PROP_SEND_FD</ref>    capable <ref resolved='predef::Stdio.Fd'>Stdio.Fd</ref> is sent over this fd, and a    single byte of data is sent as payload.</p>   <p> The sent fd will become a <ref>ForkFd</ref> inside a <ref resolved='predef::Tools.Standalone.forkd.ForkStream'>ForkStream</ref>.</p>   </text></doc>   <docgroup homogen-name='File' homogen-type='inherit'> - <inherit name='File'><classname resolved='predef::Stdio.File'>Stdio.File</classname></inherit> + <inherit name='File'><classname>Stdio.File</classname></inherit>   </docgroup>   </class>   <class name='ForkStream'>   <doc><text><p>This class maps 1 to 1 to Process.RemoteProcess,    and implements the daemon side of the RPC protocol.</p>   <p> It contains an array (<ref resolved='predef::Tools.Standalone.forkd.ForkStream.fds'>fds</ref>) with the file descriptors    that have been received so far from the remote.</p>   </text></doc>   <docgroup homogen-name='fds' homogen-type='variable'><doc><text><p>The remote file descriptors received so far in order.</p>   </text></doc>   <variable name='fds'><type><array><valuetype><object resolved='predef::Stdio.Fd'>Stdio.Fd</object></valuetype></array></type></variable>   </docgroup>   <docgroup homogen-name='File' homogen-type='inherit'> - <inherit name='File'><classname resolved='predef::Stdio.File'>Stdio.File</classname></inherit> + <inherit name='File'><classname>Stdio.File</classname></inherit>   </docgroup>   </class>   </class>   <class name='git_export_autodoc'>   <doc><text><p>Tool for converting the Pike git repository to    a corresponding git repository containing the    extracted autodoc.xml and documentation.</p>   <p> It supports incremental operation, so that it    can be used to keep track with the source.</p>   <p> Typical use:
autodoc.git/onepage.xml:142688:    connection.</p>   </text></doc>   <method name='onrequest'><modifiers><final/></modifiers>   <arguments><argument name='req'><type><object resolved='predef::Protocols.WebSocket.Request'>Protocols.WebSocket.Request</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='open' homogen-type='method'><doc><text><p>Set callbacks and open socket.</p>   </text></doc>   <method name='open'><modifiers><final/></modifiers> - <arguments><argument name='_read_cb'><type><or><void/><function><argtype><or><string/><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></argtype><returntype><void/></returntype></function></or></type></argument><argument name='_close_cb'><type><or><void/><function><returntype><void/></returntype></function></or></type></argument><argument name='_lowmark_cb'><type><or><void/><function><returntype><void/></returntype></function></or></type></argument></arguments> + <arguments><argument name='_read_cb'><type><or><void/><function><argtype><or><string/><object>Stdio.Buffer</object></or></argtype><returntype><void/></returntype></function></or></type></argument><argument name='_close_cb'><type><or><void/><function><returntype><void/></returntype></function></or></type></argument><argument name='_lowmark_cb'><type><or><void/><function><returntype><void/></returntype></function></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='request' homogen-type='variable'><doc><text><p>Contains the last request seen on this connection.    Can be used to obtain cookies etc.</p>   </text></doc>   <variable name='request'><modifiers><final/></modifiers><type><object resolved='predef::Protocols.WebSocket.Request'>Protocols.WebSocket.Request</object></type></variable>   </docgroup>   <docgroup homogen-name='sid' homogen-type='variable'><doc><text><p>The unique session identifier (in the Engine.IO docs referred    to as simply: id).</p>   </text></doc>   <variable name='sid'><modifiers><final/></modifiers><type><string/></type></variable>   </docgroup> - <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Send text <ref>string</ref> or binary <ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref> messages.</p> + <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Send text <ref>string</ref> or binary <ref>Stdio.Buffer</ref> messages.</p>   </text></doc>   <method name='write'><modifiers><final/></modifiers> - <arguments><argument name='options'><type><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></type></argument><argument name='msgs'><type><varargs><or><string/><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></or></varargs></type></argument></arguments> + <arguments><argument name='options'><type><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></type></argument><argument name='msgs'><type><varargs><or><string/><object>Stdio.Buffer</object></or></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <class name='Transport'>   <docgroup homogen-name='close' homogen-type='method'><doc><text><p>Close the transport properly, notify the far end.</p>   </text></doc>   <method name='close'>   <arguments/>   <returntype><void/></returntype>   </method>
autodoc.git/onepage.xml:144692:   <constant name='IPPROTO_IP'/>   </docgroup>   <docgroup homogen-name='IPPROTO_TCP' homogen-type='constant'><doc><text><p>Used in <ref>File.setsockopt()</ref> to set TCP-level options</p>   </text></doc>   <constant name='IPPROTO_TCP'/>   </docgroup>   <docgroup homogen-name='IP_TOS' homogen-type='constant'><doc><text><p>Used in <ref>File.setsockopt()</ref> to set Type Of Service</p>   </text></doc>   <constant name='IP_TOS'/>   </docgroup> - <docgroup homogen-name='NOTE_ATTRIB' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_ATTRIB' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for attribute changes on a file.</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_ATTRIB'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='NOTE_DELETE' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_DELETE' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for deletion of a file.</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_DELETE'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='NOTE_EXTEND' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_EXTEND' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for extension events on a file.</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_EXTEND'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='NOTE_LINK' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_LINK' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for changes to a file's link count.</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_LINK'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='NOTE_RENAME' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_RENAME' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for move or rename events on a file.</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_RENAME'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='NOTE_REVOKE' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_REVOKE' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for access revokation (unmount, etc).</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_REVOKE'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='NOTE_WRITE' homogen-type='constant'><doc><text><p>Used with <ref resolved='predef::Stdio.File.set_fs_event_callback'>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor + <docgroup homogen-name='NOTE_WRITE' homogen-type='constant'><doc><text><p>Used with <ref>Stdio.File()-&gt;set_fs_event_callback()</ref> to monitor    for writes to a file.</p>   </text><group><note/><text><p>Available on systems that use kqueue.</p>   </text></group></doc>   <constant name='NOTE_WRITE'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='PROP_BIDIRECTIONAL' homogen-type='constant'><doc><text><p>The file is bi-directional.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_BIDIRECTIONAL'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='PROP_BUFFERED' homogen-type='constant'><doc><text><p>The file is buffered (usually 4KB).</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_BUFFERED'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='PROP_IPC' homogen-type='constant'><doc><text><p>The file may be used for inter process communication.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_IPC'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='PROP_NONBLOCK' homogen-type='constant'><doc><text><p>The file supports nonblocking I/O.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_NONBLOCK'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='PROP_REVERSE' homogen-type='constant'><doc><text><p>Request reversed operation.</p> - <p> Used as argument to <ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref>, when + <p> Used as argument to <ref>Stdio.File()-&gt;pipe()</ref>, when    <ref resolved='predef::_Stdio.PROP_BIDIRECTIONAL'>PROP_BIDIRECTIONAL</ref> hasn't been specified, to    request the direction of the resulting pipe to    reversed.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_REVERSE'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='PROP_SEND_FD' homogen-type='constant'><doc><text><p>The <ref resolved='predef::Stdio.File'>Stdio.File</ref> object might support the <ref resolved='predef::Stdio.File.send_fd'>Stdio.File()-&gt;send_fd()</ref> + <docgroup homogen-name='PROP_SEND_FD' homogen-type='constant'><doc><text><p>The <ref>Stdio.File</ref> object might support the <ref>Stdio.File()-&gt;send_fd()</ref>    operation.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref>, <ref resolved='predef::Stdio.File.send_fd'>Stdio.File()-&gt;send_fd()</ref>, + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref>, <ref>Stdio.File()-&gt;send_fd()</ref>,    <ref>Stdio.File()-&gt;receive_fd()</ref></p>   </text></group></doc>   <constant name='PROP_SEND_FD'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='PROP_SHUTDOWN' homogen-type='constant'><doc><text><p>The file supports shutting down transmission in either    direction.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.close'>Stdio.File()-&gt;close()</ref>, <ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;close()</ref>, <ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_SHUTDOWN'><type><int/></type></constant>   </docgroup> - <docgroup homogen-name='PROP_TTY' homogen-type='constant'><doc><text><p>The <ref resolved='predef::Stdio.File'>Stdio.File</ref> object supports tty operations.</p> + <docgroup homogen-name='PROP_TTY' homogen-type='constant'><doc><text><p>The <ref>Stdio.File</ref> object supports tty operations.</p>   </text><group><note/><text><p>This constant is only present on platforms where pseudo tty    (aka pty) operations are available, and may thus be used to    detect whether such operations should be attempted.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='PROP_TTY'><type><int/></type></constant>   </docgroup>   <docgroup homogen-name='SOL_SOCKET' homogen-type='constant'><doc><text><p>Used in <ref>File.setsockopt()</ref> to set socket-level options</p>   </text></doc>   <constant name='SOL_SOCKET'/>   </docgroup>   <docgroup homogen-name='SO_KEEPALIVE' homogen-type='constant'><doc><text><p>Used in <ref>File.setsockopt()</ref> to control TCP/IP keep-alive packets.</p>   </text></doc>   <constant name='SO_KEEPALIVE'/>
autodoc.git/onepage.xml:144812:    which will fail the the attribute does not already exists.</p>   </text></doc>   <constant name='XATTR_REPLACE'/>   </docgroup>   <docgroup homogen-name='__HAVE_OOB__' homogen-type='constant'><doc><text><p>Exists and has the value 1 if OOB operations are available.</p>   </text><group><note/><text><p>In Pike 7.5 and later OOB operations are always present.</p>   </text></group></doc>   <constant name='__HAVE_OOB__'/>   </docgroup>   <docgroup homogen-name='__HAVE_SEND_FD__' homogen-type='constant'><doc><text><p>Support for sending of file descriptors over -  <ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref> objects with <ref resolved='predef::_Stdio.PROP_SEND_FD'>PROP_SEND_FD</ref> +  <ref>Stdio.File()-&gt;pipe()</ref> objects with <ref resolved='predef::_Stdio.PROP_SEND_FD'>PROP_SEND_FD</ref>    capability is supported.</p> - </text><group><seealso/><text><p><ref resolved='predef::Stdio.File.send_fd'>Stdio.File()-&gt;send_fd()</ref>, <ref>Stdio.File()-&gt;receive_fd()</ref>, -  <ref resolved='predef::Stdio.File.read'>Stdio.File()-&gt;read()</ref>, <ref>Stdio.File()-&gt;write()</ref>, -  <ref resolved='predef::Stdio.File.pipe'>Stdio.File()-&gt;pipe()</ref></p> + </text><group><seealso/><text><p><ref>Stdio.File()-&gt;send_fd()</ref>, <ref>Stdio.File()-&gt;receive_fd()</ref>, +  <ref>Stdio.File()-&gt;read()</ref>, <ref>Stdio.File()-&gt;write()</ref>, +  <ref>Stdio.File()-&gt;pipe()</ref></p>   </text></group></doc>   <constant name='__HAVE_SEND_FD__'/>   </docgroup>   <docgroup homogen-name='__OOB__' homogen-type='constant'><doc><text><p>Implementation level of nonblocking I/O OOB support.</p>   <int><group><value>0</value><text><p>Nonblocking OOB support is not supported.</p>   </text></group><group><value>1</value><text><p>Nonblocking OOB works a little.</p>   </text></group><group><value>2</value><text><p>Nonblocking OOB almost works.</p>   </text></group><group><value>3</value><text><p>Nonblocking OOB works as intended.</p>   </text></group><group><value>-1</value><text><p>Unknown level of nonblocking OOB support.</p>   </text></group></int><p>This constant only exists when OOB operations are
autodoc.git/onepage.xml:144876:    offset (the end of the buffer), and reading is done from the read    offset (the start of the buffer).</p>   <p> The class can also be used to directly read from and write to    filedescriptors if so desired. This eliminates at least one memory    copy.</p>   </text><group><note/><text><p>The "avoid copy" part means that a Buffer will never shrink    unless you call the <ref resolved='predef::_Stdio.Buffer.trim'>trim</ref> function.</p>   </text></group></doc>   <docgroup homogen-name='__set_on_write' homogen-type='method'><doc><text><p>This tells the buffer to trigger the write callback for the    specified file descriptor when data is added to the buffer.</p> - </text><group><note/><text><p>This is used internally by <ref resolved='predef::Stdio.File'>Stdio.File</ref> and <ref resolved='predef::SSL.File'>SSL.File</ref> to + </text><group><note/><text><p>This is used internally by <ref>Stdio.File</ref> and <ref resolved='predef::SSL.File'>SSL.File</ref> to    handle nonblocking buffered mode, and is not necessarily    intended to be used directly by anything but implementations    of File or Stream like programs. Do not use this yourself    on buffers with Files or Streams in buffer modes.</p>   </text></group></doc>   <method name='__set_on_write'>   <arguments><argument name='write_callback'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:144957:   <returntype><int><min>-1</min><max>255</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='`[]=' homogen-type='method'><doc><text><p>Set the character at the specified offset to <ref resolved='predef::_Stdio.Buffer.`[]=.char'>char</ref>.</p>   </text></doc>   <method name='`[]='><modifiers><protected/></modifiers>   <arguments><argument name='off'><type><int/></type></argument><argument name='char'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='add' homogen-type='method'><doc><text><code><text><p>private typedef <ref resolved='predef::System.Memory'>System.Memory</ref>|<ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref>|<ref resolved='predef::String.Buffer'>String.Buffer</ref> BufferObject; + <docgroup homogen-name='add' homogen-type='method'><doc><text><code><text><p>private typedef <ref resolved='predef::System.Memory'>System.Memory</ref>|<ref>Stdio.Buffer</ref>|<ref resolved='predef::String.Buffer'>String.Buffer</ref> BufferObject;    private typedef BufferObject|string(8bit)|int(8bit)|array(AddArgument) AddArgument;</p>   </text></code><p>Add the items in data to the end of the buffer.</p>   <p> The supported argument types are:</p>   <mixed><group><type><string><min>0</min><max>255</max></string></type><text><p>An eight bit string.</p>   </text></group><group><type><int><min>0</min><max>255</max></int></type><text><p>A single byte</p>   </text></group><group><type><object resolved='predef::System.Memory'>System.Memory</object></type><text><p>A chunk of memory. The whole memory area is added.</p> - </text></group><group><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type><text><p>A chunk of memory. The whole memory area is added.</p> + </text></group><group><type><object>Stdio.Buffer</object></type><text><p>A chunk of memory. The whole memory area is added.</p>   </text></group><group><type><object resolved='predef::String.Buffer'>String.Buffer</object></type><text><p>A chunk of memory. The whole memory area is added.</p>   </text></group><group><type><array><valuetype><object>AddArgument</object></valuetype></array></type><text><p>Add all elements in the array individually. Each element may be    any one of the types listed here.</p>   </text></group></mixed>   </text><group><seealso/><text><p><ref resolved='predef::_Stdio.Buffer.sprintf'>sprintf</ref>, <ref resolved='predef::_Stdio.Buffer.add_int8'>add_int8</ref>, <ref resolved='predef::_Stdio.Buffer.add_int16'>add_int16</ref>, <ref resolved='predef::_Stdio.Buffer.add_int32'>add_int32</ref>, <ref resolved='predef::_Stdio.Buffer.add_int'>add_int</ref>    and    <ref resolved='predef::_Stdio.Buffer.add_hstring'>add_hstring</ref></p>   </text></group></doc>   <method name='add'>   <arguments><argument name='data'><type><varargs><object>AddArgument</object></varargs></type></argument></arguments>
autodoc.git/onepage.xml:145001:    significantly faster.</p>   <p> <ref resolved='predef::_Stdio.Buffer.add_hstring.size_size'>size_size</ref> is the number of bytes used to represent the length of the data.    It must be less than Int.NATIVE_MAX.</p>   <p> <ref resolved='predef::_Stdio.Buffer.add_hstring.offset'>offset</ref> is added to the length of the data prior to writing out    the length. Typical usage involves adding <ref resolved='predef::_Stdio.Buffer.add_hstring.size_size'>size_size</ref> to account    for the room used by the size.</p>   <p> The supported <ref resolved='predef::_Stdio.Buffer.add_hstring.data'>data</ref> argument types are</p>   <mixed><group><type><int><min>0</min><max>255</max></int></type><text><p>An eight bit character.</p>   </text></group><group><type><string><min>0</min><max>255</max></string></type><text><p>An eight bit string.</p>   </text></group><group><type><object resolved='predef::System.Memory'>System.Memory</object></type><text><p>A chunk of memory. The whole memory area is added.</p> - </text></group><group><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type><text><p>A chunk of memory. The whole memory area is added.</p> + </text></group><group><type><object>Stdio.Buffer</object></type><text><p>A chunk of memory. The whole memory area is added.</p>   </text></group><group><type><object resolved='predef::String.Buffer'>String.Buffer</object></type><text><p>A chunk of memory. The whole memory area is added.</p>   </text></group><group><type><array/></type><text><p>Add all elements in the array individually. Each element may be    any one of the types listed here.</p>   </text></group></mixed></text></doc>   <method name='add_hstring'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument><argument name='size_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   <method name='add_hstring'> - <arguments><argument name='data'><type><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object></type></argument><argument name='size_size'><type><int/></type></argument></arguments> + <arguments><argument name='data'><type><object>Stdio.Buffer</object></type></argument><argument name='size_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   <method name='add_hstring'>   <arguments><argument name='data'><type><object resolved='predef::System.Memory'>System.Memory</object></type></argument><argument name='size_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   <method name='add_hstring'>   <arguments><argument name='data'><type><object resolved='predef::String.Buffer'>String.Buffer</object></type></argument><argument name='size_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   <method name='add_hstring'>   <arguments><argument name='data'><type><int><min>0</min><max>255</max></int></type></argument><argument name='size_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   <method name='add_hstring'>   <arguments><argument name='data'><type><array/></type></argument><argument name='size_size'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   <method name='add_hstring'> - <arguments><argument name='data'><type><or><int/><string><min>0</min><max>255</max></string><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><array/></or></type></argument><argument name='size_size'><type><int/></type></argument><argument name='offset'><type><int/></type></argument></arguments> + <arguments><argument name='data'><type><or><int/><string><min>0</min><max>255</max></string><object>Stdio.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object><array/></or></type></argument><argument name='size_size'><type><int/></type></argument><argument name='offset'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='add_int' homogen-type='method'><doc><text><p>Adds a generic integer to the buffer as an (width*8)bit    network byteorder number.</p>   <p> <ref resolved='predef::_Stdio.Buffer.add_int.width'>width</ref> must be less than Int.NATIVE_MAX.</p>   </text></doc>   <method name='add_int'>   <arguments><argument name='i'><type><int/></type></argument><argument name='width'><type><int><min>0</min><max/></int></type></argument></arguments>   <returntype><object resolved='predef::_Stdio.Buffer'>Buffer</object></returntype>
autodoc.git/onepage.xml:145178:   </method>   </docgroup>   <docgroup homogen-name='input_from' homogen-type='method'><doc><text><p>Read data from <ref resolved='predef::_Stdio.Buffer.input_from.f'>f</ref> into this buffer. If <ref resolved='predef::_Stdio.Buffer.input_from.nbytes'>nbytes</ref> is not    specified, read until there is no more data to read (currently).</p>   <p> Returns the amount of data that was read, or <expr>-1</expr> on    read error.</p>   </text><group><note/><text><p>Please note that this funcition will read all data from the    filedescriptor unless it's set to be non-blocking.</p>   </text></group></doc>   <method name='input_from'> - <arguments><argument name='f'><type><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></type></argument><argument name='nbytes'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='f'><type><object>Stdio.Stream</object></type></argument><argument name='nbytes'><type><or><int/><void/></or></type></argument></arguments>   <returntype><int><min>-1</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='lock' homogen-type='method'><doc><text><p>Makes this buffer read only until the returned object is released.</p>   </text><group><note/><text><p>This currently simply returns a 0-length subbuffer.</p>   </text></group></doc>   <method name='lock'>   <arguments/>   <returntype><object resolved='predef::_Stdio.Buffer.lock'/></returntype>   </method>
autodoc.git/onepage.xml:145206:   </text><group><example/><text><code><text><p>// get the next whitespace separated word from the buffer.    buffer-&gt;match("%*[ \t\r\n]%[^ \t\r\n]");</p>   </text></code></text></group></doc>   <method name='match'>   <arguments><argument name='format'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='output_to' homogen-type='method'><doc><text><p>Write data from the buffer to the indicated file.</p>   </text><group><param name='fun'/><text><p>Write function. Either one of:</p> - <mixed><group><type><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></type><text><p>A file object in which the function <expr>write()</expr> will + <mixed><group><type><object>Stdio.Stream</object></type><text><p>A file object in which the function <expr>write()</expr> will    be called.</p>   </text></group><group><type><function><argtype><string><min>0</min><max>255</max></string></argtype><returntype><int/></returntype></function></type><text><p>A function which will be called with a <expr>string(8bit)</expr>    to write and is expected to return an <expr>int</expr> indicating    the number of bytes successfully written or <expr>-1</expr> on    failure.</p>   </text></group></mixed>   </text></group><group><param name='nbytes'/><text><p>If <ref resolved='predef::_Stdio.Buffer.output_to.nbytes'>nbytes</ref> is not specified the whole buffer will be written    if possible. Otherwise at most <ref resolved='predef::_Stdio.Buffer.output_to.nbytes'>nbytes</ref> will be written.</p>   </text></group><group><returns/><text><p>Will return the number of bytes that have been written successfully.</p>   <p> If no bytes have been written successfully and <expr>fun()</expr> failed    with an error, <expr>-1</expr> will be returned.</p>   </text></group><group><deprecated/><text><p>This function is going to get deprecated. In case you want to use -  it against an <ref resolved='predef::Stdio.File'>Stdio.File</ref> like object, please consider using +  it against an <ref>Stdio.File</ref> like object, please consider using    the <expr>f-&gt;write(buf)</expr> API. If you want to use it against a custom    write function, please consider supporting the <expr>f-&gt;write(buf)</expr>    API in it.</p>   </text></group></doc>   <method name='output_to'> - <arguments><argument name='fun'><type><or><object resolved='predef::Stdio.Stream'>Stdio.Stream</object><function><argtype><string><min>0</min><max>255</max></string></argtype><returntype><int/></returntype></function></or></type></argument><argument name='nbytes'><type><or><int><min>0</min><max/></int><void/></or></type></argument></arguments> + <arguments><argument name='fun'><type><or><object>Stdio.Stream</object><function><argtype><string><min>0</min><max>255</max></string></argtype><returntype><int/></returntype></function></or></type></argument><argument name='nbytes'><type><or><int><min>0</min><max/></int><void/></or></type></argument></arguments>   <returntype><int><min>-1</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='range_error' homogen-type='method'><doc><text><p>This function is called when an attempt is made to read out of bounds.</p>   <p> The default implementation simply returns <expr>0</expr> (zero).</p>   <p> Override this function to change the behavior.</p>   </text><group><param name='howmuch'/><text><p>The argument <ref resolved='predef::_Stdio.Buffer.range_error.howmuch'>howmuch</ref> indicates how much data is needed:</p>   <int><group><value><minvalue>1</minvalue></value><text><p>Need <ref resolved='predef::_Stdio.Buffer.range_error.howmuch'>howmuch</ref> bytes more</p>   </text></group><group><value>0</value><text><p>The amount of data needed is not certain.    This most often happens when <ref resolved='predef::_Stdio.Buffer.sscanf'>sscanf</ref> or <ref resolved='predef::_Stdio.Buffer.read_json'>read_json</ref> is used</p>
autodoc.git/onepage.xml:145645:   </text></doc>   <method name='update'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   </class>   <class name='Fd'>   <doc><text><p>Low level I/O operations.</p> - </text><group><note/><text><p>This is not the class you want. Use <ref resolved='predef::Stdio.File'>Stdio.File</ref> and friends instead.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref>, <ref resolved='predef::_Stdio.Fd_ref'>_Stdio.Fd_ref</ref></p> + </text><group><note/><text><p>This is not the class you want. Use <ref>Stdio.File</ref> and friends instead.</p> + </text></group><group><seealso/><text><p><ref>Stdio.File</ref>, <ref>Stdio.FILE</ref>, <ref resolved='predef::_Stdio.Fd_ref'>_Stdio.Fd_ref</ref></p>   </text></group></doc>   <docgroup homogen-name='_errno' homogen-type='variable'><doc><text><p>Variable containing the internal value returned by <ref resolved='predef::_Stdio.Fd.errno'>errno()</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::_Stdio.Fd.errno'>errno()</ref></p>   </text></group></doc>   <variable name='_errno'><modifiers><protected/></modifiers><type><int><min>0</min><max/></int></type></variable>   </docgroup>   <docgroup homogen-name='_fd' homogen-type='variable'><doc><group><note/><text><p>Read only</p>   </text></group></doc>   <variable name='_fd'><type><object resolved='predef::_Stdio.Fd'>Fd</object></type></variable>   </docgroup> - <docgroup homogen-type='variable'><doc><text><p>Callback functions installed by <ref resolved='predef::Stdio.File.set_callbacks'>Stdio.File()-&gt;set_callbacks()</ref> et al.</p> + <docgroup homogen-type='variable'><doc><text><p>Callback functions installed by <ref>Stdio.File()-&gt;set_callbacks()</ref> et al.</p>   </text></doc>   <variable name='_read_callback'><type><mixed/></type></variable>   <variable name='_write_callback'><type><mixed/></type></variable>   <variable name='_read_oob_callback'><type><mixed/></type></variable>   <variable name='_write_oob_callback'><type><mixed/></type></variable>   <variable name='_fs_event_callback'><type><mixed/></type></variable>   </docgroup>   <docgroup homogen-name='close' homogen-type='method'><doc><text><p>Close a file or stream.</p>   <p> If direction is not specified, both the read and the write    direction are closed. Otherwise only the directions specified is
autodoc.git/onepage.xml:145775:    the argument a reference to the same file, it creates a new file    with the same properties and places it in the argument.</p>   </text><group><returns/><text><p>Returns <expr>1</expr> on success and <expr>0</expr> (zero) on failure.</p>   </text></group><group><note/><text><p><ref resolved='predef::_Stdio.Fd.dup2.to'>to</ref> need not be open, in which    case a new fd is allocated.</p>   </text></group><group><note/><text><p>Note also that <ref resolved='predef::_Stdio.Fd.dup2.to'>to</ref> is also assigned to the same backend (if any)    as this object.</p>   </text></group><group><seealso/><text><p><ref>assign()</ref>, <ref resolved='predef::_Stdio.Fd.dup'>dup()</ref></p>   </text></group></doc>   <method name='dup2'> - <arguments><argument name='to'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='to'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='errno' homogen-type='method'><doc><text><p>Return the errno for the latest failed file operation.</p>   </text></doc>   <method name='errno'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='fd_factory' homogen-type='method'><doc><text><p>Factory creating <ref resolved='predef::Stdio.Fd'>Stdio.Fd</ref> objects.</p>   <p> This function is called by <ref resolved='predef::_Stdio.Fd.openat'>openat()</ref>, <ref resolved='predef::_Stdio.Fd.pipe'>pipe()</ref>, <ref resolved='predef::_Stdio.Fd.dup'>dup()</ref>    and other functions creating new file objects.</p>   <p> The default implementation calls <expr>object_program(this_object())()</expr>    to create the new object, and returns the <ref resolved='predef::_Stdio.Fd'>Fd</ref> inherit in it.</p>   </text><group><note/><text><p>Note that this function must return the <ref resolved='predef::_Stdio.Fd'>Fd</ref> inherit in the object.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.Port.fd_factory'>Stdio.Port()-&gt;fd_factory()</ref>, <ref resolved='predef::_Stdio.Fd.openat'>openat()</ref>, <ref resolved='predef::_Stdio.Fd.pipe'>pipe()</ref></p> + </text></group><group><seealso/><text><p><ref>Stdio.Port()-&gt;fd_factory()</ref>, <ref resolved='predef::_Stdio.Fd.openat'>openat()</ref>, <ref resolved='predef::_Stdio.Fd.pipe'>pipe()</ref></p>   </text></group></doc>   <method name='fd_factory'>   <arguments/>   <returntype><object resolved='predef::_Stdio.Fd'>Fd</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_dir' homogen-type='method'><doc><text><p>Get directory contents relative to an open directory.</p>   </text><group><param name='path'/><text><p>Path relative to the open directory. Defaults to the    directory itself.</p>   </text></group><group><returns/><text><p>Returns an array of filenames.</p>
autodoc.git/onepage.xml:145966:   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='openat' homogen-type='method'><doc><text><p>Open a file relative to an opened directory.</p>   </text><group><returns/><text><p>Returns a new file object on success, and <expr>0</expr> (zero) on failure.</p>   </text></group><group><note/><text><p>Not available on all architectures.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.Fd.open'>open()</ref>, <ref resolved='predef::_Stdio.Fd.statat'>statat()</ref>, <ref resolved='predef::_Stdio.Fd.unlinkat'>unlinkat()</ref></p>   </text></group></doc>   <method name='openat'>   <arguments><argument name='filename'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   <method name='openat'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   <method name='openat'>   <arguments><argument name='filename'><type><string/></type></argument><argument name='mode'><type><string/></type></argument><argument name='access'><type><int/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='openpt' homogen-type='method'><doc><text><p>Open the master end of a pseudo-terminal pair.</p>   </text><group><returns/><text><p>This function returns <expr>1</expr> for success, <expr>0</expr> otherwise.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.Fd.grantpt'>grantpt()</ref></p>   </text></group></doc>   <method name='openpt'>   <arguments><argument name='mode'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>
autodoc.git/onepage.xml:146027:   <returntype><int><min>-1</min><max>1</max></int></returntype>   </method>   <method name='peek'>   <arguments><argument name='timeout'><type><or><int/><float/></or></type></argument><argument name='not_eof'><type><int/></type></argument></arguments>   <returntype><int><min>-1</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='pipe' homogen-type='method'>   <method name='pipe'>   <arguments/> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   <method name='pipe'>   <arguments><argument name='flags'><type><int/></type></argument></arguments> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='proxy' homogen-type='method'><doc><text><p>Starts a thread that asynchronously copies data from <ref resolved='predef::_Stdio.Fd.proxy.from'>from</ref>    to this file.</p>   </text><group><seealso/><text><p><ref resolved='predef::Stdio.sendfile'>Stdio.sendfile()</ref></p>   </text></group></doc>   <method name='proxy'> - <arguments><argument name='from'><type><object resolved='predef::Stdio.File'>Stdio.File</object></type></argument></arguments> + <arguments><argument name='from'><type><object>Stdio.File</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='query_address' homogen-type='method'><doc><text><p>Get address and port of a socket end-point.</p>   </text><group><param name='local'/><text><p>If the argument <ref resolved='predef::_Stdio.Fd.query_address.local'>local</ref> is not specified, or is <expr>0</expr>    (zero), the remote end-point is returned. Otherwise, if <ref resolved='predef::_Stdio.Fd.query_address.local'>local</ref>    is <expr>1</expr>, the local end-point is returned.</p>   </text></group><group><returns/><text><p>This function returns the address and port of a socket end-point    on the form <expr>"x.x.x.x port"</expr> (IPv4) or    <expr>"x:x:x:x:x:x:x:x port"</expr> (IPv6). IPv6 addresses
autodoc.git/onepage.xml:146157:   </method>   </docgroup>   <docgroup homogen-name='read' homogen-type='method'><doc><text><p>Reads data from a file or stream into the buffer <ref resolved='predef::_Stdio.Fd.read.dst'>dst</ref>. Tries to    read as many bytes as buffer space available.    Will advance the write position in <ref resolved='predef::_Stdio.Fd.read.dst'>dst</ref> by the number of bytes    read.</p>   </text><group><returns/><text><p>The number of bytes read. Returns <expr>-1</expr> on error and    <ref resolved='predef::_Stdio.Fd.errno'>errno()</ref> will return the corresponding error code.</p>   </text></group></doc>   <method name='read'> - <arguments><argument name='dst'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object></or></type></argument></arguments> + <arguments><argument name='dst'><type><or><object>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='read_oob' homogen-type='method'><doc><text><p>Attempts to read <ref resolved='predef::_Stdio.Fd.read_oob.len'>len</ref> bytes of out-of-band data from the stream,    and returns it as a string. Less than <ref resolved='predef::_Stdio.Fd.read_oob.len'>len</ref> bytes can be returned    if:</p>   <ul><group><item/><text><p>the stream has been closed from the other end, or</p>   </text></group><group><item/><text><p>nonblocking mode is used, or</p>   </text></group><group><item/><text><p><ref resolved='predef::_Stdio.Fd.read_oob.not_all'>not_all</ref> is set, or</p>   </text></group><group><item/><text><p><ref resolved='predef::_Stdio.Fd.read_oob.not_all'>not_all</ref> isn't set and an error occurred (see below).</p>
autodoc.git/onepage.xml:146434:   </text><group><returns/><text><p>1 if successful, 0 if not (and sets errno())</p>   </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.Fd.set_keepalive'>set_keepalive()</ref></p>   </text></group></doc>   <method name='setsockopt'>   <arguments><argument name='level'><type><int/></type></argument><argument name='opt'><type><int/></type></argument><argument name='state'><type><int/></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='setxattr' homogen-type='method'><doc><text><p>Set the attribute <ref resolved='predef::_Stdio.Fd.setxattr.attr'>attr</ref> to the value <ref resolved='predef::_Stdio.Fd.setxattr.value'>value</ref>.</p>   <p> The flags parameter can be used to refine the semantics of the operation.</p> - <p> <ref resolved='predef::_Stdio.XATTR_CREATE'>Stdio.XATTR_CREATE</ref> specifies a pure create, which + <p> <ref>Stdio.XATTR_CREATE</ref> specifies a pure create, which    fails if the named attribute exists already.</p> - <p> <ref resolved='predef::_Stdio.XATTR_REPLACE'>Stdio.XATTR_REPLACE</ref> specifies a pure replace operation, which + <p> <ref>Stdio.XATTR_REPLACE</ref> specifies a pure replace operation, which    fails if the named attribute does not already exist.</p>   <p> By default (no flags), the extended attribute will be created if need be,    or will simply replace the value if the attribute exists.</p>   </text><group><returns/><text><p>1 if successful, 0 otherwise, setting errno.</p>   </text></group></doc>   <method name='setxattr'>   <arguments><argument name='attr'><type><string/></type></argument><argument name='value'><type><string/></type></argument><argument name='flags'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:146586:   </method>   <method name='write'>   <arguments><argument name='data'><type><array><valuetype><string/></valuetype></array></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='write'>   <arguments><argument name='format'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='write'> - <arguments><argument name='data'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object></or></type></argument><argument name='offset'><type><or><void/><int><min>0</min><max/></int></or></type></argument></arguments> + <arguments><argument name='data'><type><or><object>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object></or></type></argument><argument name='offset'><type><or><void/><int><min>0</min><max/></int></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='write_oob' homogen-type='method'><doc><text><p>Write out-of-band data to a stream.</p>   <p> Writes out-of-band data to a stream and returns how many bytes    that were actually written. It can be less than the size of the    given data if some data was written successfully and then    something went wrong.</p>   <p> -1 is returned if something went wrong and no bytes were written.    If only some data was written due to an error and that error
autodoc.git/onepage.xml:146623:   <method name='write_oob'>   <arguments><argument name='format'><type><string/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   </class>   <class name='Fd_ref'>   <doc><text><p>Proxy class that contains stub functions    that call the corresponding functions in    <ref resolved='predef::_Stdio.Fd'>Fd</ref>.</p> - <p> Used by <ref resolved='predef::Stdio.File'>Stdio.File</ref>.</p> - </text><group><note/><text><p>This is not the class you want. Use <ref resolved='predef::Stdio.File'>Stdio.File</ref> and friends instead.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::Stdio.FILE'>Stdio.FILE</ref>, <ref resolved='predef::_Stdio.Fd'>_Stdio.Fd</ref></p> + <p> Used by <ref>Stdio.File</ref>.</p> + </text><group><note/><text><p>This is not the class you want. Use <ref>Stdio.File</ref> and friends instead.</p> + </text></group><group><seealso/><text><p><ref>Stdio.File</ref>, <ref>Stdio.FILE</ref>, <ref resolved='predef::_Stdio.Fd'>_Stdio.Fd</ref></p>   </text></group></doc>   <docgroup homogen-name='_fd' homogen-type='variable'><doc><text><p>Object to which called functions are relayed.</p>   </text></doc>   <variable name='_fd'><type><object resolved='predef::_Stdio.Fd'>Fd</object></type></variable>   </docgroup>   <docgroup homogen-name='Fd' homogen-type='inherit'><doc><text><p>Fake inherit to propagate the documentation    from <ref resolved='predef::_Stdio.Fd'>_Stdio.Fd</ref>.</p>   </text></doc>   <inherit name='Fd'><classname resolved='predef::_Stdio.Fd'>Fd</classname></inherit>   </docgroup>
autodoc.git/onepage.xml:146761:   <docgroup homogen-name='close' homogen-type='method'><doc><text><p>Closes an open UDP port.</p>   </text><group><note/><text><p>This method was introduced in Pike 7.5.</p>   </text></group></doc>   <method name='close'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='connect' homogen-type='method'><doc><text><p>Establish an UDP connection.</p>   <p> This function connects an UDP socket previously created with -  <ref resolved='predef::Stdio.UDP'>Stdio.UDP()</ref> to a remote socket. The <ref resolved='predef::_Stdio.UDP.connect.address'>address</ref> is the IP name or +  <ref>Stdio.UDP()</ref> to a remote socket. The <ref resolved='predef::_Stdio.UDP.connect.address'>address</ref> is the IP name or    number for the remote machine.</p>   </text><group><returns/><text><p>Returns <expr>1</expr> on success, <expr>0</expr> (zero) otherwise.</p>   </text></group><group><note/><text><p>If the socket is in nonblocking mode, you have to wait    for a write or close callback before you know if the connection    failed or not.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.UDP.bind'>bind()</ref>, <ref resolved='predef::_Stdio.UDP.query_address'>query_address()</ref></p>   </text></group></doc>   <method name='connect'>   <arguments><argument name='address'><type><string/></type></argument><argument name='port'><type><or><int/><string/></or></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>
autodoc.git/onepage.xml:146796:   <method name='drop_membership'>   <arguments><argument name='group'><type><string/></type></argument><argument name='address'><type><or><void/><string/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='dup' homogen-type='method'><doc><text><p>Duplicate the udp socket.</p>   </text><group><seealso/><text><p><ref resolved='predef::_Stdio.UDP.fd_factory'>fd_factory()</ref></p>   </text></group></doc>   <method name='dup'>   <arguments/> - <returntype><object resolved='predef::Stdio.UDP'>Stdio.UDP</object></returntype> + <returntype><object>Stdio.UDP</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='enable_broadcast' homogen-type='method'><doc><text><p>Set the broadcast flag.    If enabled then sockets receive packets sent to a broadcast    address and they are allowed to send packets to a    broadcast address.</p>   </text><group><returns/><text><p>Returns <expr>1</expr> on success, <expr>0</expr> (zero) otherwise.</p>   </text></group><group><note/><text><p>This is normally only avalable to root users.</p>   </text></group></doc>   <method name='enable_broadcast'>
autodoc.git/onepage.xml:146830:   </method>   </docgroup>   <docgroup homogen-name='errno' homogen-type='method'><doc><text><p>Returns the error code for the last command on this object.    Error code is normally cleared when a command is successful.</p>   </text></doc>   <method name='errno'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='fd_factory' homogen-type='method'><doc><text><p>Factory creating <ref resolved='predef::Stdio.UDP'>Stdio.UDP</ref> objects.</p> + <docgroup homogen-name='fd_factory' homogen-type='method'><doc><text><p>Factory creating <ref>Stdio.UDP</ref> objects.</p>   <p> This function is called by <ref resolved='predef::_Stdio.UDP.dup'>dup()</ref>    and other functions creating new UDP objects.</p>   <p> The default implementation calls <expr>object_program(this_object())()</expr>    to create the new object, and returns the <ref resolved='predef::_Stdio.UDP'>UDP</ref> inherit in it.</p>   </text><group><note/><text><p>Note that this function must return the <ref resolved='predef::_Stdio.UDP'>UDP</ref> inherit in the object.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::_Stdio.UDP.dup'>dup()</ref>, <ref>Stdio.File()-&gt;fd_factory()</ref></p>   </text></group></doc>   <method name='fd_factory'>   <arguments/>   <returntype><object resolved='predef::_Stdio.UDP'>UDP</object></returntype>
autodoc.git/onepage.xml:147040:    it as a connected socket.</p>   <p> If no connection request is waiting and the port is in nonblocking    mode (i.e. an accept callback is installed) then zero is returned.    Otherwise this function waits until a connection has arrived.</p>   <p> In Pike 7.8 and later the returned object is created via <ref>fd_factory()</ref>.</p>   </text><group><note/><text><p>In Pike 7.7 and later the resulting file object will be assigned    to the same backend as the port object.</p>   </text></group></doc>   <method name='accept'>   <arguments/> - <returntype><object resolved='predef::Stdio.File'>Stdio.File</object></returntype> + <returntype><object>Stdio.File</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='bind' homogen-type='method'><doc><text><p>Opens a socket and binds it to port number on the local machine.    If the second argument is present, the socket is set to    nonblocking and the callback funcition is called whenever    something connects to it. The callback will receive the id for    this port as argument and should typically call <ref resolved='predef::_Stdio._port.accept'>accept</ref> to    establish a connection.</p>   <p> If the optional argument <ref resolved='predef::_Stdio._port.bind.ip'>ip</ref> is given, <ref resolved='predef::_Stdio._port.bind'>bind</ref> will try to bind    to an interface with that host name or IP number. Omitting this
autodoc.git/onepage.xml:147506:   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Initialize the object and optionally also select    a point on the curve.</p>   <p> The point on the curve can be selected via either    via specifying the two coordinates explicitly, or via</p>   <mixed><group><type><object resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</object></type><text><p>A <ref resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</ref> on the same <ref>Curve</ref> to copy.</p>   </text></group><group><type><mapping><indextype><string><min>0</min><max>127</max></string></indextype><valuetype><or><int/><object resolved='predef::Gmp.mpz'>Gmp.mpz</object></or></valuetype></mapping></type><text><p>A mapping with integer coordinates <expr>"x"</expr> and <expr>"y"</expr>.</p>   </text></group><group><type><mapping><indextype><string><min>0</min><max>127</max></string></indextype><valuetype><string><min>0</min><max>127</max></string></valuetype></mapping></type><text><p>A mapping representing a JWK for the <ref resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</ref>    on the same <ref>Curve</ref>.</p>   </text></group><group><type><mapping><indextype><string><min>0</min><max>127</max></string></indextype><valuetype><string><min>0</min><max>255</max></string></valuetype></mapping></type><text><p>A mapping with coordinates <expr>"x"</expr> and <expr>"y"</expr>    in big-endian.</p> - </text></group><group><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><string><min>0</min><max>255</max></string></or></type><text><p>The ANSI x9.62 representation of the <ref resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</ref>. + </text></group><group><type><or><object>Stdio.Buffer</object><string><min>0</min><max>255</max></string></or></type><text><p>The ANSI x9.62 representation of the <ref resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</ref>.    Cf <ref resolved='predef::__builtin.Nettle.ECC_Curve.Point.encode'>encode()</ref>.</p>   </text></group></mixed>   </text><group><note/><text><p>Throws errors if the point isn't on the <ref>Curve</ref>.</p>   </text></group></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='p'><type><object resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</object></type></argument></arguments>
autodoc.git/onepage.xml:147532:   </method>   <method name='create'>   <arguments><argument name='jwk'><type><mapping><indextype><string><min>0</min><max>127</max></string></indextype><valuetype><string><min>0</min><max>127</max></string></valuetype></mapping></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'>   <arguments><argument name='x'><type><or><object resolved='predef::Gmp.mpz'>Gmp.mpz</object><int/></or></type></argument><argument name='y'><type><or><object resolved='predef::Gmp.mpz'>Gmp.mpz</object><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='create'> - <arguments><argument name='data'><type><or><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><string><min>0</min><max>255</max></string></or></type></argument></arguments> + <arguments><argument name='data'><type><or><object>Stdio.Buffer</object><string><min>0</min><max>255</max></string></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Serialize the <ref resolved='predef::__builtin.Nettle.ECC_Curve.Point'>Point</ref>.</p>   <p> The default implementation serializes according to ANSI x9.62    encoding #4 (uncompressed point format).</p>   </text></doc>   <method name='encode'>   <arguments/>   <returntype><string/></returntype>
autodoc.git/onepage.xml:147746:   </text></group></doc>   <method name='emsa_pss_verify'>   <arguments><argument name='message'><type><string><min>0</min><max>255</max></string></type></argument><argument name='sign'><type><string><min>0</min><max>255</max></string></type></argument><argument name='bits'><type><int><min>1</min><max/></int></type></argument><argument name='saltlen'><type><or><int><min>0</min><max/></int><void/></or></type></argument><argument name='mgf'><type><or><function><argtype><string><min>0</min><max>255</max></string></argtype><argtype><int><min>0</min><max/></int></argtype><returntype><string><min>0</min><max>255</max></string></returntype></function><void/></or></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='hash' homogen-type='method'><doc><text><p>Works as a (possibly faster) shortcut for e.g.    <expr>State(data)-&gt;digest()</expr>, where <ref resolved='predef::__builtin.Nettle.__Hash.State'>State</ref> is the hash state    class corresponding to this <ref resolved='predef::__builtin.Nettle.Hash'>Hash</ref>.</p>   </text><group><param name='data'/><text><p>String to hash.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::__builtin.Nettle.__Hash.State.update'>State()-&gt;update()</ref> and <ref resolved='predef::__builtin.Nettle.__Hash.State.digest'>State()-&gt;digest()</ref>.</p> + </text></group><group><seealso/><text><p><ref>Stdio.File</ref>, <ref resolved='predef::__builtin.Nettle.__Hash.State.update'>State()-&gt;update()</ref> and <ref resolved='predef::__builtin.Nettle.__Hash.State.digest'>State()-&gt;digest()</ref>.</p>   </text></group></doc>   <method name='hash'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='hash' homogen-type='method'><doc><text><p>Works as a (possibly faster) shortcut for e.g. <expr>State(    obj-&gt;read() )-&gt;digest()</expr>, where <ref resolved='predef::__builtin.Nettle.__Hash.State'>State</ref> is the hash state class    corresponding to this <ref resolved='predef::__builtin.Nettle.Hash'>Hash</ref>.</p>   </text><group><param name='source'/><text><p>Object to read some data to hash from.</p>   </text></group><group><param name='bytes'/><text><p>The number of bytes of the <ref resolved='predef::__builtin.Nettle.Hash.hash.source'>source</ref> object that should be    hashed. Zero and negative numbers are ignored and the whole file    is hashed.</p> - <p> <ref resolved='predef::Stdio.File'>Stdio.File</ref>, <ref resolved='predef::_Stdio.Buffer'>Stdio.Buffer</ref>, <ref resolved='predef::String.Buffer'>String.Buffer</ref>, <ref resolved='predef::System.Memory'>System.Memory</ref></p> + <p> <ref>Stdio.File</ref>, <ref>Stdio.Buffer</ref>, <ref resolved='predef::String.Buffer'>String.Buffer</ref>, <ref resolved='predef::System.Memory'>System.Memory</ref></p>   </text></group></doc>   <method name='hash'><modifiers><variant/></modifiers> - <arguments><argument name='source'><type><or><object resolved='predef::Stdio.File'>Stdio.File</object><object resolved='predef::_Stdio.Buffer'>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object></or></type></argument><argument name='bytes'><type><or><int/><void/></or></type></argument></arguments> + <arguments><argument name='source'><type><or><object>Stdio.File</object><object>Stdio.Buffer</object><object resolved='predef::String.Buffer'>String.Buffer</object><object resolved='predef::System.Memory'>System.Memory</object></or></type></argument><argument name='bytes'><type><or><int/><void/></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='hmac_jwa_id' homogen-type='constant'><doc><text><p>JWS algorithm id (if any) for the HMAC sub-module.    Overloaded by the actual implementations.</p>   </text></doc>   <constant name='hmac_jwa_id'><modifiers><protected/></modifiers><type><string/></type></constant>   </docgroup>   <docgroup homogen-name='hotp' homogen-type='method'><doc><text><p>HMAC-Based One-Time Password as defined by <rfc>4226</rfc>.</p>   <p> Can be used to implement the <rfc>6238</rfc> Time-Based One-Time