autodoc.git / onepage.xml

version» Context lines:

autodoc.git/onepage.xml:1:   <?xml version='1.0' encoding='utf-8'?> - <manual time-stamp='2022-11-20' version='Pike v8.1.19'> + <manual time-stamp='2022-11-23' version='Pike v8.1.19'>    <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:95533:    the parent class (<ref resolved='predef::Nettle.BlockCipher16'>BlockCipher16</ref>).</p>   <p> This is a so-called authenticated encryption with associated data    (AEAD) algorithm, and in addition to encryption also provides    message digests.</p>   </text><group><note/><text><p>This mode of operation was specified as a reaction to the    limitiations of the <ref resolved='predef::Nettle.BlockCipher16.CCM'>BlockCipher16.CCM</ref> mode.</p>   </text></group><group><note/><text><p>Note that this module is not available in all versions of Nettle.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Nettle.BlockCipher.CBC'>CBC</ref>, <ref resolved='predef::Nettle.BlockCipher.CTR'>CTR</ref>, <ref resolved='predef::Nettle.BlockCipher16.CCM'>BlockCipher16.CCM</ref>, <ref resolved='predef::Nettle.BlockCipher16.GCM'>BlockCipher16.GCM</ref></p>   </text></group></doc>   <docgroup homogen-name='digest_size' homogen-type='method'><doc><text><p>Default digest size.</p> - </text><group><returns/><text><p>Returns <ref resolved='predef::__builtin.Nettle.Cipher.block_size'>BlockCipher::block_size()</ref>, but overloading via + </text><group><returns/><text><p>Returns <ref resolved='predef::Nettle.Cipher.block_size'>BlockCipher::block_size()</ref>, but overloading via    inherit is supported, and may return any positive number    <expr>&lt;= BlockCipher::block_size()</expr>.</p>   </text></group></doc>   <method name='digest_size'>   <arguments/>   <returntype><int><min>1</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='AEAD' homogen-type='inherit'>   <inherit name='AEAD'><classname resolved='predef::__builtin.Nettle.AEAD'>__builtin.Nettle.AEAD</classname></inherit>
autodoc.git/onepage.xml:103855:    moved forward one slot.</p>   </text></doc>   <method name='seek'>   <arguments><argument name='howmuch'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   </module>   <module name='Process'> - <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><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> - </text></group><group><text><p>It takes all the modifiers <ref resolved='predef::Process.Process'>Process.Process</ref> accepts, with -  the exception of stdout and stderr. Each must be either absent, or -  a function accepting a string; if present, the functions will be called -  whenever output is made on the corresponding stream, otherwise the data -  will be collected and returned in the result mapping.</p> - <p> If <expr>modifiers-&gt;stdin</expr> is set to a string it will automatically be -  converted to a pipe that is fed to stdin of the started process.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Process.Process'>Process.Process</ref> <ref resolved='predef::Process.create_process'>create_process</ref></p> - </text></group><group><text><mapping><group><member><type><string/></type><index>"stdout"</index></member><text><p>Everything the process wrote on stdout, unless a stdout function was -  provided.</p> - </text></group><group><member><type><string/></type><index>"stderr"</index></member><text><p>Everything the process wrote on stderr, similarly.</p> - </text></group><group><member><type><int/></type><index>"exitcode"</index></member><text><p>The process' exitcode.</p> - </text></group></mapping> - </text></group><group><note/><text><p>As the entire output of stderr and stdout is stored in the -  returned mapping it could potentially grow until memory runs out. -  It is therefore advisable to set up rlimits if the output has a -  potential to be very large, or else provide functions to handle -  partial data.</p> - </text></group><group><example/><text><p>Process.run( ({ "ls", "-l" }) ); -  Process.run( ({ "ls", "-l" }), ([ "cwd":"/etc" ]) ); -  Process.run( "ls -l" ); -  Process.run( "awk -F: '{print $2}'", ([ "stdin":"foo:2\nbar:17\n" ]) ); -  Process.run( ({ "echo Output will be immediately written to stdout" }), -  ([ "stdout": lambda(string s) { write(s); }, -  "stderr": lambda(string e) { werror(e); } ]) );</p> - </text></group></doc> +    <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    pointing out a file to be used as stdandard input to the process.
autodoc.git/onepage.xml:103968:   </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>   </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> + </text></group><group><param name='modifiers'/><text><p>It takes all the modifiers <ref resolved='predef::Process.Process'>Process.Process</ref> accepts, with +  the exception of stdout and stderr. Each must be either absent, or +  a function accepting a string; if present, the functions will be called +  whenever output is made on the corresponding stream, otherwise the data +  will be collected and returned in the result mapping.</p> + <p> If <expr>modifiers-&gt;stdin</expr> is set to a string it will automatically be +  converted to a pipe that is fed to stdin of the started process.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::Process.Process'>Process.Process</ref> <ref resolved='predef::Process.create_process'>create_process</ref></p> + </text></group><group><returns/><text><mapping><group><member><type><string/></type><index>"stdout"</index></member><text><p>Everything the process wrote on stdout, unless a stdout function was +  provided.</p> + </text></group><group><member><type><string/></type><index>"stderr"</index></member><text><p>Everything the process wrote on stderr, similarly.</p> + </text></group><group><member><type><int/></type><index>"exitcode"</index></member><text><p>The process' exitcode.</p> + </text></group></mapping> + </text></group><group><note/><text><p>As the entire output of stderr and stdout is stored in the +  returned mapping it could potentially grow until memory runs out. +  It is therefore advisable to set up rlimits if the output has a +  potential to be very large, or else provide functions to handle +  partial data.</p> + </text></group><group><example/><text><p>Process.run( ({ "ls", "-l" }) ); +  Process.run( ({ "ls", "-l" }), ([ "cwd":"/etc" ]) ); +  Process.run( "ls -l" ); +  Process.run( "awk -F: '{print $2}'", ([ "stdin":"foo:2\nbar:17\n" ]) ); +  Process.run( ({ "echo Output will be immediately written to stdout" }), +  ([ "stdout": lambda(string s) { write(s); }, +  "stderr": lambda(string e) { werror(e); } ]) );</p> + </text></group></doc> + <method name='run'> + <arguments><argument name='cmd'><type><or><string/><array><valuetype><string/></valuetype></array></or></type></argument><argument name='modifiers'><type><or><mapping/><void/></or></type></argument></arguments> + <returntype><mapping/></returntype> + </method> + </docgroup>   <docgroup homogen-name='search_path' homogen-type='method'><doc><text><p>Search for the path to an executable.</p>   </text><group><param name='command'/><text><p>Executable to search for.</p>   <p> Searches for <ref resolved='predef::Process.search_path.command'>command</ref> in the directories listed in the    environment variable <tt>$PATH</tt>.</p>   </text></group><group><returns/><text><p>Returns the path to <ref resolved='predef::Process.search_path.command'>command</ref> if found, and    <expr>0</expr> (zero) on failure.</p>   </text></group><group><note/><text><p>This function is NOT thread safe if the environment    variable <tt>$PATH</tt> is being changed concurrently.</p>   </text></group><group><note/><text><p>In Pike 7.8.752 and earlier the environment    variable <tt>$PATH</tt> was only read once.</p>
autodoc.git/onepage.xml:129065:   </text></group><group><param name='h'/><text><p>The hash function to use for the certificate. Must be one of the    standardized PKCS hashes to be used with the given Crypto. By    default <ref resolved='predef::Crypto.SHA256'>Crypto.SHA256</ref> is selected for both RSA and DSA.</p>   </text></group><group><param name='serial'/><text><p>Serial number of the certificate. Defaults to generating a UUID    version1 value with random node. Some browsers will refuse    different certificates from the same signer with the same serial    number.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Standards.X509.sign_key'>sign_key()</ref>, <ref resolved='predef::Standards.X509.sign_tbs'>sign_tbs()</ref></p>   </text></group></doc>   <method name='make_selfsigned_certificate'> - <arguments><argument name='c'><type><object resolved='predef::Crypto.Sign.State'>Crypto.Sign.State</object></type></argument><argument name='ttl'><type><int/></type></argument><argument name='name'><type><or><mapping/><array/></or></type></argument><argument name='extensions'><type><or><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></valuetype></mapping><void/></or></type></argument><argument name='h'><type><or><void/><object resolved='predef::Crypto.Hash'>Crypto.Hash</object></or></type></argument><argument name='serial'><type><or><void/><int/></or></type></argument></arguments> + <arguments><argument name='c'><type><object resolved='predef::Crypto.Sign.State'>Crypto.Sign.State</object></type></argument><argument name='ttl'><type><int/></type></argument><argument name='name'><type><or><mapping/><array/></or></type></argument><argument name='extensions'><type><or><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></valuetype></mapping><void/></or></type></argument><argument name='h'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument><argument name='serial'><type><or><int/><void/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_tbs' homogen-type='method'><doc><text><p>Creates the ASN.1 TBSCertificate sequence (see <rfc>2459</rfc> section    4.1) to be signed (TBS) by the CA. version is explicitly set to    v3, and <ref resolved='predef::Standards.X509.make_tbs.extensions'>extensions</ref> is optionally added to the sequence.    issuerUniqueID and subjectUniqueID are not supported.</p>   </text></doc>   <method name='make_tbs'>   <arguments><argument name='issuer'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='algorithm'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='subject'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='keyinfo'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='serial'><type><object resolved='predef::Standards.ASN1.Types.Integer'>Integer</object></type></argument><argument name='validity'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='extensions'><type><or><array/><int><min>0</min><max>0</max></int><void/></or></type></argument></arguments>