autodoc.git / traditional.xml

version» Context lines:

autodoc.git/traditional.xml:1:   <?xml version='1.0' encoding='utf-8'?> - <manual time-stamp='2019-03-09' version='Pike v8.1.13'> + <manual time-stamp='2019-03-19' version='Pike v8.1.13'>    <dir name='./traditional_manual'>    <file name='./traditional_manual/index.html'>    <chapter title='Table of Contents' unnumbered='1'>    <dl><dt><url href='index.html'>Table of Contents</url></dt>   <dt><url href='chapter_1.html'>1. Introduction</url></dt>   <dd><url href='chapter_1.html#1'>1.1. Overview</url></dd>   <dd><url href='chapter_1.html#2'>1.2. The history of Pike</url></dd>   <dd><url href='chapter_1.html#3'>1.3. A comparison with other languages</url></dd>   <dd><url href='chapter_1.html#4'>1.4. What is Pike</url></dd>   <dd><url href='chapter_1.html#5'>1.5. Pike License</url></dd>
autodoc.git/traditional.xml:129023:    public keys must be set.</p>   </text></group><group><param name='name'/><text><p>The distinguished name for the certificate.</p>   </text></group><group><param name='attributes'/><text><p>Attributes from PKCS #9 to add to the certificate.</p>   </text></group><group><param name='hash'/><text><p>Hash algoritm to use for the CSR signature.    Defaults to <ref resolved='predef::Crypto.SHA256'>Crypto.SHA256</ref>.</p>   </text></group><group><note/><text><p>Prior to Pike 8.0 this function only supported signing    with <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref> and the default (and only) hash was    <ref resolved='predef::Crypto.MD5'>Crypto.MD5</ref>.</p>   </text></group></doc>   <method name='build_csr'> - <arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments> + <arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></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='sign_cri' homogen-type='method'><doc><text><p>Sign a <ref resolved='predef::Standards.PKCS.CSR.CRI'>CRI</ref> to generate a Certificate Signing Request.</p>
autodoc.git/traditional.xml:129473:   <p>Setting</p>   <p> The signature.</p>   </text></doc>   <variable name='signature'><type><object resolved='predef::Standards.ASN1.Types.BitString'>BitString</object></type></variable>   </docgroup>   <docgroup homogen-name='tbs' homogen-type='variable'><doc><text><p>Getting</p>   <p> ASN.1 structure that has been signed.</p>   <p>Setting</p>   <p> ASN.1 structure that has been signed.</p>   </text></doc> - <variable name='tbs'><type><object resolved='predef::Object'>Object</object></type></variable> + <variable name='tbs'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></variable>   </docgroup>   </class>   </module>   </module>   <module name='TLD'>   <docgroup homogen-name='cc' homogen-type='constant'><doc><text><p>A mapping between country TLDs and the name of the country.</p>   </text></doc>   <constant name='cc'/>   </docgroup>   <docgroup homogen-name='generic' homogen-type='variable'><doc><text><p>A multiset containing the generic TLDs, such as "com" and "info".</p>
autodoc.git/traditional.xml:129985:   <method name='load_authorities'>   <arguments><argument name='root_cert_dirs'><type><or><string/><array><valuetype><string/></valuetype></array><void/></or></type></argument><argument name='cache'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.X509.Verifier'>Verifier</object></valuetype></array></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_extension' homogen-type='method'><doc><text><p>Creates a certificate extension with the <ref resolved='predef::Standards.X509.make_extension.id'>id</ref> as identifier and    <ref resolved='predef::Standards.X509.make_extension.ext'>ext</ref> as the extension payload. If the <ref resolved='predef::Standards.X509.make_extension.critical'>critical</ref> flag is set    the extension will be marked as critical.</p>   </text></doc>   <method name='make_extension'> - <arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments> + <arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_selfsigned_certificate' homogen-type='method'><doc><text><p>Creates a selfsigned certificate, i.e. where issuer and subject    are the same entity. This entity is derived from the list of pairs    in <ref resolved='predef::Standards.X509.make_selfsigned_certificate.name'>name</ref>, which is encoded into an distinguished_name by    <ref resolved='predef::Standards.PKCS.Certificate.build_distinguished_name'>Standards.PKCS.Certificate.build_distinguished_name</ref>.</p>   </text><group><param name='c'/><text><p>The public key cipher used for the certificate, <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref>,    <ref resolved='predef::Crypto.DSA'>Crypto.DSA</ref> or <ref resolved='predef::Crypto.ECC.Curve.ECDSA'>Crypto.ECC.Curve.ECDSA</ref>. The object should be    initialized with both public and private keys.</p>
autodoc.git/traditional.xml:130269:   </docgroup>   <docgroup homogen-name='ext_subjectKeyIdentifier' homogen-type='variable'><doc><text><p>Set to the value of the SubjectKeyIdentifier if the certificate    contains the subjectKeyIdentifier    extension. <rfc>3280:4.2.1.2</rfc>.</p>   </text></doc>   <variable name='ext_subjectKeyIdentifier'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group><group><note/><text><p>Read only</p>   </text></group></doc> - <variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable> + <variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='hash' homogen-type='variable'><doc><text><p>Algorithm hash if known and supported.    Otherwise <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref>.</p>   </text><group><note/><text><p>Read only</p>   </text></group></doc>   <variable name='hash'><type><object resolved='predef::Crypto.Hash'>Crypto.Hash</object></type></variable>   </docgroup>   <docgroup homogen-name='Sequence' homogen-type='inherit'>   <inherit name='Sequence'><classname resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</classname></inherit>   </docgroup>   <docgroup homogen-name='init' homogen-type='method'><doc><text><p>Populates the object from a certificate decoded into an ASN.1    Object. Returns the object on success, otherwise <expr>0</expr>. You    probably want to call <ref resolved='predef::Standards.X509.decode_certificate'>decode_certificate</ref> or even    <ref resolved='predef::Standards.X509.verify_certificate'>verify_certificate</ref>.</p>   </text></doc>   <method name='init'> - <arguments><argument name='asn1'><type><or><array/><object resolved='predef::Object'>Object</object></or></type></argument></arguments> + <arguments><argument name='asn1'><type><or><array/><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.X509.TBSCertificate'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='internal_critical' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='internal_critical'><modifiers><protected/></modifiers><type><multiset/></type></variable>   </docgroup>   <docgroup homogen-name='internal_extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc> - <variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable> + <variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='issuer' homogen-type='variable'><doc><text><p>Certificate issuer.</p>   </text></doc>   <variable name='issuer'><type><void/></type></variable>   </docgroup>   <docgroup homogen-name='issuer_id' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='issuer_id'><type><void/></type></variable>   </docgroup>   <docgroup homogen-name='keyinfo' homogen-type='variable'>
autodoc.git/traditional.xml:132600:   <arguments><argument name='mutex_key'><type><object resolved='predef::Thread.MutexKey'>Thread.MutexKey</object></type></argument><argument name='seconds'><type><or><int><min>0</min><max/></int><float/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   <method name='wait'>   <arguments><argument name='mutex_key'><type><object resolved='predef::Thread.MutexKey'>Thread.MutexKey</object></type></argument><argument name='seconds'><type><int><min>0</min><max/></int></type></argument><argument name='nanos'><type><int><min>0</min><max>999999999</max></int></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='Farm'> - <modifiers><optional/></modifiers> +    <doc><text><p>A thread farm.</p>   </text></doc>   <docgroup homogen-name='debug_status' homogen-type='method'><doc><text><p>Get some statistics for the thread farm.</p>   </text></doc>   <method name='debug_status'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='run' homogen-type='method'><doc><text><p>Register a job for the thread farm.</p>
autodoc.git/traditional.xml:132714:   <docgroup homogen-name='debug_status' homogen-type='method'><doc><text><p>Get some statistics about the worker thread.</p>   </text></doc>   <method name='debug_status'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   </class>   <class name='Result'>   <doc><text><p>An asynchronous result.</p> - </text></doc> + </text><group><fixme/><text><p>This class ought to be made <ref resolved='predef::Concurrent.Future'>Concurrent.Future</ref>-compatible.</p> + </text></group></doc>   <docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Wait for completion.</p>   </text></doc>   <method name='`()'>   <arguments/>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='provide' homogen-type='method'><doc><text><p>Register a completed result.</p>   </text><group><param name='what'/><text><p>The result to register.</p>   </text></group></doc>
autodoc.git/traditional.xml:132771:    arrived yet.</p>   </text></group><group><value>-1</value><text><p>Returns negative on failure.</p>   </text></group></int>   </text></group></doc>   <method name='status'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   </class> + <class name='ResultWrapper'> + <modifiers><protected/></modifiers> + <doc><text><p>A wrapper for an asynchronous result.</p> + </text><group><note/><text><p>This wrapper is used to detect when the +  user discards the values returned from +  <ref resolved='predef::Thread.Farm.run'>run()</ref> or <ref resolved='predef::Thread.Farm.run_multiple'>run_multiple()</ref>, so that +  any errors thrown aren't lost.</p> + </text></group></doc> + <docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Wait for completion.</p> + </text></doc> + <method name='`()'> + <arguments/> + <returntype><mixed/></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'> + <method name='create'><modifiers><protected/></modifiers> + <arguments><argument name='ro'><type><object resolved='predef::Thread.Farm.Result'>Result</object></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='provide' homogen-type='variable'><doc><text><p>Register a completed result.</p> + </text><group><param name='what'/><text><p>The result to register.</p> + </text></group><group><note/><text><p>Read only</p> + </text></group></doc> + <variable name='provide'><type><function><argtype><mixed/></argtype><returntype><void/></returntype></function></type></variable> + </docgroup> + <docgroup homogen-name='provide_error' homogen-type='variable'><doc><text><p>Register a failure.</p> + </text><group><param name='what'/><text><p>The corresponding backtrace.</p> + </text></group><group><note/><text><p>Read only</p> + </text></group></doc> + <variable name='provide_error'><type><function><argtype><mixed/></argtype><returntype><void/></returntype></function></type></variable> + </docgroup> + <docgroup homogen-name='result' homogen-type='variable'><doc><group><returns/><text><p>Returns the result if available, a backtrace on failure, +  and <expr>0</expr> (zero) otherwise.</p> + </text></group><group><note/><text><p>Read only</p> + </text></group></doc> + <variable name='result'><type><function><returntype><mixed/></returntype></function></type></variable> + </docgroup> + <docgroup homogen-name='ro' homogen-type='variable'> + <variable name='ro'><type><object resolved='predef::Thread.Farm.Result'>Result</object></type></variable> + </docgroup> + <docgroup homogen-name='set_done_cb' homogen-type='method'><doc><text><p>Register a callback to be called when +  the result is available.</p> + </text><group><param name='to'/><text><p>Callback to be called. The first +  argument to the callback will be +  the result or the failure backtrace, +  and the second <expr>0</expr> (zero) on +  success, and <expr>1</expr> on failure.</p> + </text></group></doc> + <method name='set_done_cb'> + <arguments><argument name='cb'><type><function/></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='status' homogen-type='variable'><doc><group><returns/><text><int><group><value>1</value><text><p>Returns <expr>1</expr> when the result is available.</p> + </text></group><group><value>0</value><text><p>Returns <expr>0</expr> (zero) when the result hasn't +  arrived yet.</p> + </text></group><group><value>-1</value><text><p>Returns negative on failure.</p> + </text></group></int> + </text></group><group><note/><text><p>Read only</p> + </text></group></doc> + <variable name='status'><type><function><returntype><int/></returntype></function></type></variable> + </docgroup> + </class>   <class name='ValueAdjuster'>   <modifiers><protected/></modifiers>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='r'><type><object resolved='predef::Thread.Farm.ValueAdjuster.create'/></type></argument><argument name='r2'><type><object resolved='predef::Thread.Farm.ValueAdjuster.create'/></type></argument><argument name='i'><type><int/></type></argument><argument name='v'><type><mapping/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-type='variable'>   <variable name='r'><type><object resolved='predef::Thread.Farm.ValueAdjuster'/></type></variable>   <variable name='r2'><type><object resolved='predef::Thread.Farm.ValueAdjuster'/></type></variable>   <variable name='i'><type><int/></type></variable>   <variable name='v'><type><mapping/></type></variable>   </docgroup>   </class>   </class>   <class name='Fifo'> - <modifiers><optional/></modifiers> +    <doc><text><p><ref resolved='predef::Thread.Fifo'>Fifo</ref> implements a fixed length first-in, first-out queue.    A fifo is a queue of values and is often used as a stream of data    between two threads.</p>   </text><group><seealso/><text><p><ref resolved='predef::Thread.Queue'>Queue</ref></p>   </text></group></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a fifo. If the optional <ref resolved='predef::Thread.Fifo.create.size'>size</ref> argument is present it    sets how many values can be written to the fifo without blocking.    The default <ref resolved='predef::Thread.Fifo.create.size'>size</ref> is 128.</p>   </text></doc>   <method name='create'>
autodoc.git/traditional.xml:133024:   <arguments/>   <returntype><object resolved='predef::Thread.MutexKey'>MutexKey</object></returntype>   </method>   <method name='trylock'>   <arguments><argument name='type'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::Thread.MutexKey'>MutexKey</object></returntype>   </method>   </docgroup>   </class>   <class name='MutexKey'> - <modifiers><optional/></modifiers> +    <doc><text><p>Objects of this class are returned by <ref resolved='predef::Thread.Mutex.lock'>Mutex()-&gt;lock()</ref>    and <ref resolved='predef::Thread.Mutex.trylock'>Mutex()-&gt;trylock()</ref>. They are also passed as arguments    to <ref resolved='predef::Thread.Condition.wait'>Condition()-&gt;wait()</ref>.</p>   <p> As long as they are held, the corresponding mutex will be locked.</p>   <p> The corresponding mutex will be unlocked when the object    is destructed (eg by not having any references left).</p>   </text><group><seealso/><text><p><ref resolved='predef::Thread.Mutex'>Mutex</ref>, <ref resolved='predef::Thread.Condition'>Condition</ref></p>   </text></group></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>
autodoc.git/traditional.xml:133047:   </method>   </docgroup>   <docgroup homogen-name='dec_locks' homogen-type='variable'>   <variable name='dec_locks'><modifiers><protected/></modifiers><type><function><returntype><void/></returntype></function></type></variable>   </docgroup>   <docgroup homogen-name='DestructImmediate' homogen-type='inherit'>   <inherit name='DestructImmediate'><classname>Builtin.DestructImmediate</classname></inherit>   </docgroup>   </class>   <class name='Queue'> - <modifiers><optional/></modifiers> +    <doc><text><p><ref resolved='predef::Thread.Queue'>Queue</ref> implements a queue, or a pipeline. The main difference    between <ref resolved='predef::Thread.Queue'>Queue</ref> and <ref resolved='predef::Thread.Fifo'>Fifo</ref> is that <ref resolved='predef::Thread.Queue'>Queue</ref>    will never block in write(), only allocate more memory.</p>   </text><group><fixme/><text><p>Ought to be made API-compatible with <ref resolved='predef::ADT.Queue'>ADT.Queue</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Thread.Fifo'>Fifo</ref>, <ref resolved='predef::ADT.Queue'>ADT.Queue</ref></p>   </text></group></doc>   <docgroup homogen-name='lock' homogen-type='inherit'>   <inherit name='lock'><classname resolved='predef::Thread.Mutex'>Mutex</classname></inherit>   </docgroup>   <docgroup homogen-name='r_cond' homogen-type='inherit'>
autodoc.git/traditional.xml:133133:    The number of items in the queue after the write is returned.</p>   </text><group><seealso/><text><p><ref resolved='predef::Thread.Queue.read'>read()</ref></p>   </text></group></doc>   <method name='write'>   <arguments><argument name='value'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   </class>   <class name='ResourceCount'> - <modifiers><optional/></modifiers> +    <doc><text><p>Implements an inverted-semaphore-like resource    counter. A thread can poll or perform a blocking wait for the    resource-count to drop below a certain <ref>level</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Thread.ResourceCountKey'>ResourceCountKey</ref>, <ref resolved='predef::Thread.Condition'>Condition</ref>, <ref resolved='predef::Thread.Mutex'>Mutex</ref></p>   </text></group></doc>   <docgroup homogen-name='acquire' homogen-type='method'><doc><text><p>Increments the resource-counter.</p>   </text><group><returns/><text><p>A <ref resolved='predef::Thread.ResourceCountKey'>ResourceCountKey</ref> to decrement the resource-counter again.</p>   </text></group></doc>   <method name='acquire'><modifiers><final/></modifiers>   <arguments/>
autodoc.git/traditional.xml:133165:   <docgroup homogen-name='wait_till_drained' homogen-type='method'><doc><text><p>Blocks until the resource-counter dips to max <ref resolved='predef::Thread.ResourceCount.wait_till_drained.level'>level</ref>.</p>   </text><group><param name='level'/><text><p>The maximum level that is considered drained.</p>   </text></group></doc>   <method name='wait_till_drained'><modifiers><final/></modifiers>   <arguments><argument name='level'><type><or><void/><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='ResourceCountKey'> - <modifiers><optional/></modifiers> +    <doc><text><p>When this key is destroyed, the corresponding resource counter    will be decremented.</p>   </text><group><seealso/><text><p><ref resolved='predef::Thread.ResourceCount'>ResourceCount</ref>, <ref resolved='predef::Thread.MutexKey'>MutexKey</ref></p>   </text></group></doc>   <docgroup homogen-name='DestructImmediate' homogen-type='inherit'>   <inherit name='DestructImmediate'><modifiers><private/></modifiers><classname>__builtin.DestructImmediate</classname></inherit>   </docgroup>   </class>   <class name='Thread'>   <docgroup homogen-name='_sprintf' homogen-type='method'><doc><text><p>Returns a string identifying the thread.</p>