diff options
author | Pawel Kowalski <p.kowalski2@partner.samsung.com> | 2019-08-28 14:31:23 +0200 |
---|---|---|
committer | Pawel Kowalski <p.kowalski2@partner.samsung.com> | 2019-08-28 16:56:31 +0200 |
commit | dee455252ad321c660b411b4ecd65aa5e08f8fc1 (patch) | |
tree | b55f9ec039e963e42605e9e9bdc186354cf9df42 /doc | |
parent | 5c7e0aaf17a296535495e3431db6a86ad64064b3 (diff) | |
parent | 26bea900a531662c6028ecc06f4adea825658434 (diff) | |
download | libtasn1-tizen_5.5.tar.gz libtasn1-tizen_5.5.tar.bz2 libtasn1-tizen_5.5.zip |
Merge tag 'upstream/4.14' into tizentizen_6.5.m2_releasetizen_6.0.m2_releasetizen_5.5.m2_releasesubmit/tizen_6.5/20211028.163501submit/tizen_6.0_hotfix/20201103.115102submit/tizen_6.0_hotfix/20201102.192902submit/tizen_6.0/20201029.205502submit/tizen_5.5_wearable_hotfix/20201026.184307submit/tizen_5.5_mobile_hotfix/20201026.185107submit/tizen_5.5/20191031.000007submit/tizen/20190904.070216submit/tizen/20190829.061506accepted/tizen/unified/20190904.110630accepted/tizen/6.5/unified/20211029.014057accepted/tizen/6.0/unified/hotfix/20201103.050702accepted/tizen/6.0/unified/hotfix/20201102.234932accepted/tizen/6.0/unified/20201030.110146accepted/tizen/5.5/unified/wearable/hotfix/20201027.100357accepted/tizen/5.5/unified/mobile/hotfix/20201027.074057accepted/tizen/5.5/unified/20191031.011500tizen_6.5tizen_6.0_hotfixtizen_6.0tizen_5.5_wearable_hotfixtizen_5.5_tvtizen_5.5_mobile_hotfixtizen_5.5accepted/tizen_6.5_unifiedaccepted/tizen_6.0_unified_hotfixaccepted/tizen_6.0_unifiedaccepted/tizen_5.5_unified_wearable_hotfixaccepted/tizen_5.5_unified_mobile_hotfixaccepted/tizen_5.5_unified
Change-Id: I6d4b47b2072db8e7c45daa6e269e2f0cc6f54a7f
Diffstat (limited to 'doc')
94 files changed, 3955 insertions, 5112 deletions
diff --git a/doc/COPYING b/doc/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/doc/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/doc/COPYING.LESSER b/doc/COPYING.LESSER new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/doc/COPYING.LESSER @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/doc/Makefile.am b/doc/Makefile.am index db246ae..5a0077b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -21,7 +21,8 @@ if ENABLE_GTK_DOC SUBDIRS += reference endif -EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs +EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs \ + COPYING COPYING.LESSER info_TEXINFOS = libtasn1.texi libtasn1_TEXINFOS = fdl-1.3.texi texinfo.css $(gdoc_TEXINFOS) diff --git a/doc/Makefile.in b/doc/Makefile.in index 5d281a2..9d5e0e5 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -107,55 +107,36 @@ host_triplet = @host@ @ENABLE_GTK_DOC_TRUE@am__append_1 = reference subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \ - $(top_srcdir)/lib/glm4/ld-version-script.m4 \ - $(top_srcdir)/lib/glm4/minmax.m4 \ - $(top_srcdir)/lib/glm4/string_h.m4 \ - $(top_srcdir)/lib/glm4/strverscmp.m4 \ - $(top_srcdir)/lib/glm4/visibility.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/absolute-header.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/extern-inline.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ - $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/largefile.m4 \ - $(top_srcdir)/gl/m4/limits-h.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/msvc-inval.m4 \ - $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ - $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ - $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \ - $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/valgrind-tests.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/warn-on-use.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \ - $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/update-header-version.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ + $(top_srcdir)/m4/ax_ac_print_to_file.m4 \ + $(top_srcdir)/m4/ax_add_am_macro_static.m4 \ + $(top_srcdir)/m4/ax_am_macros_static.m4 \ + $(top_srcdir)/m4/ax_check_gnu_make.m4 \ + $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_file_escapes.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \ + $(top_srcdir)/m4-gl/__inline.m4 \ + $(top_srcdir)/m4-gl/absolute-header.m4 \ + $(top_srcdir)/m4-gl/extensions.m4 \ + $(top_srcdir)/m4-gl/extern-inline.m4 \ + $(top_srcdir)/m4-gl/gnulib-common.m4 \ + $(top_srcdir)/m4-gl/gnulib-comp.m4 \ + $(top_srcdir)/m4-gl/include_next.m4 \ + $(top_srcdir)/m4-gl/ld-version-script.m4 \ + $(top_srcdir)/m4-gl/limits-h.m4 \ + $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \ + $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \ + $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \ + $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \ + $(top_srcdir)/m4-gl/strverscmp.m4 \ + $(top_srcdir)/m4-gl/sys_types_h.m4 \ + $(top_srcdir)/m4-gl/valgrind-tests.m4 \ + $(top_srcdir)/m4-gl/visibility.m4 \ + $(top_srcdir)/m4-gl/warn-on-use.m4 \ + $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -271,7 +252,7 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir + distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is @@ -294,7 +275,8 @@ CTAGS = ctags DIST_SUBDIRS = cyclo reference am__DIST_COMMON = $(dist_man_MANS) $(libtasn1_TEXINFOS) \ $(srcdir)/Makefile.in $(top_srcdir)/build-aux/mdate-sh \ - $(top_srcdir)/build-aux/texinfo.tex TODO + $(top_srcdir)/build-aux/texinfo.tex COPYING COPYING.LESSER \ + TODO DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ @@ -328,6 +310,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ AS = @AS@ +ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@ +ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@ +ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@ +ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -341,6 +327,11 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ +CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ +CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ +CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ +CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ +CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ @@ -354,86 +345,13 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CHDIR = @GNULIB_CHDIR@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ -GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ -GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GCOV = @GCOV@ +GENHTML = @GENHTML@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ -GNULIB_FGETC = @GNULIB_FGETC@ -GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPURGE = @GNULIB_FPURGE@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREAD = @GNULIB_FREAD@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSCANF = @GNULIB_FSCANF@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSTAT = @GNULIB_FSTAT@ -GNULIB_FSTATAT = @GNULIB_FSTATAT@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETC = @GNULIB_GETC@ -GNULIB_GETCHAR = @GNULIB_GETCHAR@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LINKAT = @GNULIB_LINKAT@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ @@ -448,66 +366,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MBTOWC = @GNULIB_MBTOWC@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKFIFO = @GNULIB_MKFIFO@ -GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ -GNULIB_MKNOD = @GNULIB_MKNOD@ -GNULIB_MKNODAT = @GNULIB_MKNODAT@ -GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ -GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ -GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -GNULIB_PCLOSE = @GNULIB_PCLOSE@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PIPE = @GNULIB_PIPE@ -GNULIB_PIPE2 = @GNULIB_PIPE2@ -GNULIB_POPEN = @GNULIB_POPEN@ -GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_PREAD = @GNULIB_PREAD@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PTSNAME = @GNULIB_PTSNAME@ -GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_PWRITE = @GNULIB_PWRITE@ -GNULIB_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RANDOM = @GNULIB_RANDOM@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READ = @GNULIB_READ@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_READLINKAT = @GNULIB_READLINKAT@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_REALPATH = @GNULIB_REALPATH@ -GNULIB_REMOVE = @GNULIB_REMOVE@ -GNULIB_RENAME = @GNULIB_RENAME@ -GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANF = @GNULIB_SCANF@ -GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STAT = @GNULIB_STAT@ -GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -519,196 +383,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_SYMLINK = @GNULIB_SYMLINK@ -GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ -GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TIMEGM = @GNULIB_TIMEGM@ -GNULIB_TIME_R = @GNULIB_TIME_R@ -GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNLINK = @GNULIB_UNLINK@ -GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ -GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_USLEEP = @GNULIB_USLEEP@ -GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VFSCANF = @GNULIB_VFSCANF@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSCANF = @GNULIB_VSCANF@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ -HAVE_ATOLL = @HAVE_ATOLL@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ -HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ -HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ -HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ -HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ -HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ -HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ -HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ -HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_DUP3 = @HAVE_DUP3@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FACCESSAT = @HAVE_FACCESSAT@ -HAVE_FCHDIR = @HAVE_FCHDIR@ -HAVE_FCHMODAT = @HAVE_FCHMODAT@ -HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ -HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSTATAT = @HAVE_FSTATAT@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_FUTIMENS = @HAVE_FUTIMENS@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETGROUPS = @HAVE_GETGROUPS@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ -HAVE_GRANTPT = @HAVE_GRANTPT@ -HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDIRAT = @HAVE_MKDIRAT@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_MKFIFO = @HAVE_MKFIFO@ -HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ -HAVE_MKNOD = @HAVE_MKNOD@ -HAVE_MKNODAT = @HAVE_MKNODAT@ -HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ -HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ -HAVE_MKSTEMP = @HAVE_MKSTEMP@ -HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ -HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_PCLOSE = @HAVE_PCLOSE@ -HAVE_PIPE = @HAVE_PIPE@ -HAVE_PIPE2 = @HAVE_PIPE2@ -HAVE_POPEN = @HAVE_POPEN@ -HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ -HAVE_PREAD = @HAVE_PREAD@ -HAVE_PTSNAME = @HAVE_PTSNAME@ -HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ -HAVE_PWRITE = @HAVE_PWRITE@ -HAVE_QSORT_R = @HAVE_QSORT_R@ -HAVE_RANDOM = @HAVE_RANDOM@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_READLINKAT = @HAVE_READLINKAT@ -HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYMLINK = @HAVE_SYMLINK@ -HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_TIMEGM = @HAVE_TIMEGM@ -HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNLINKAT = @HAVE_UNLINKAT@ -HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_USLEEP = @HAVE_USLEEP@ -HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE__EXIT = @HAVE__EXIT@ HELP2MAN = @HELP2MAN@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -718,52 +441,34 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ -LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ -LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIMITS_H = @LIMITS_H@ LIPO = @LIPO@ LN_S = @LN_S@ -LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ -NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ -NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ -NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ -NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -779,91 +484,13 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_CALLOC = @REPLACE_CALLOC@ -REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_DUP = @REPLACE_DUP@ -REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FPURGE = @REPLACE_FPURGE@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FSTAT = @REPLACE_FSTAT@ -REPLACE_FSTATAT = @REPLACE_FSTATAT@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ -REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETDELIM = @REPLACE_GETDELIM@ -REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ -REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ -REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_GMTIME = @REPLACE_GMTIME@ -REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LINK = @REPLACE_LINK@ -REPLACE_LINKAT = @REPLACE_LINKAT@ -REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MALLOC = @REPLACE_MALLOC@ -REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKFIFO = @REPLACE_MKFIFO@ -REPLACE_MKNOD = @REPLACE_MKNOD@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_POPEN = @REPLACE_POPEN@ -REPLACE_PREAD = @REPLACE_PREAD@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PTSNAME = @REPLACE_PTSNAME@ -REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_PWRITE = @REPLACE_PWRITE@ -REPLACE_QSORT_R = @REPLACE_QSORT_R@ -REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ -REPLACE_READ = @REPLACE_READ@ -REPLACE_READLINK = @REPLACE_READLINK@ -REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ -REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMOVE = @REPLACE_REMOVE@ -REPLACE_RENAME = @REPLACE_RENAME@ -REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ -REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SLEEP = @REPLACE_SLEEP@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STAT = @REPLACE_STAT@ -REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -875,48 +502,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ -REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ -REPLACE_SYMLINK = @REPLACE_SYMLINK@ -REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ -REPLACE_UNLINK = @REPLACE_UNLINK@ -REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ -REPLACE_UNSETENV = @REPLACE_UNSETENV@ -REPLACE_USLEEP = @REPLACE_USLEEP@ -REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCTOMB = @REPLACE_WCTOMB@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDARG_H = @STDARG_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ -UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ -WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ YACC = @YACC@ YFLAGS = @YFLAGS@ @@ -955,14 +556,11 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ +ifGNUmake = @ifGNUmake@ +ifnGNUmake = @ifnGNUmake@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -lgltests_WITNESS = @lgltests_WITNESS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ @@ -984,7 +582,9 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = cyclo $(am__append_1) -EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs +EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf stamp_docs \ + COPYING COPYING.LESSER + info_TEXINFOS = libtasn1.texi libtasn1_TEXINFOS = fdl-1.3.texi texinfo.css $(gdoc_TEXINFOS) AM_MAKEINFOFLAGS = -I $(top_builddir)/doc @@ -1062,16 +662,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -1435,7 +1035,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -5,7 +5,7 @@ in order to avoid having people working on the same thing. Current list: + Audit the code * Avoid the usage of any global state in array2tree or parser2tree - functions. + functions. * Allow extracting the time in a reasonable format (e.g. time_t) * C structure generation instead of a single array * CHOICE in CHOICE (e.g., RDN in byName in ResponderID in OCSP) cannot diff --git a/doc/asn1Coding.1 b/doc/asn1Coding.1 index b0379dc..40affb4 100644 --- a/doc/asn1Coding.1 +++ b/doc/asn1Coding.1 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH ASN1CODING "1" "January 2018" "asn1Coding (libtasn1) 4.13" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10. +.TH ASN1CODING "1" "July 2019" "asn1Coding libtasn1 4.14" "User Commands" .SH NAME asn1Coding \- ASN.1 DER encoder .SH SYNOPSIS @@ -23,19 +23,11 @@ display this help and exit \fB\-v\fR, \fB\-\-version\fR output version information and exit .SH AUTHOR -Written by Fabio Fiorina. +Written by Fabio Fiorina .SH "REPORTING BUGS" -Report bugs to: help\-libtasn1@gnu.org -.br -GNU Libtasn1 home page: <http://www.gnu.org/software/libtasn1/> -.br -General help using GNU software: <http://www.gnu.org/gethelp/> +Report bugs to help\-libtasn1@gnu.org .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. -.br -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. +Copyright \(co 2017\-2019 Free Software Foundation, Inc. .SH "SEE ALSO" The full documentation for .B asn1Coding diff --git a/doc/asn1Decoding.1 b/doc/asn1Decoding.1 index 36df49f..2cbed81 100644 --- a/doc/asn1Decoding.1 +++ b/doc/asn1Decoding.1 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH ASN1DECODING "1" "January 2018" "asn1Decoding (libtasn1) 4.13" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10. +.TH ASN1DECODING "1" "July 2019" "asn1Decoding libtasn1 4.14" "User Commands" .SH NAME asn1Decoding \- ASN.1 DER decoder .SH SYNOPSIS @@ -24,19 +24,11 @@ display this help and exit \fB\-v\fR, \fB\-\-version\fR output version information and exit .SH AUTHOR -Written by Fabio Fiorina. +Written by Fabio Fiorina .SH "REPORTING BUGS" -Report bugs to: help\-libtasn1@gnu.org -.br -GNU Libtasn1 home page: <http://www.gnu.org/software/libtasn1/> -.br -General help using GNU software: <http://www.gnu.org/gethelp/> +Report bugs to help\-libtasn1@gnu.org .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. -.br -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. +Copyright \(co 2017\-2019 Free Software Foundation, Inc. .SH "SEE ALSO" The full documentation for .B asn1Decoding diff --git a/doc/asn1Parser.1 b/doc/asn1Parser.1 index 8f32e6e..8aa549e 100644 --- a/doc/asn1Parser.1 +++ b/doc/asn1Parser.1 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH ASN1PARSER "1" "January 2018" "asn1Parser (libtasn1) 4.13" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10. +.TH ASN1PARSER "1" "July 2019" "asn1Parser libtasn1 4.14" "User Commands" .SH NAME asn1Parser \- ASN.1 syntax tree generator for libtasn1 .SH SYNOPSIS @@ -26,19 +26,11 @@ display this help and exit \fB\-v\fR, \fB\-\-version\fR output version information and exit .SH AUTHOR -Written by Fabio Fiorina. +Written by Fabio Fiorina .SH "REPORTING BUGS" -Report bugs to: help\-libtasn1@gnu.org -.br -GNU Libtasn1 home page: <http://www.gnu.org/software/libtasn1/> -.br -General help using GNU software: <http://www.gnu.org/gethelp/> +Report bugs to help\-libtasn1@gnu.org .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. -.br -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. +Copyright \(co 2017\-2019 Free Software Foundation, Inc. .SH "SEE ALSO" The full documentation for .B asn1Parser diff --git a/doc/cyclo/Makefile.in b/doc/cyclo/Makefile.in index 4e0814f..8149c60 100644 --- a/doc/cyclo/Makefile.in +++ b/doc/cyclo/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -106,55 +106,36 @@ build_triplet = @build@ host_triplet = @host@ subdir = doc/cyclo ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \ - $(top_srcdir)/lib/glm4/ld-version-script.m4 \ - $(top_srcdir)/lib/glm4/minmax.m4 \ - $(top_srcdir)/lib/glm4/string_h.m4 \ - $(top_srcdir)/lib/glm4/strverscmp.m4 \ - $(top_srcdir)/lib/glm4/visibility.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/absolute-header.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/extern-inline.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ - $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/largefile.m4 \ - $(top_srcdir)/gl/m4/limits-h.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/msvc-inval.m4 \ - $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ - $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ - $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \ - $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/valgrind-tests.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/warn-on-use.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \ - $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/update-header-version.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ + $(top_srcdir)/m4/ax_ac_print_to_file.m4 \ + $(top_srcdir)/m4/ax_add_am_macro_static.m4 \ + $(top_srcdir)/m4/ax_am_macros_static.m4 \ + $(top_srcdir)/m4/ax_check_gnu_make.m4 \ + $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_file_escapes.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \ + $(top_srcdir)/m4-gl/__inline.m4 \ + $(top_srcdir)/m4-gl/absolute-header.m4 \ + $(top_srcdir)/m4-gl/extensions.m4 \ + $(top_srcdir)/m4-gl/extern-inline.m4 \ + $(top_srcdir)/m4-gl/gnulib-common.m4 \ + $(top_srcdir)/m4-gl/gnulib-comp.m4 \ + $(top_srcdir)/m4-gl/include_next.m4 \ + $(top_srcdir)/m4-gl/ld-version-script.m4 \ + $(top_srcdir)/m4-gl/limits-h.m4 \ + $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \ + $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \ + $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \ + $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \ + $(top_srcdir)/m4-gl/strverscmp.m4 \ + $(top_srcdir)/m4-gl/sys_types_h.m4 \ + $(top_srcdir)/m4-gl/valgrind-tests.m4 \ + $(top_srcdir)/m4-gl/visibility.m4 \ + $(top_srcdir)/m4-gl/warn-on-use.m4 \ + $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -192,6 +173,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ AS = @AS@ +ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@ +ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@ +ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@ +ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -205,6 +190,11 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ +CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ +CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ +CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ +CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ +CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ @@ -218,86 +208,13 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CHDIR = @GNULIB_CHDIR@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ -GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ -GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GCOV = @GCOV@ +GENHTML = @GENHTML@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ -GNULIB_FGETC = @GNULIB_FGETC@ -GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPURGE = @GNULIB_FPURGE@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREAD = @GNULIB_FREAD@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSCANF = @GNULIB_FSCANF@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSTAT = @GNULIB_FSTAT@ -GNULIB_FSTATAT = @GNULIB_FSTATAT@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETC = @GNULIB_GETC@ -GNULIB_GETCHAR = @GNULIB_GETCHAR@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LINKAT = @GNULIB_LINKAT@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ @@ -312,66 +229,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MBTOWC = @GNULIB_MBTOWC@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKFIFO = @GNULIB_MKFIFO@ -GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ -GNULIB_MKNOD = @GNULIB_MKNOD@ -GNULIB_MKNODAT = @GNULIB_MKNODAT@ -GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ -GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ -GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -GNULIB_PCLOSE = @GNULIB_PCLOSE@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PIPE = @GNULIB_PIPE@ -GNULIB_PIPE2 = @GNULIB_PIPE2@ -GNULIB_POPEN = @GNULIB_POPEN@ -GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_PREAD = @GNULIB_PREAD@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PTSNAME = @GNULIB_PTSNAME@ -GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_PWRITE = @GNULIB_PWRITE@ -GNULIB_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RANDOM = @GNULIB_RANDOM@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READ = @GNULIB_READ@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_READLINKAT = @GNULIB_READLINKAT@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_REALPATH = @GNULIB_REALPATH@ -GNULIB_REMOVE = @GNULIB_REMOVE@ -GNULIB_RENAME = @GNULIB_RENAME@ -GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANF = @GNULIB_SCANF@ -GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STAT = @GNULIB_STAT@ -GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -383,196 +246,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_SYMLINK = @GNULIB_SYMLINK@ -GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ -GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TIMEGM = @GNULIB_TIMEGM@ -GNULIB_TIME_R = @GNULIB_TIME_R@ -GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNLINK = @GNULIB_UNLINK@ -GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ -GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_USLEEP = @GNULIB_USLEEP@ -GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VFSCANF = @GNULIB_VFSCANF@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSCANF = @GNULIB_VSCANF@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ -HAVE_ATOLL = @HAVE_ATOLL@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ -HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ -HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ -HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ -HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ -HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ -HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ -HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ -HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_DUP3 = @HAVE_DUP3@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FACCESSAT = @HAVE_FACCESSAT@ -HAVE_FCHDIR = @HAVE_FCHDIR@ -HAVE_FCHMODAT = @HAVE_FCHMODAT@ -HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ -HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSTATAT = @HAVE_FSTATAT@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_FUTIMENS = @HAVE_FUTIMENS@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETGROUPS = @HAVE_GETGROUPS@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ -HAVE_GRANTPT = @HAVE_GRANTPT@ -HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDIRAT = @HAVE_MKDIRAT@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_MKFIFO = @HAVE_MKFIFO@ -HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ -HAVE_MKNOD = @HAVE_MKNOD@ -HAVE_MKNODAT = @HAVE_MKNODAT@ -HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ -HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ -HAVE_MKSTEMP = @HAVE_MKSTEMP@ -HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ -HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_PCLOSE = @HAVE_PCLOSE@ -HAVE_PIPE = @HAVE_PIPE@ -HAVE_PIPE2 = @HAVE_PIPE2@ -HAVE_POPEN = @HAVE_POPEN@ -HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ -HAVE_PREAD = @HAVE_PREAD@ -HAVE_PTSNAME = @HAVE_PTSNAME@ -HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ -HAVE_PWRITE = @HAVE_PWRITE@ -HAVE_QSORT_R = @HAVE_QSORT_R@ -HAVE_RANDOM = @HAVE_RANDOM@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_READLINKAT = @HAVE_READLINKAT@ -HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYMLINK = @HAVE_SYMLINK@ -HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_TIMEGM = @HAVE_TIMEGM@ -HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNLINKAT = @HAVE_UNLINKAT@ -HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_USLEEP = @HAVE_USLEEP@ -HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE__EXIT = @HAVE__EXIT@ HELP2MAN = @HELP2MAN@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -582,52 +304,34 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ -LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ -LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIMITS_H = @LIMITS_H@ LIPO = @LIPO@ LN_S = @LN_S@ -LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ -NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ -NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ -NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ -NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -643,91 +347,13 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_CALLOC = @REPLACE_CALLOC@ -REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_DUP = @REPLACE_DUP@ -REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FPURGE = @REPLACE_FPURGE@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FSTAT = @REPLACE_FSTAT@ -REPLACE_FSTATAT = @REPLACE_FSTATAT@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ -REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETDELIM = @REPLACE_GETDELIM@ -REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ -REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ -REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_GMTIME = @REPLACE_GMTIME@ -REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LINK = @REPLACE_LINK@ -REPLACE_LINKAT = @REPLACE_LINKAT@ -REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MALLOC = @REPLACE_MALLOC@ -REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKFIFO = @REPLACE_MKFIFO@ -REPLACE_MKNOD = @REPLACE_MKNOD@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_POPEN = @REPLACE_POPEN@ -REPLACE_PREAD = @REPLACE_PREAD@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PTSNAME = @REPLACE_PTSNAME@ -REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_PWRITE = @REPLACE_PWRITE@ -REPLACE_QSORT_R = @REPLACE_QSORT_R@ -REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ -REPLACE_READ = @REPLACE_READ@ -REPLACE_READLINK = @REPLACE_READLINK@ -REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ -REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMOVE = @REPLACE_REMOVE@ -REPLACE_RENAME = @REPLACE_RENAME@ -REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ -REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SLEEP = @REPLACE_SLEEP@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STAT = @REPLACE_STAT@ -REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -739,48 +365,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ -REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ -REPLACE_SYMLINK = @REPLACE_SYMLINK@ -REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ -REPLACE_UNLINK = @REPLACE_UNLINK@ -REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ -REPLACE_UNSETENV = @REPLACE_UNSETENV@ -REPLACE_USLEEP = @REPLACE_USLEEP@ -REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCTOMB = @REPLACE_WCTOMB@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDARG_H = @STDARG_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ -UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ -WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ YACC = @YACC@ YFLAGS = @YFLAGS@ @@ -819,14 +419,11 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ +ifGNUmake = @ifGNUmake@ +ifnGNUmake = @ifnGNUmake@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -lgltests_WITNESS = @lgltests_WITNESS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ @@ -861,16 +458,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/cyclo/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/cyclo/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/cyclo/Makefile + $(AUTOMAKE) --foreign doc/cyclo/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -894,7 +491,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff --git a/doc/cyclo/cyclo-libtasn1.html b/doc/cyclo/cyclo-libtasn1.html index 07486b3..232ffa2 100644 --- a/doc/cyclo/cyclo-libtasn1.html +++ b/doc/cyclo/cyclo-libtasn1.html @@ -1,11 +1,11 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> -<!-- Generated by gnulib's pmccabe2html at 1403805514 --> +<!-- Generated by gnulib's pmccabe2html at 1563563397 --> <head> -<title>Cyclomatic Complexity report for GNU Libtasn1 4.0</title> +<title>Cyclomatic Complexity report for GNU Libtasn1 4.14</title> -<meta name="description" content="Cyclomatic Complexity report for GNU Libtasn1 4.0"> -<meta name="keywords" content="Cyclomatic Complexity report for GNU Libtasn1 4.0"> +<meta name="description" content="Cyclomatic Complexity report for GNU Libtasn1 4.14"> +<meta name="keywords" content="Cyclomatic Complexity report for GNU Libtasn1 4.14"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="pmccabe2html"> @@ -178,9 +178,9 @@ body { </style> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> -<a href="http://www.gnu.org/software/libtasn1/">Back to GNU Libtasn1 4.0 Homepage</a><br/><br/> -<div class="page_title">GNU Libtasn1 4.0 Cyclomatic Complexity Report</div> -<p>Report generated at: <span class="report_timestamp">Thu Jun 26 19:58:34 CEST 2014</span></p> +<a href="http://www.gnu.org/software/libtasn1/">Back to GNU Libtasn1 4.14 Homepage</a><br/><br/> +<div class="page_title">GNU Libtasn1 4.14 Cyclomatic Complexity Report</div> +<p>Report generated at: <span class="report_timestamp">Fri Jul 19 21:09:57 CEST 2019</span></p> <div class="section_title">Summary</div> <table class="summary_table"> <tr> diff --git a/doc/libtasn1.html b/doc/libtasn1.html index 88b01e1..47e7509 100644 --- a/doc/libtasn1.html +++ b/doc/libtasn1.html @@ -1,11 +1,11 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- This manual is for GNU Libtasn1 -(version 4.13, 4 April 2016), +(version 4.14, 29 March 2019), which is a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. -Copyright (C) 2001-2015 Free Software Foundation, Inc. +Copyright (C) 2001-2019 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -13,16 +13,16 @@ any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". --> -<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ --> <head> -<title>GNU Libtasn1 4.13</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>GNU Libtasn1 4.14</title> -<meta name="description" content="GNU Libtasn1 4.13"> -<meta name="keywords" content="GNU Libtasn1 4.13"> +<meta name="description" content="GNU Libtasn1 4.14"> +<meta name="keywords" content="GNU Libtasn1 4.14"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="#Top" rel="start" title="Top"> <link href="#Concept-Index" rel="index" title="Concept Index"> <link href="#SEC_Contents" rel="contents" title="Table of Contents"> @@ -104,7 +104,7 @@ dd, li { </head> <body lang="en"> -<h1 class="settitle" align="center">GNU Libtasn1 4.13</h1> +<h1 class="settitle" align="center">GNU Libtasn1 4.14</h1> @@ -158,11 +158,11 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a <h1 class="top">Libtasn1</h1> <p>This manual is for GNU Libtasn1 -(version 4.13, 4 April 2016), +(version 4.14, 29 March 2019), which is a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. </p> -<p>Copyright © 2001-2015 Free Software Foundation, Inc. +<p>Copyright © 2001-2019 Free Software Foundation, Inc. </p> <blockquote> <p>Permission is granted to copy, distribute and/or modify this document @@ -669,7 +669,7 @@ needed to manage the definitions included in <code>file</code> file. </p> <p><strong>Returns:</strong> <code>ASN1_SUCCESS</code> if the file has a correct syntax and every identifier is known, <code>ASN1_ELEMENT_NOT_EMPTY</code> if <code>definitions</code> not -<code>NULL</code> , <code>ASN1_FILE_NOT_FOUND</code> if an error occured while +<code>NULL</code> , <code>ASN1_FILE_NOT_FOUND</code> if an error occurred while opening <code>file</code> , <code>ASN1_SYNTAX_ERROR</code> if the syntax is not correct, <code>ASN1_IDENTIFIER_NOT_FOUND</code> if in the file there is an identifier that is not defined, <code>ASN1_NAME_TOO_LONG</code> if in the @@ -700,7 +700,7 @@ included in <code>inputFileName</code> file. If <code>inputFileName</code> is will be "xx_asn1_tab". </p> <p><strong>Returns:</strong> <code>ASN1_SUCCESS</code> if the file has a correct syntax and every -identifier is known, <code>ASN1_FILE_NOT_FOUND</code> if an error occured +identifier is known, <code>ASN1_FILE_NOT_FOUND</code> if an error occurred while opening <code>inputFileName</code> , <code>ASN1_SYNTAX_ERROR</code> if the syntax is not correct, <code>ASN1_IDENTIFIER_NOT_FOUND</code> if in the file there is an identifier that is not defined, <code>ASN1_NAME_TOO_LONG</code> if in the @@ -1010,7 +1010,7 @@ pointer to memory cells already allocated (may be <code>NULL</code> ). <p><var>len</var>: number of bytes of *value: value[0]..value[len-1]. Initialy holds the sizeof value. </p> -<p>Returns the value of one element inside a structure. +<p>Returns the value of one element inside a structure. If an element is OPTIONAL and this returns <code>ASN1_ELEMENT_NOT_FOUND</code> , it means that this element wasn’t present in the der encoding that created the structure. The first element @@ -1064,7 +1064,8 @@ encoding of the structure actually used. <code>ASN1_VALUE_NOT_FOUND</code> if there isn’t any value for the element selected, and <code>ASN1_MEM_ERROR</code> if The value vector isn’t big enough to store the result, and in this case <code>len</code> will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero-length +this function may return <code>ASN1_SUCCESS</code> even if the provided <code>len</code> is zero. </p></dd></dl> <a name="asn1_005fread_005fvalue_005ftype-1"></a> @@ -1083,7 +1084,7 @@ holds the sizeof value. </p> <p><var>etype</var>: The type of the value read (ASN1_ETYPE) </p> -<p>Returns the type and value of one element inside a structure. +<p>Returns the type and value of one element inside a structure. If an element is OPTIONAL and this returns <code>ASN1_ELEMENT_NOT_FOUND</code> , it means that this element wasn’t present in the der encoding that created the structure. The first element @@ -1137,7 +1138,8 @@ encoding of the structure actually used. <code>ASN1_VALUE_NOT_FOUND</code> if there isn’t any value for the element selected, and <code>ASN1_MEM_ERROR</code> if The value vector isn’t big enough to store the result, and in this case <code>len</code> will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero-length +this function may return <code>ASN1_SUCCESS</code> even if the provided <code>len</code> is zero. </p></dd></dl> <a name="asn1_005fread_005ftag-1"></a> @@ -1330,7 +1332,7 @@ when the decoded length value plus <code>len</code> would exceed <code>der_len </p> <p><var>len</var>: Output variable containing the length of the DER TAG data. </p> -<p><var>tag</var>: Output variable containing the decoded tag. +<p><var>tag</var>: Output variable containing the decoded tag (may be <code>NULL</code> ). </p> <p>Decode the class and TAG from DER code. </p> @@ -1394,7 +1396,8 @@ content octets. </p> <p><var>str_size</var>: Length of pre-allocated output buffer. </p> -<p>Converts a DER encoded object identifier to its textual form. +<p>Converts a DER encoded object identifier to its textual form. This +function expects the DER object identifier without the tag. </p> <p><strong>Returns:</strong> <code>ASN1_SUCCESS</code> on success, or an error. </p></dd></dl> @@ -1468,7 +1471,7 @@ error occurred. </p> <p>Fill the structure * <code>element</code> with values of a DER encoding string. The structure must just be created with function -<code>asn1_create_element()</code> . +<code>asn1_create_element()</code> . </p> <p>Note that the * <code>element</code> variable is provided as a pointer for historical reasons. @@ -1626,7 +1629,7 @@ The output is a pointer inside the <code>der</code> . </p> <p><var>ber_len</var>: the total length occupied by BER (may be <code>NULL</code> ) </p> -<p>Decodes a BER encoded type. The output is an allocated value +<p>Decodes a BER encoded type. The output is an allocated value of the data. This decodes BER STRINGS only. Other types are decoded as DER. </p> @@ -1691,7 +1694,7 @@ Previous: <a href="#Error-handling-functions" accesskey="p" rel="prev">Error han <p><var>name</var>: null terminated string with the element’s name to find. </p> <p>Searches for an element called <code>name</code> starting from <code>pointer</code> . The -name is composed by differents identifiers separated by dots. When +name is composed by different identifiers separated by dots. When * <code>pointer</code> has a name, the first identifier must be the name of * <code>pointer</code> , otherwise it must be the name of one child of * <code>pointer</code> . </p> @@ -1752,7 +1755,7 @@ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. </pre></div> -<ol> +<ol start="0"> <li> PREAMBLE <p>The purpose of this License is to make a manual, textbook, or other @@ -1928,7 +1931,7 @@ Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: </p> -<ol> +<ol type="A" start="1"> <li> Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section diff --git a/doc/libtasn1.info b/doc/libtasn1.info index cb9ba88..8f0aa76 100644 --- a/doc/libtasn1.info +++ b/doc/libtasn1.info @@ -1,11 +1,11 @@ -This is libtasn1.info, produced by makeinfo version 6.3 from +This is libtasn1.info, produced by makeinfo version 6.5 from libtasn1.texi. -This manual is for GNU Libtasn1 (version 4.13, 4 April 2016), which is a -library for Abstract Syntax Notation One (ASN.1) and Distinguished +This manual is for GNU Libtasn1 (version 4.14, 29 March 2019), which is +a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. - Copyright (C) 2001-2015 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -24,11 +24,11 @@ File: libtasn1.info, Node: Top, Next: Introduction, Up: (dir) Libtasn1 ******** -This manual is for GNU Libtasn1 (version 4.13, 4 April 2016), which is a -library for Abstract Syntax Notation One (ASN.1) and Distinguished +This manual is for GNU Libtasn1 (version 4.14, 29 March 2019), which is +a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. - Copyright (C) 2001-2015 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -433,10 +433,10 @@ asn1_parser2tree *Returns:* 'ASN1_SUCCESS' if the file has a correct syntax and every identifier is known, 'ASN1_ELEMENT_NOT_EMPTY' if 'definitions' not 'NULL' , 'ASN1_FILE_NOT_FOUND' if an error - occured while opening 'file' , 'ASN1_SYNTAX_ERROR' if the syntax is - not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is an - identifier that is not defined, 'ASN1_NAME_TOO_LONG' if in the file - there is an identifier whith more than 'ASN1_MAX_NAME_SIZE' + occurred while opening 'file' , 'ASN1_SYNTAX_ERROR' if the syntax + is not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is + an identifier that is not defined, 'ASN1_NAME_TOO_LONG' if in the + file there is an identifier whith more than 'ASN1_MAX_NAME_SIZE' characters. asn1_parser2array @@ -465,7 +465,7 @@ asn1_parser2array *Returns:* 'ASN1_SUCCESS' if the file has a correct syntax and every identifier is known, 'ASN1_FILE_NOT_FOUND' if an error - occured while opening 'inputFileName' , 'ASN1_SYNTAX_ERROR' if the + occurred while opening 'inputFileName' , 'ASN1_SYNTAX_ERROR' if the syntax is not correct, 'ASN1_IDENTIFIER_NOT_FOUND' if in the file there is an identifier that is not defined, 'ASN1_NAME_TOO_LONG' if in the file there is an identifier whith more than @@ -824,7 +824,9 @@ asn1_read_value 'ASN1_VALUE_NOT_FOUND' if there isn't any value for the element selected, and 'ASN1_MEM_ERROR' if The value vector isn't big enough to store the result, and in this case 'len' will contain the number - of bytes needed. + of bytes needed. On the occasion that the stored data are of + zero-length this function may return 'ASN1_SUCCESS' even if the + provided 'len' is zero. asn1_read_value_type -------------------- @@ -898,7 +900,9 @@ asn1_read_value_type 'ASN1_VALUE_NOT_FOUND' if there isn't any value for the element selected, and 'ASN1_MEM_ERROR' if The value vector isn't big enough to store the result, and in this case 'len' will contain the number - of bytes needed. + of bytes needed. On the occasion that the stored data are of + zero-length this function may return 'ASN1_SUCCESS' even if the + provided 'len' is zero. asn1_read_tag ------------- @@ -1092,7 +1096,7 @@ asn1_get_tag_der LEN: Output variable containing the length of the DER TAG data. - TAG: Output variable containing the decoded tag. + TAG: Output variable containing the decoded tag (may be 'NULL' ). Decode the class and TAG from DER code. @@ -1159,7 +1163,8 @@ asn1_get_object_id_der STR_SIZE: Length of pre-allocated output buffer. - Converts a DER encoded object identifier to its textual form. + Converts a DER encoded object identifier to its textual form. This + function expects the DER object identifier without the tag. *Returns:* 'ASN1_SUCCESS' on success, or an error. @@ -1461,7 +1466,7 @@ asn1_find_node NAME: null terminated string with the element's name to find. Searches for an element called 'name' starting from 'pointer' . - The name is composed by differents identifiers separated by dots. + The name is composed by different identifiers separated by dots. When * 'pointer' has a name, the first identifier must be the name of * 'pointer' , otherwise it must be the name of one child of * 'pointer' . @@ -2017,8 +2022,8 @@ Function and Data Index (line 144) * asn1_create_element: ASN.1 field functions. (line 72) -* asn1_decode_simple_ber: DER functions. (line 456) -* asn1_decode_simple_der: DER functions. (line 435) +* asn1_decode_simple_ber: DER functions. (line 457) +* asn1_decode_simple_der: DER functions. (line 436) * asn1_delete_element: ASN.1 field functions. (line 57) * asn1_delete_structure: ASN.1 field functions. @@ -2026,20 +2031,20 @@ Function and Data Index * asn1_delete_structure2: ASN.1 field functions. (line 42) * asn1_der_coding: DER functions. (line 102) -* asn1_der_decoding: DER functions. (line 289) -* asn1_der_decoding2: DER functions. (line 253) -* asn1_der_decoding_element: DER functions. (line 316) -* asn1_der_decoding_startEnd: DER functions. (line 349) +* asn1_der_decoding: DER functions. (line 290) +* asn1_der_decoding2: DER functions. (line 254) +* asn1_der_decoding_element: DER functions. (line 317) +* asn1_der_decoding_startEnd: DER functions. (line 350) * asn1_dup_node: ASN.1 field functions. (line 162) * asn1_encode_simple_der: DER functions. (line 51) -* asn1_expand_any_defined_by: DER functions. (line 389) -* asn1_expand_octet_string: DER functions. (line 409) +* asn1_expand_any_defined_by: DER functions. (line 390) +* asn1_expand_octet_string: DER functions. (line 410) * asn1_find_node: Auxilliary functions. (line 9) * asn1_find_structure_from_oid: ASN.1 field functions. (line 129) -* asn1_get_bit_der: DER functions. (line 231) +* asn1_get_bit_der: DER functions. (line 232) * asn1_get_length_ber: DER functions. (line 166) * asn1_get_length_der: DER functions. (line 130) * asn1_get_object_id_der: DER functions. (line 212) @@ -2058,13 +2063,13 @@ Function and Data Index * asn1_print_structure: ASN.1 field functions. (line 93) * asn1_read_node_value: ASN.1 field functions. - (line 453) + (line 457) * asn1_read_tag: ASN.1 field functions. - (line 432) + (line 436) * asn1_read_value: ASN.1 field functions. (line 286) * asn1_read_value_type: ASN.1 field functions. - (line 358) + (line 360) * asn1_strerror: Error handling functions. (line 21) * asn1_write_value: ASN.1 field functions. @@ -2073,67 +2078,67 @@ Function and Data Index Tag Table: -Node: Top862 -Node: Introduction1853 -Node: ASN.1 structure handling3222 -Node: ASN.1 syntax3481 -Node: Naming5069 -Node: Simple parsing6050 -Node: Library Notes6377 -Node: Future developments7159 -Node: Utilities7458 -Node: Invoking asn1Parser7678 -Node: Invoking asn1Coding8140 -Node: Invoking asn1Decoding9877 -Node: Function reference10632 -Node: ASN.1 schema functions10916 -Ref: asn1_parser2tree11115 -Ref: asn1_parser2array12166 -Node: ASN.1 field functions13484 -Ref: asn1_array2tree13701 -Ref: asn1_delete_structure14553 -Ref: asn1_delete_structure214927 -Ref: asn1_delete_element15382 -Ref: asn1_create_element15854 -Ref: asn1_print_structure16508 -Ref: asn1_number_of_elements17137 -Ref: asn1_find_structure_from_oid17732 -Ref: asn1_copy_node18210 -Ref: asn1_dup_node18696 -Ref: asn1_write_value19056 -Ref: asn1_read_value23090 -Ref: asn1_read_value_type25880 -Ref: asn1_read_tag28745 -Ref: asn1_read_node_value29452 -Node: DER functions29798 -Ref: asn1_length_der30001 -Ref: asn1_octet_der30587 -Ref: asn1_encode_simple_der31395 -Ref: asn1_bit_der32225 -Ref: asn1_der_coding33016 -Ref: asn1_get_length_der34039 -Ref: asn1_get_tag_der34579 -Ref: asn1_get_length_ber35124 -Ref: asn1_get_octet_der35717 -Ref: asn1_get_object_id_der36576 -Ref: asn1_get_bit_der37174 -Ref: asn1_der_decoding237847 -Ref: asn1_der_decoding39245 -Ref: asn1_der_decoding_element40184 -Ref: asn1_der_decoding_startEnd41491 -Ref: asn1_expand_any_defined_by42943 -Ref: asn1_expand_octet_string43748 -Ref: asn1_decode_simple_der44749 -Ref: asn1_decode_simple_ber45391 -Node: Error handling functions46092 -Ref: asn1_perror46308 -Ref: asn1_strerror46649 -Node: Auxilliary functions47060 -Ref: asn1_find_node47252 -Ref: asn1_check_version47848 -Node: Copying Information48447 -Node: GNU Free Documentation License48700 -Node: Concept Index73815 -Node: Function and Data Index74921 +Node: Top863 +Node: Introduction1855 +Node: ASN.1 structure handling3224 +Node: ASN.1 syntax3483 +Node: Naming5071 +Node: Simple parsing6052 +Node: Library Notes6379 +Node: Future developments7161 +Node: Utilities7460 +Node: Invoking asn1Parser7680 +Node: Invoking asn1Coding8142 +Node: Invoking asn1Decoding9879 +Node: Function reference10634 +Node: ASN.1 schema functions10918 +Ref: asn1_parser2tree11117 +Ref: asn1_parser2array12169 +Node: ASN.1 field functions13488 +Ref: asn1_array2tree13705 +Ref: asn1_delete_structure14557 +Ref: asn1_delete_structure214931 +Ref: asn1_delete_element15386 +Ref: asn1_create_element15858 +Ref: asn1_print_structure16512 +Ref: asn1_number_of_elements17141 +Ref: asn1_find_structure_from_oid17736 +Ref: asn1_copy_node18214 +Ref: asn1_dup_node18700 +Ref: asn1_write_value19060 +Ref: asn1_read_value23094 +Ref: asn1_read_value_type26027 +Ref: asn1_read_tag29035 +Ref: asn1_read_node_value29742 +Node: DER functions30088 +Ref: asn1_length_der30291 +Ref: asn1_octet_der30877 +Ref: asn1_encode_simple_der31685 +Ref: asn1_bit_der32515 +Ref: asn1_der_coding33306 +Ref: asn1_get_length_der34329 +Ref: asn1_get_tag_der34869 +Ref: asn1_get_length_ber35431 +Ref: asn1_get_octet_der36024 +Ref: asn1_get_object_id_der36883 +Ref: asn1_get_bit_der37552 +Ref: asn1_der_decoding238225 +Ref: asn1_der_decoding39623 +Ref: asn1_der_decoding_element40562 +Ref: asn1_der_decoding_startEnd41869 +Ref: asn1_expand_any_defined_by43321 +Ref: asn1_expand_octet_string44126 +Ref: asn1_decode_simple_der45127 +Ref: asn1_decode_simple_ber45769 +Node: Error handling functions46470 +Ref: asn1_perror46686 +Ref: asn1_strerror47027 +Node: Auxilliary functions47438 +Ref: asn1_find_node47630 +Ref: asn1_check_version48225 +Node: Copying Information48824 +Node: GNU Free Documentation License49077 +Node: Concept Index74192 +Node: Function and Data Index75298 End Tag Table diff --git a/doc/libtasn1.pdf b/doc/libtasn1.pdf Binary files differindex d874b4f..af15f47 100644 --- a/doc/libtasn1.pdf +++ b/doc/libtasn1.pdf diff --git a/doc/libtasn1.ps b/doc/libtasn1.ps index 735c14c..b0c8398 100644 --- a/doc/libtasn1.ps +++ b/doc/libtasn1.ps @@ -1,18 +1,18 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software +%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software %%Title: libtasn1.dvi -%%CreationDate: Tue Jan 16 17:47:03 2018 +%%CreationDate: Fri Jul 19 19:09:57 2019 %%Pages: 36 %%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 +%%BoundingBox: 0 0 612 792 %%DocumentFonts: CMBX12 CMR10 CMTT12 CMSY10 CMMI12 CMMI10 CMTT10 CMSS10 %%+ CMSL10 CMSLTT10 CMB10 CMTT9 CMR9 CMMI9 -%%DocumentPaperSizes: a4 +%%DocumentPaperSizes: Letter %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -q -o libtasn1.ps libtasn1.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2018.01.16:1847 +%DVIPSSource: TeX output 2019.07.19:2109 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -1360,6 +1360,7 @@ dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put +dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put @@ -1564,223 +1565,227 @@ C3C67E71D8BE2B8D5784E8A6F19A9A8929DF9833440E160945274682F435DFAC 575048CC768BB8F13AA21C6B125E6073611BE138AE06D13E62E7EDE3D0239474 E040B3E446165FFE60E20B75D2A5F9EE021B22256621C290A8F3342F0347B8EC CFA6AD68D47C05268EE3AC8683F4840D736EAB585C6284018DC94FC103B4A882 -ADAEFB625EA966F3877B3FFEA518B809A4BD1976F150D90CA8D3F4CD9BDE66D3 -C4EDAAD03F38F51BCDE46EDE3886162BD9BB261372533ABD34FED03C561B0130 -BBF8365B2289D193B45CA39A7A738A7D573E2345E7C90BBECA11CEDAEE221757 -21D744792446A018BF566063ED4B286F03DC5B7F675B6095FCB023CF330B9941 -F4CA0142BE88BB675436D0811B54A389DAF3C6742FE17ED4B6760401356C5F45 -2BA5CDE430A38B9DBBA11B96B48FD6B91492F12108A2BD5DCFEC68DCAC37B01F -34829D2B458E78C57342FA33F4B6C22F4B14CDF101BC10E7705E095C1D41FF88 -847F3CA10F0CE5B61C99AA12085390CDB04303DAE42C682E8D51D67BFC9EBDDE -E875AFE2C97AA54CB9CF4CDFA10D20C35A742BD05BF2610E3AB68D03444E830B -140637754252B2735488BD1E0ED5C20050984E08E6072690862EEA0EECC2F630 -D6CA6E30A1C8C7E69C4DAEC4C75BC4FC4FCC6FEF365C73A4B3810591CC6D443D -E7642EA8B6141FAE0D255B164DD0487C92E379BBF2C611A0CE138D81512A748A -2F8839DA6FCE17A54327BE9D62897840729E1D46929C96685080240A13FF3217 -C9641EC494FC47B30938935CDA0B2C44BD08847F22D693485AA6A0F05AA5B483 -70BAA7AA0C3A14A5B5343666327A003001D221D9DA18EA194DC23E1301D171B6 -7C5EC1EB8370AB77BB0356CE8F299013E1C7F5BD9C6F2CB4E6145581F78591FC -D029F91A54F29EB0FE77BFB5C8FE378E166955B2DCE364A71C3AD33DE1E745AD -417E727BE5D2B02EA3932545F95EA4399C4CDCCFB49709B491FD6A1EA2733568 -4FBB320505889D4C5F32D4B4F10C28D0A661471869ADE7B824DCB6753D03C393 -E76B6DE5DAD6D5834739E426F3A0C660D784E5CD386E6A5441FF6B41F9448A7D -56B14E40F0174365321667F84977BC33B2050D532A40397BDA697361BDC535F0 -53ED23C5EFBE4F7C6794304A0FF6B67A7C8E8001D47D7733A13FC672D9AEE1B7 -FEB0DBC7355F635C86461F1AB2F7E0B9C80F61E830599F2CAE67E85468336481 -E9E6433EC7EFFC359B70B98035F5D2CCCA4743B9EF41F19EBF3B550418D0D913 -C48E9D62580733D4E210AFEAA5B764A521F387CDE8411E3EA996347642BCC3B8 -05A60E6056EF0FF34F028ECAC78C19826F1EED90B01A47DCFDD769D78458647E -505492642104B550D057D73C986E2CBE896B52CBD67FC056D968AECB5869C712 -4D52E0A774F3681832AEE1EEACE1DAE31B779ABE6E760072522C4EAEC7D5538D -701B0C048713FC390B5E7D9729A5078AB46EE62B1B76857F65A3959DCBE8A409 -D8297851791989780C35328D8CF730881326E2C796A9A3161CEF031A068C42DD -7E58F4B3B788CFD4F05195B4D58CB5FDBF7E06C44280723F27C20BCD234D5E85 -3B3AF6D9A49324CCD96C1B82B4DF94E182EC62C9822AD4EE33BAF810482F3EC1 -FEC1B87CE6039C60EDB6A8D189D1715A7CF542CEE4197488CDC0433518271D4C -53EB8238C67DD01F7DD2DF798054EA8CD5922CB9A8E3D5522F71400DBCFAC866 -A8B37C0ACAEE6E8F18241BEE610415B7D7CD0F02302404862137AE9C9F9155ED -DA5454C584E89277F40048DB5662A9A5C6106D16A51D3A5FFB7EA197DAD29ECB -219353620641D310BF811DCF8701967FC99B937BA3D369D0A18A98EDBB2B1EAB -C0534B458266976D1D872DF0E2EA702AE79A273054C28425B245154BEEFF874F -5929DC8179D2DEF24B84CD7F8FA385B17ECD04E71DFFB618611C967040EBBF31 -867A1AF98AA82ACB6FA1E65115D06A5D10701D8077C7F93343D5CB255A565738 -A3AC97905293D0B83DF381AC9C3E9FEABDB49504BA5D04043A4473665488BABC -F9FCB4A97167DC394327F0CA3510F8439843B6812ACAE6774C523EBE7434AA5B -0134719857865320EB40001E310370BBB0AC48E4950B2C817A48E2EC92D04524 -EAEA30188E333AB95902DEF3088B9CEA52D14078A3FB8ED012F36118F8BA671B -6215E1CB5A619A4EF1B390CE97E99FD0453A4493EB45C3793BE85CE13AE0C199 -C388BAD3D4ACADE0086056F62708B4E3CAB3864F3E0333E615894916B7334E43 -4DDE99CB3C92155F1A07464C5D3592E89CBD25D67CEEF0C29CF2501D0F9BD6D6 -9644EBFE95F2550A15A4E8CB6AE38F6CA4B006FCB5EAC6FB4A789EB88F891A87 -1747B5A5700CA2D8E531BC372A101783207E7FA42A019992A5AE22BF55B8538D -538ABD912CEC58C5A9C5F78687A3A777391FBC5CB37B47CB70B7F965264E78E7 -57F9C81CBAD6693CB97300FBAEA8BA041E5E9ED3CEC9FC796F71F50823F2D2B4 -7CEDD0C6562D1B0F63AC218689002D09276EFA203860CE660E5B36A02ADCE68F -5643412C907A028843F6FE8D05B734CC8F525C9D4F2D007E12F49256AD5A6C26 -414C48438AF65FD0A116091AA59679EF655804DE72D4A032C88E70E965289014 -4AF3B45395F2762F9ADE1CBB3570E9689694F3D77E1DCB65BE20460D077CF2A0 -344D1C07DAF4616BD52353032F50D5C640805D78448DF7E49ABBD2B2025ECBB8 -57536EB7EDE67E8647434B74C4D232E9628D2175D49DDEFA99236310B466268C -E318689AF662B44D804E96D1CE5265678629E079D749554EEBD69278A4EE8795 -ABE7495DCEA3E85E3C97C91887EFE33C90D83C267379A67F7C86D812C63B56F3 -D605D45C36A0825B1CB352FF1D016744ACCA4D55A5A58D8651D023499D14F911 -6CD4C962EE7CD9110067F99C5CA5697E539FB78027C7FCD05060A22E220BCF85 -F4E3DD7F176B4615F53025F126E9BCF5647954FEEAA6382BA7D715867638EEFF -A393E427329612E791A950FC84CA9EBF084D4A67A24CFD7536591229E67E4410 -1FE5D2E74468416E9720ACBD535E13641F39B38376C676B01629C6C39CA1158B -0021A3C98C921B0C5BE8EAEFB0F489FA59834981F3D70E70E2C5CC9DD905BA8E -03A6AE3DA98F9438064838B0FABCBD83071C7D49E37DE9D6C5289AB2825A62B0 -2A761A7E1BDD75D64EA0C2800699EBBEBFC97CB7212DD3DFF3284A966415E0A6 -668C25020BBAB3D885303AA85239B69C9C083D9D6251F35A20F63AB04ED2D7E1 -AE49EFD44BD620CD0B95929C815D8D17F909E2102027910DD813F5E4F20D0FF1 -D4E4541547AC5A6143439EAC27E0F1A11A430373FFA4401F7844FCBCC0D4D0E6 -C5E52E03157831BD6CBA03C00D2BB80C6CD64D69E885AE62D4ED452D2F4A864F -0BF0CBD86C2780AAC052423F590DE3DE4D6E39EE05A15199DFC75F1FC1EA1D1E -04514C061C4FB7FC872E099B526FF927F6AD8BDAB25CDDACF03E15E475979B53 -1AA25A8C9F77DC958A95A5F9A3B2D4B1CD759E0257510F850F148351846AB8E3 -34AA5CCA4CDDD6520C36789CBB281BA7DA20F5976A4E731681E47765896F4108 -2859376056F823A6E40587935455C22B1AB003F4C8053D57B521F1520009744F -091644AD51BC329FD432CEFA48C7CAE415BBD7362DAFB92D997836EFBF9DC5D8 -3AB26A0DEC90F175F0222334BB7B4E97A84AE6A01E6CF113262443AF464B24AB -1174DD4AA1760800CEF690AE6888E7A1E82D69DCD65CFD57CEEC83A52E28F299 -1FDD8D6BACD3F9F38F92F3E98D086437F44F55B49483C9F49A776191E7F26D7D -9FF8642E1D69C6E97640A64BC981760CD1E423269EC8DE0166FC053D1DDE7AB0 -163DBF3EDBB6F91FF217BF62CF640E673056D030303550B3BA9B9EFE3886E79C -015F68BEA5EEA461083D72F57DE6D38BB0F91829FE9B550B0A0E8BD802591A92 -494F50C8A2E29B2D13B7F930444C5CBAE371E3A32F56CE10DF8582B697E6E7D3 -80ACDB11EC9E080B0826D6CD8E378F5A98BD4CFFF1CA77CE5825EECE282A4C9D -60458E57C15617D16CAE6114A65FD03CD57411C143EC678290410AFB7092B483 -C9A4F08AFDF5AC048ED7C0B5F04A86DFA1760C01E1A7B5629E9DB276BF04283C -CBE698E90E635DCF162A543EA956500D2B499B17D1581B729DEEA5C5E141C164 -E290CF3A782497CA309959CD6E79E7E0F0989EF12631C7EFB79DDC27878BA445 -828C7EF4F4647683BAA41003E67515C4FD367D6DDFF53D987D82C123CCF4E1D6 -F6C0BD859F271BCCA27373CEAAA0DFB041B5A76C333B24F69CB46EAC0C58B3DE -F7B9F95B2A6219BFD48AFDC471789AB6563D582B1DC2B55E657ED1F2DC33C718 -ACCB45AD417E725FCCA5E848AA997A5E2ADCD2FE85EF65B51BBA20A80D9CAF2E -CDE7A216380C44B617C3965E82784856348A9FC8F8078DC34BD883A048C3DE73 -584E75F2F924990802906A334C45D82264E3806C1618F8645D15513E014AECBA -CB8D02A925393174E3A0744D635A630DD984B7DAE5ED8D7B48A71C8580995E24 -E743E83AC57E445DB3B914A0C7743BD608CAED5F31AFA9ABFAC4EAC3B5F7C266 -13A496E1A546227BFB3A19ACE042D13954446409E09F4631C6EC967CA2B59E69 -185301A999A28106145843A60B963FD7CB0EA0AFF4D2F850B55C88A41B9AC5A5 -4A1D67A0622146A75224331421E38ED23A3FC11351B0FA8B2512D1A93C7B909D -A1993FFC80B3F114A1468207592BFC34F49A15D77572EB129AB1393F557092ED -59BD1E645940FCEFB4B3E39771E4983EAA2CFA33573B7FBA761067E54E6CAB15 -678536A2FE638A0A4C508A71001BAED69F3D4C2700C9ADDDB666B1754957A8B9 -E98DF835AED0544CF272ABA25FCAE349E0A24449E36A2719F2301426FB61069D -3F8D24DBE1A3CF15EFBE64012D5A05FE5E81A7EB841909FB8C94C8CCA1357708 -C5E8BB923F791D721920C067A0A8065691CF400414C9E90D7AA794F2C7E845FC -08FF4F8133F9C82BCFA699368ECBF6AC497EAB207E6F60419D91E5A0D7141E1C -AF70DF40D7723923D15F4A33742D1C0439FAE7ABF110CDB6256FFADBF296F4B2 -651182F3FDDABDF8E6CE2EE98FEDECF192A750FCCE8D91A3D7C47B6FC3DDD73B -925386537D7A9671B9887AF57AEA9A19610AF44C14EDC4CB00505A6D51492117 -BA96923DBB4F1C078764E81780E384FCE44944D68E843C0324A93511E394F3A0 -27DEB767145F4B28B353D6559D1731E07781F21B794C346779D59AC2A269FB10 -706ADBE2DFCF7FCA0D285906DB46B0CE4F54CC0C5C9BD85A1C1E1207AB6E0E2A -C13B4C5D3B04D50C4686051BFB8C7C583104C5C06C98ED9793D2F90CD74F3B1F -B4844E92D260D197D6F82C9161B78B509F86D0706DDB488119034CF8CE3F8AAC -24A0D3145ACA773AFEE463E1ED290ACD704501400832572ADA4BC8CF3B45EE50 -5D6B0BEFE762E3E46681E856F031B50206F0EEC6FC48263FEBAC451E4CD5A577 -D0E85CFCC49645790DD11C5A939D589AE552BA5D1933ECB14BD54CBC6D8F036D -76949367532CC57FF4DE38AAEC7F324691D5BD96C1A76D976EE267F4B6414CF6 -3F5F299C162BB63B5E64D284A97878ED05B770AE864607C538E0CEDD6541CF01 -5C22B9F702C119CDADE25AD23C31E78F46D215A6D65F37652C4D74C636CBA212 -8D4C6FA5667BE5D25F59F58C4D35319896060116ADD5B27F94205AEF4DDEB648 -C3DB1A06BCA363FA4538137B051D4BBC94B34BD94D9C8E728A99A067933649E9 -F57F1A08498E24783960D546B4F53AFBDD15F401C78A8982DC42DD2FCDAC4E47 -5DADE22DFE7E013275A619AA38B3889F8D81493BBBE04FF6E4815A7B51D6C162 -58B953BECD461972DA9952AA2F44D16465F0743C602CA583F436305FFFDB6F7E -AA4398524C2D804BA3B3DD14850CAD0FD15E2793E3903D9809802F9FF33947DC -56D1E63A6DDF36FA836D2A70DA1914954CFEC82E645FF3B17A6C18E9D1DAF11E -EFD529C47B5FB67EB6925BEFDCB2965CD8D43375915B2141319293CF55912FC7 -9B7D7372DCFC480C344C0755B802DD31E82F7808DC99ADD39A6F37FE8417AFDE -F6324B415C36FF87DF66543E5E411CB83985EC6972F350236B7DCE0E24B0E59E -8F365F01803F62EA64DF9BF8A20755E1447BAF2FE8BE7662DEDF67BF37CFD088 -1BE20797FF44B62DC3A4AFA09FD64937C95E7085489099F185F66E3CEF6F6C8D -A1362FA13C853D172096C0FA44F257F6270D22EFA230C261791EA6062D3BAACE -F5A1EA0DB44BCDB834D28D02AC851440D145C1885A5B1E5DBF1F8EBD076550BE -064452220616FDC46A7B92250F07C3D0440B8ACDB87E92DE5C567AF0CAD733EF -66C90876469C5FBCE277EA1C85E76E00BAC14B824BF743D90AB86288A3D740D9 -6E402AAF6D223C11D7F4D03C47E39FC45F5CAA282EA30C0351D580A8734346EE -735D909A2F6D23F1E1F55C2163AFDB42E528A1FB6D22FD3ACCC12CB771FE1E7C -F5C946D682443A26BD0396FD44DC9484C75469B7CD0207EAFCFD6BBDD0A8989A -A9B8FAFD59F3FC57F1C35ECF26EEA7B09A6505EA01CD8ADF8FE0664BE19D1E05 -56135EC7C89F64B7426E0DDE5CD424A834E576781A6179F63B7ABF41FA9A1EBB -45C8D93D4C172353952D961C9D3BF0FC42F7EB4D4AC32750B0BC9596A4D9F610 -428239422891286815D66116A02DB58531B25CEDE819F7B5F044A9207C264DC1 -FD02DEB67B622DD3655D2FECD7C106F0104FA05C22D5221DAA6E134D3149608F -03FC97DF783DEEB8F0757E2116B36BAB0384D18184177D97D947983550285B17 -1DAA6BE705219CB6ED34D02CFEB76D708014181B299F69F8B4CA7D0FCBDB43DE -8AA73403A531D81A9290AE447184735B7C2FA4F81E59C07FC8454D690EFD9F36 -0D7DB4F0FD87DDA518387F342F9CCBA1B36985D8A2EF780793B79D4521AB828B -5F0006E8A4F41976945501F3BCD6D8064311E6471E856D89903810B298D82560 -A04B927F04D6B8E062893466A2B98EAD6FAEA3866F0C43ACEA9695FC602F712C -1A563759D399F56A38DFDF00A69BEBF7B52ECE48E1F40001C6A94825BA48A318 -399A5C879C7C70C913DFC8F0D26070AD1FADA158039ED6140B04D4ADEB2B3605 -B5EA9F670E2DD40180886053399EBF39FBED864034C95E378789FEFA0055BFB2 -148FEC39E0B80C4793BEE6D5109FDE9B405E5C32D8480A854838E22A7723AF08 -786FBE9A4D20207BF7A2B6AC3A8B38FBAC4EFFF1E961C0BF3750B99929A891E6 -7E3F4734230D98212410DDA8665ED6EC2CB22A4210AF6E7E0511214B6B714708 -644ABFC6D303CDEA42375BB856547B0CBDF73FD732B5FE2402C3BE286E391BDD -70594242F300906C09747A66EAC5AC8D86E3F6D9123E5DEF6520C2104DAFBF29 -3575D497CC5C01DB31D97D5CD3A07C7A5D3C0ED470CF49BD885D7E2B5D336602 -09BB1BF76513175E98977D5AB84A0534FF60C8BA59ACF3E82011603B0ED4B691 -8435CAE6D4D937B84C14E8D58F5D0DFA6193491BA4DA4BE76D8FE65F3538D019 -A615B9624780817B43BC9980C5DACE3B92927622459284E0F337C53694E745CA -9578F28788330B93D257C911558D443764E07C81B910B7752F53A2FB665DEBF3 -454D88067569006D1D55BC6C31A7E02632FC1AD74FA56CB95B0C7679CE4E917F -4C364FC8FA6DFF3ABFBAA8193B559760C0ECA8FEB1EF4B1A7B09A412E9825215 -A5ED693F182EF3C51337A272CB2328875C437ECD0D387C93E25E69B82144804A -AAF142E2C3054F59459D51F0AA663C50D317553B901712880C4B3FFD95F32C14 -424AE2A1CD3913497702E2BE6049CB6334A44CE727DEC48F259F8C5A514FD25F -62EEDFD4CF170DD2CA4CAAF4B22C9FE090B4D52C96578B30646361D5EB942CB4 -B8A8251F02A22518E94ED659C193DCF48423DBFE0F909D10A84CB8AFF593D3F0 -E6EE31800E36249E0B7992E620CFBDA4B37B3A8C9EED8F13D9FCF96D517E6F79 -95C02E77A9615730264264B9524C7F5F63DC1827D7C6EED9F602D0D94B78BC6A -1952BC2038E3D48FDCAB72DF8CE7B034AD9557AE9A3FDFE9D904D97DA83CBFD5 -4C90B52624876E17AF64D0E24FFCDD2BCCB66D98DEA7680537C79417A4F18BCD -DD98CB487B447A317EE2F00E28716282A514B19EFA35CABAE5314ED349A50BDA -82A0FF68C318D5212DA2FD9D3E7E440F2E592BF08F0DB0C901F9C3F8868CF2CC -F50832676814B2A6832C1BFE1AF637A3AA129E160FD29898244A2D0145AC8332 -7269BC07364E7367CEBDCDF7DAC0E3745BB58EDBAF00618A7619F31E5A942286 -CBC91C0B565B57F9BB8C8BEB3FF3FD10E4063B85E8874C1DFA13031310FC2826 -3E67D0EC92DDF46F23F0AA4851DC75F92CED85821B3AFDB02D416B7D463947A6 -CA8F9409621B95631862A86002FFAD9FD0098A20961AD38B234DB08E5DF61D51 -6F85988ED8B0ADCCABE7F1ECDFAAB1DD9BD40629B1E65BD089396FDFE0A17C40 -99951F668BD116E812A245936D70E294285F89170447520CB556944F8DCBE076 -C4FC87625AE3D679A0ACE7DBC73FE4A28A22937E48C950802CC71D47DC551A9A -3B8227D72952C46FF592DAF1746D996CF17996C146CED52610176221E9CF510F -EAAA612D1265E4E1E4AE2FFE7094A99C139A44E7255D3A6105A21435ADA34ACE -E82F071DE99F3A6289C0C04362EFE40997E9E15CDAA5DAAA4C16411F26C01C66 -A2A6EDEB969E9440CF7A8980103DB8D94538D149FDAE75FCDEFF3F90424DF294 -0EAFF17284A5DAA1D23F4BD74B0F5B50B78E1D8697C1A3CB203B59F50837E0CA -D8ED77940E586EC519D0AA059F4A497D49635DB8D96DED66BF8F3CFBF7C12C13 -4693C3CC69C420B19810551ACC78E060C001610E0EACFA822BC9716D3671A62D -2AF9B525B9043C67081A9C2B8D3B703AE5C407EA1C89610E4EC92A953711D45B -C7801F58A316500BBE4794193AA9B21AE017416D1CCC2E4C6315EA0E6E1E825B -972DA5B331175BDE7111FBA4F41C13CB40427A97D8B9A5F1702E9A9EB0BBFC9F -0E00B4759F346D38E8A47F2F0C63C7D284EC8DB8FFC18AF0120F081126347A60 -2883E5EE4BC0858AE21F48CC271C90B37B191CC377126A41EA064D81C6200B7D -340924B6F50564EA4D2A92327AFCB1D5B07D6B801125E41732D4F373CDA0B495 -98106652E949972B86BD3882AF0993C5A0B9368C20DC3CE87C00B53267188A7C -2FE7EC5E443654DF30463A83069D90E7BBF0C787B8EA11C7D7CEB456B28B1ADC -605A8956DF1B63938C2946B06629FD12BA5AD9D627ABC73DD7C18D919AE05198 -CB7274D81862195556F92EC63E1DE68C09D2C2A6AC9E049FE7A28410201A4D93 -D569C862EAC182B1FFC5715B68E40D666F59B8AED6526D0047AFE6891183925E -3A2EA27C741B8C4FD031537A461737709443F63EA922D2DBB2C5519A72A78832 -619F190C31767FD4DA0521343C246C874F6B7F53F444A5155984062FD7FF2E4C -FD12638DDF777F9AEC8EFA25643B2FF85180A73292F288A13EF1593D0245A90D -A8E50B6870075310F9D0258F9626D577D64894561FAFAA31A7627B38F81BECD9 -B322EA2901D61545B7489D3AEA31BF314D236F7994517EFB8663F38D0DDBFD7A -A992C19863C9B3F32D21AD970A8869592BB97508F7DE9544C360D87FA95FE33B -796D41808589C67D6B0374AE0B7F55DDA11CB34F9C287119636A642AD3A40B2A -7F6961CAA3FACA92D3815B68184595A93A903F73840DA1A3699A420CFFF61F8E -E38B82E30C1E0F5F3E5518A9E87C2B4C0177AE246AB345A65388104584EF11E3 -88254BB0CCBFFD36A924EEF2D21C4030AD5F3CCEE563998ED48CFFFAA24DBBCD -8C7F885585B3A8B3FB5B8A03D307D752D5174A5C450C4C64369A371BACA1C7BB -4A7058108DBE6065DB0C64DFD4584C7362CF17F2442ADA0FA4D89E82E10E27CC -133162A1DB6F2AF58AE0EF27904C89297E9BCADA2017140A52E267FBD44D5704 -E61C +ADAEFB625EA966F3877B3FFEA518B809A4BD1977BF1902EB9F06FBAE30E8932A +D1761807C92594B57F86E1E36BE9027B7D1E0C22A83A2140A91406D0289D3833 +C3361F8882CF720E445B144B633F199BD875EF97202DF88AB3EBA034E510A6A2 +D2F464F6D5AEDC833F8BB9BA74A6679F71D843D6BC4D40FCC68B411224212236 +3B94C160C14C57E0BF68104DF3C99880C25245EC98AE48F71BE243D4278C2B17 +1CAFBE0C365E96559B77E607BFFC6634D03B8E25BDEF3FD2E3D8B66473C7B425 +45A646CF3B68A56D1C64C5456A61E5ACDE212CDF6DCDF6D589049EF6C91C30AA +8556424F309355355EA52E8F7342A91D122FAB2DFFDEAA78506228B49385C05B +08793E912D338712173DD0DB44C7C3281FA3D8B14CBA99A3938B147564342923 +D53A2BF18D334DE5E31659A3434EAC96A8D7B363AAEF5CA4DAE67A27890C07AC +F31A6BA7E4A3C2AF654C025F17FCEBEC864C0A9B7B68571CA56BFA4A249896FD +96BB19B8F250672878B67BA411BBAFE3CBBD940F005DBF32F1D682F487A1D1B0 +854922FF69C8D6600E67142D651192A911ABE2602E5126FFDC351E1845A22D02 +AFC17BAF941906E5F7A3C35D2DAC2A2F1C958E637A0EB5401B195FF1E1908B3C +EE13700E365119C68B8A0C3471D3E7911A6734A678F43E86FC55570385E5E107 +4CD618E7430A92C695F6ABA13A68FC71C573D62F6FEAE12D6C1EEE1F1C424C6B +CFF56BDE7FC34F88A144A62CFCE0D377F8BA416827181FBC7FF8538FA19B1ADA +1A12DAA904DE6087D90A750CF8B76F97E3AE0BE6F65145F7E99F566C8D18F817 +532DDE4EC38F5127D404053F3B6CB4694D9973209533D99DC44948178F9F976B +697A04799D7FCEFB13B347143472353503A3DAC56A753E96F46E1AA1D736D7CC +55E6E80EFF0FDBA4A7728E5B5BE6A98BDB93DF5E27253D9C646B595B0507DE97 +CEE5379120D39CA5F22E3952261C0205AFC2A7AFE07F0D8352072E6455A62FFD +3FBAFB256E0B4288E8F6B724CCB0913026D7B19435183FEB0E7FDB7DA521A9DD +EC933881FABA422199AF4F4FBE7BBF8F89F4733A31CF7814673A4BB142CBF3B1 +987E1BA9A6E3372A3ECC943A373940E4411F69F23477CDB2638C060A96023009 +555378908A27BBB6DA89D5D556A536E38DC41FC66F35EAEC9C948AFB2A826A6A +5E8DE93976448E0DA8C81AC71B78F76FB1B265E446C05DDA5E049298BFE6A4B2 +DE4053742E11EC7FAEB122D6E3E30D91F075B38C7A4D0BBA4BD4EDB637BCAF9C +D2A3E27AFD24071B4CB37722D8027E8604CB80E3EAAF45F7098F730B11016E29 +29E6E8460703BFC901B4314A825C3D1783A46F5947A46CAF30BF4A66C7EA7ACB +A63A3FD2FFD9B7DD4D72EFBD5C0314885AC7EDEC9C04244B07CAFD993B9EF84A +E12A23548EE99CF89A77C5990687BEE34FCEC3EA658448015BC90B0786E5402F +9F432FF356324779145310A982E269789AE091E430A0F4C9F3EF03B93C2220E7 +CB0627B8C4193154081CE3A57E64F659ACE95511BF4FC4D4D4D78A503B68613B +4E6DE03A7EAA69B0C6EF0C08A117D3F1416D077BE519E668A3D7826C924446CE +08FB7DAE6E73301DCEB2312BC57401DB7CB38F2ED4567735C4792DF450C91F28 +35AD53A70F762499AD712984A65BC7561CB0B0E9FFDB1F961284DDF22C42DE23 +9A734C6EF90E453F1721890BA4056EE43FEF8743407CFDC3A4BCBD0D74CFC14B +019585A4E0055F8A79C1ECA2EB40EC0639BEB7F11F82E006C772173319ED3765 +ED20E579EAFED984C0F83C694968E8BE5000C9F9BAF72F24462164578FBE03AF +8779FDB09149BBB336335C58575B0476E8D97D06CFE4F8842348AAE075872F22 +6CE687C9C127C17720B7AB19B734670E7F241D493F71F7F670E3348E205E1243 +18D645C5B19C1F5359CCD9D3E9B5167BDC1FDA655AF47B45A7D15552583AA514 +FFC9A9E84D5D3EAAD53C17F42F650BD3E160635F8A4502F31A8781A72D893AE4 +7E65B5C524F5292E2D6DEC4DEB56BF52D612335401568F3B260DD73FE1E92219 +0F3FCDC127A654E3E258DF662815A673845C91131CBFEB5750A3BA225892FAB5 +2BC7341D758CFFFDD768983EF8CA9082CE935FACA20ADE200C148E4C97A81E45 +BC7C49D180E7640AB9CDEE1D03851AAA9A5DCF5EE98BA5AE501AEB4DD6C188E7 +8917B66C41523220E0722168D50264F000046A23102A0302F68E3A17BB370456 +FECA547897AC46F4E91D7A82401AB537041F144284F8A7AF17B723669E9AC554 +9A0F0874E4C471E01F2D53930493C52FD6C61175A67A4E16EC362B6CC4B242A0 +8AA814B7ECB7FF829F121E9016CD0F9E4DF347D00AA7A30C148BBD5D857E8685 +00B284B3CA2F0DF0E7C5871A1F2107A2AD69517B3DD43591058DD5C628E27073 +BE2A18DF6E768E8E25003F6A06FC0173673209F1DB7794C144466AE8B5E1271D +37E874DCA477D70AAA8100F75425DB765BF94EA131CFE379632CFC31D907DBB7 +9F1C967FF459F490EDA15522E7C6E0399E7B76642DD67B2310987936074617F4 +4750B22CC1BD7AAB80B2C764118F317852B90580C369324CCD3AEC4B62D43004 +1B51981E02DD34A98B01A8508B189DE0C4E83813721D3B34417F63D4A25F640E +D09CAF6958C35F1E1F17F2C846A623002A91B9FC2689D944F1BC4F265F71E3DA +8CE72ADC538ED824DFE439634392FAE73FD525F563158CFC77E0E4F73C6E2297 +D9D1559BCD92805B4C92EEC03B61F313725A14BDB45D923733EE78E33EF3F43F +36DF9D01307833C59F0F385921086E0888A660BA2F78AD31252AF074602AA100 +E149F7EA08A1F6BDC3895AE0090CC1C43545DD9C639FB9B39D52F3AE78BBDFC2 +A25C3AE98BEA9DCA8A4ABE31096CE36CEBE9BE231D7567115FD2FCA246ED3916 +A041B7B38140B3A85C1AAD83A5E7D540F3F5EA71B7D5A60E6B278C981962297A +CE19E330B29652E763300876007240244775D1E3D78A3CA90A2516F68BD02677 +54899B8CDA19653E67C5B7CD73E173E4234F116E85B9FE48C50544A644523FC4 +E7472344E92271838CA7C85A11B028AE10A02771D3ABDEB514123D947859EB2C +AC95A65233B92E29C00FED999E4ABE5470C7F5661A371B7E1D65C57E7951CA42 +89B2D52283208ECB114D13C0049ED6D128750D55D3230DB53DBB5D26DB7D2A6A +1F70AF774E25ACB2037FE312A5EEDC40694A38BAAE1821CE515197F8D950857B +7AB5552C30B3114899951A421299894A07249015D943D128043D14AF40837B48 +14650157A807E412AF4E9009C281AA161FA8EDA7A1B59B6DC8C92056941127DB +8697F91BEA0847DD52FE27EF171DE0B4C6A03AD86C61C8A7D60ABF434FA8C7E1 +BFF12B8B21765D09795176CBCB70BADA370A6D5A6C55DA23C09A23663AD3D4B1 +3BC46E8DD66F74B8A9AC681A443F0341CBBB9920264EA6A1591A69882A46EE26 +0557E482A086AC5AB23B027D10E4B939A109DC2DC98B6A5F9E4CC9EC8D98FD54 +FA9540F5905F03093983FF900088332721E33B06CE903E133CB8FAE79C72284E +05005AD63DF217244278AA0CF5E02E0686857D8DE1F74EFC620F0E2A0CDCEF00 +11D89F33A7CE21672FC42089A81A427AE0806C6E5E5C954D1B5DD54E00FA4CF3 +B628A88CDEA0D61147962F5812837FFE6E7EB6043001B7DD871F4A5FE994CAB2 +3F5088B577B1A80546DCED65F01893D51D2F5BEB330E1A1F7537D07B3E1124A9 +6E8F443034498841EB49E467791ECA165990D265D6B7DCAF0518A659DF3EE073 +01EE946984292152FBF2FD33363E2EC01BD6D0C64FEDF18AF375695080B9A152 +29609B360C1E08E04D685E9FA0238FEFCB44A533B46E69F293CEDB3497A252B1 +B94952182838E0BC28D7BDD56D5285179C325E91B3483F678A6037B67229E55C +C6DB7175994B3B968FBAE1AAD369A61DB153FBD4E85F656E5BA6F47FC3EB9ABD +E877461DA4327359FAEF13F31648A9E2611BA9F8F92C046DB0C790C9BF7190C8 +6664A22A8DCADC378C434E63807051EA2CD0C8A068052DA3532B74BEB7523FCC +3E46B53C228AD100C962BC17C1A6120B22BC9BA7FABCC73C8D853CEAEE0CE4BE +61361522BFB29DAD47D8C63161DD149DB3B4A56F69CE6F06E0B8A0F5C130795C +CC75DE509A39AB65E6E948C57ECAFEFF85E48A33A344BCAC6D2B3A9E147CF412 +44B42D1E1999749013B86A54ADE9F21BB47ED0B9B0FBE6E04862CDF0A6EC36C8 +E278993B652E248FA402C96821FE3B4AA0A36E48897A176E3D7BFB8CAE2FB727 +67F1C9F310EA97B784EE5314972D59E0FB1DFCF1CD627228CBBBB78EA9295DED +3AAA3E0237DE3F86A76AD6814D05355B0296FA57F55855AB17CA33082FC055FF +FD15B98195A545958A1F7695ECE82216010A3B9B9E9F7CC95DB7649D011749B3 +6B21242D5C58C7F627DA1DE432DE5DCB6701AD43BE64ED5E129D654ABE811E2E +A8148D1C87135BCFEB584C62839A13D1C3B9E3AD1B07E8F39852E90DAF725A61 +575F6D0D884A6A362BBDA1C04CBF86CC9B38F248011F18BDF2AD86F59FB9A748 +752D1AD5D0BB7868ED11C7C5A97895502D9955AEEE1273BC97B3585BC8E0F64F +89A91959FE49CFB9E5090AAD27F3C9D9BD15E4CA2DF2F237897CA6945BCB862C +E353B8BE6F2B1D4E1BCF7226494A2F1FB86008FFC8F5F461176B53A7BA4E03C8 +4FA72ECCF1F8919AFD9A7A886AEA9005B14A928D52997A7FA77730B4D1E7D366 +50E80C99E8F04D78099D320F7CC45791FE45F069B794A37F2C4C8E24002D7487 +494C7A1122751CF6ED23C2F991B65861D809E0EBDB71E36408FE840959AEF3E3 +427B1C3FB3F213BCF32528BC101C0BAE5FD1B874189FC51B86E821426F37CD4F +98726B1553178576E8CB2CB6ED773EDD4FF7821A3AA19B5F170E7E0064E2D2ED +F6237CBE00C3B7851102D8287D23926F21977FF11935EE0C1AEACF76159FC031 +1D522D600DEAF60A76C49FAC7EA9FBB25CEAB8EC0E06B55F5502DA23DE3E429E +EE8677FAFA080E9644BF2401599E876B7D6B534A228DD92C137DDA792F24221E +C16A7C5CCD2AB7B9F01C77FC23EB879D0F6023BBF59822DB6AEFFA993CB02BD2 +52214DABC729DA7939DDB909EED4B834E328459CA45AF906012BF058AF847AE0 +18EDF77AA15D12BB3F01449C225613EB5D11D93882F7F05E627E42F2B799BE7D +9249C8F9226E929AE04ED6A51A66D789319721162E127379EE9514AB7A8308E8 +B3EEBA20F0C558EA68068BA71C9CEA158F49C295D5CCB312A6952B49F93BF4BA +0643969797744812290640085654BDAE5E5CE8A78B252ABD6E2E8ADE87DF953A +0EDF7411E58383B6A269D928DD4D3ABB621BB4FEECDD9E84B29452859B60222F +170639491FC6F77F39A256341FD992156CBC45213AEFB43316F2C3E446D7806D +6F56245B738E0F7CD2E1BDF80ACB163D425D05583AE7E7373D687F079F4A28DA +8B6EDBAF5C3C741C2BBB3D33FA4FFD71AE242E52F68B6496AFC50097EF031824 +E7E43BBB6020F93BFD437F06CECF02194A8CB87B2652E97063FECC204E4F0398 +23743A81A2EA02BD016791E99403E67EADA4ECA4490279652933F42857351217 +62118964338C51F534C68B9B9BE719C166AD3AD9ED522514A99C97E8014D5852 +380A81B5890E0A277102130BE0969E6DBC015F676BC0B3B0DE30D07901B10BF9 +45B89F18EE13A0D617FE3ECA8E6EA04652AF6CDC7F009A52B531EA70522CC31E +A0E91B6E9D60EEC4DD7F92B9083C7B019CE01AC885F6B5857AFD4123B1B87E58 +F0A889C898732E0D079184450F12BBCADBB249FB593D81738B8F69DBB5016F60 +3048F5C1D5CA2266259DD2CE37CDE4A7E1633C4D3577E390521F8A8D8BB7F6FA +6063AB1089F18C8E30F87727C4CF78D5C54B0464E17E55C4347AB0EFB810C049 +C2307E4F520110A137DEC343CABC1F642EDDDF233B96AB7F8416676BB32D2479 +65C48F746E7019C839414CEE81A03DC435F10717A85286BBCFEACF24C9A671BD +4820BCBBC896A30DA3450C4F4947CE3A07E717BC789DC4EEF25CE4AD2BEC0411 +FE152A289C1D26C9508D206386B65AA1B2AAC060163819C8496F3609E291FA71 +B29E5A529994FE4956C4EC6FA95AFFDADC2DE58ECF6C6E160D3306B8FD42E398 +4F9C0900EF120203684823BF309F03E23195F2848F51E321DFFD9BC24B6E3BB2 +474C7CA890DE8C0EFDD1085D37FC800173ECC63FAFEAD51B681F964EFDB5C0B2 +7DD7E8EF6F333497B3FEB72FE035324FBBB06E7488441083CBD10F2E6024BD4C +72A0AED77847FBBADCA8B2880D3CC8E04BD1503C70DB1D8DA1C2BE303F0C7CE1 +7673488237350657DE4B7FC9775C13B6231DB84845755755F67D4ABCE6F45658 +E17CE8FAE0CAC26733FDD493E15CF5D1AD5BEFE23D6E1EB335A3706E3A71EB22 +40BAC5D469EEAB3686691127037D50A7B2AFDB496D2B1E9FAC69DC1E83A0D833 +AB839AAEACE34AAA0F4272774E7DDDA88586A381C6133F12A41EE11FDE813E59 +B6E5C3914AFB7F786C39CFA9C5A8E73D49B3511EEE9AEBAEED94B8D559DE5CE9 +CBE6BD710215DB65F041A230740F28BDDB46A89B38AC8767F252ACD1B297EA4C +EE114AAB6EFF10D398CA1B788AE63B672C867474220F6F20FE9F0B1AC1650B2C +EBB80EB68D62024EC5C2124F3607DF8776928BC25867C4730808308FBC326156 +5A99B88CD042F581A389B459A6F8FC484EE8C17DE640C7928A78CFBB9C6104FE +004009DF77FAFE4E1C092F6E5FA048D771D7F25AAC0013D0402A1AFD1E8D0515 +BFDC767DB9BE89407322857519236AEAC3A076CEEEEE7FEECB30B6751EE09E9C +472DBDA84A3D45A6CD9B9E7A29FB31852315389E7038F57923EC9225803A6A68 +7EA2F3EF394AA6CCB8336F34F75E2B5E577A4724663A0A35338A8E95C989B9C7 +CE48B675933214EE6FA7EE94B3249ABCEB5EC75A714C30CB88E27B9752DFD3DD +0CC44FC1E3230D92274E1F35429B377DBE57867A40F37B8B88260C3A72ACDCD2 +C8AEF714124B838C638468A9405C46CB2BE67A118A117FBE0A0CAFD9A36D2882 +516B94676566B98BFA1EF6DB6D7258F9420EF010ACB3DAA97409CB272A60AE22 +0E03F9C40889C514E3A4D1BB3A10A6DCC439EBE37D8C28472060DB405F74E855 +27BAD6D66BFC8CCCA038F5BB9EE0F5F1EECB64311A731EA3A22B52AC2AA9933B +7909A46DC299C3D701527E734C339955325265C0D5A3E30B1506239F803847ED +0ED27F81C1B982FC881769BB5DB178405501DDD2507EE8B038FC9F440E849736 +2CA4A7CA8F25BC2DDB645DC96DA317DE9BA8A2207329D3A722D2D15663E47E19 +13058EAFA7BE4635666070C17BFA087FEE6244495F5E5AA6CA1FF1054215E9CF +AD6160126243C941031D3675B73AB83602B8FD765A81D49A8D7AB9A3D107BAE8 +234D9FDFD2D720C1894FE036D249B7A19165A744F8A5D1C226258F8A6ABE0B3A +65DBB2E761542D20EB327375A1B6738F0814C9273D30863144AF710492D90C61 +6861198193A64E9A6BC1093CFBA2890C4132D1B9F0D133AE52F0B8A39197534B +22BBCF08BCA93A492FA327E92008F42BAC0AD14AF049D2C23CD92D84C9749282 +FD4A491333DCFCE526AA22C2C68C1A85D18199782807725C5D1363A72CEF75BD +1ACFBF1B64590C6A24F09B6D4E0C433C49DC99ABE220361E98D25C594253DD5E +903F487B4C2553F78B70C03B8E3658405FD8427065ACE263AAE8AEF2D92ECFDE +71DF9CB7DD61A9EC5B0AAED868F91423A410527C057D8F543B93DA02F40CE88A +E4F29A755430068AC26CF97EF481B5650AEDE5E6BE6E03AAA2F1BB0D04507028 +26C0166B4F91FADD73BD4C557C2B3BB477B3A73921821A704F18103489109533 +3B7F59422F9FF147EED3FEF9BD2EC6EE9C4305593C5563CB6C400353EF3DF249 +0E9CAB7918B61706BC300A39AEB4650ECCF7A3E9342297E4E6AB177F6CB63BF2 +C33DC31FCA946D8B4D33788CB6C91AACCE90DDF5F1B92DC2E7B2D0E244F3C893 +F37B7E2FFE10EF0D1AD762243840BBC99232B1CAC7A321AF88D2BA62B55E305E +ABF6323CB529D0766E0E8F4230D9EE5BB6863B605A0DF56695C01AE054CCB502 +1905489F1A486FE00B284356D1AB83D27BEEDAAEC8DB318114590D0324755C61 +18521C015B5855F0992792E644D194BB3F52E4679659FC4B8AE383F7EF29ECB9 +6EBEA201A8875DEA6410CCBF09BF050D08182DEB13264F55E0F5FFAC218370E6 +5E9C8AF9E349856AB11D393B583F4FEED6EB4EFF9727084D69977D67EB7B61FB +A79DB726E75FD817270B6CF8C8D0A57A6F83ED03B1D3DE572324E7F4BD4D1B99 +97140FF18BF45B6198202AB9A30DEF4ED9695D5FEC15942FC363E9CDEF782F04 +486F71CE6BFA5E8D53C969065D990700E3485967EC03EFEAF0F479CFFBED405A +2D29B98307EA5D4E2CF536DA21F66A961F9A860EBA38B51EF6A106E009DCF099 +B0A2DB3D768850526B90ACE82FB6589D3459351DF1CD37F9CFA174D2F9597A50 +C1033304D971EC0C2314B2AF3E665DF1B53F751E913CB5D4808501B507059879 +769E3ADCC2D8E3875C7D6EF7E7CB48DD07E2F0B415E869D196B6D0B8B80023C5 +7501F75710AF487BD35DBC56BEA988EFB72A60D37DDB34A3E16E4C3302041FED +F67725B1E85AA62C438D812902CD301CD6B0711356956B3EE81244634ACFE99B +695465D6249EA7D73F0530B7A5C6C321E52608C33699498800E0B496288D2C91 +F85FE65F17A7127E7B24B965CA8901ACBADEEAC73A7DE07B53966F0A5D857486 +674B6BD44831C3DA3914E72DB66AC7F1F7553DD8F8125779348ACB28B313A5EC +BFD42000EC537ECF0A191364CEE8F7557697852610AF5C00EC2E23DF58BDC5B4 +D7238CF054E0019259CFF06D29A7045757429F71ED61743C71A6CD09D0CC9DA9 +289B1C880D8E07C79E66FFB61682EB3162821C9DD3161EEB998269A42D64A160 +9E07F3D060E6D9055636B786218A103F8ECEE20933D1233FBFF0ECF9F01BAF09 +560441BB6A0B6931192496CF3485BEC03F10581B3C8936A6C3BB0C3D4AF346BB +0FF8AC37DDAE5D82561F31DEA6107119F89EC25056E7FD5984EA349407EBE597 +BD71E2EE4E8034690BF158D2EECE68EA603FAD5E0258CE2084F898D7C7CE7625 +3D8990CAAAF8A87C730FCF7D9DA3E5991545CF680CE9CFF96FF99F2660E2164E +44AF04EF697F3F3FC8940BCA00A526D8AB419FF20FE6A0A007301F9AEA8324FB +5B069EDB2AAC535F5489F723BA457401417A63CC98BBC70C26FCE973F4AFF4DD +B3F3CF7AAD27AACB8C23D7E421D512A82259212FBA5D6DE572A40D04BB05D470 +EDB61AE5E4358F11D3FE840D24AC2D9CE4F91B3B9A357CBC8DFAFC8A0776DF14 +32A016B0D5F8226A7F3FE390001BC336024657D1F7151DF5098030553D71F87B +6A5C46D286D0AA3E946538ECD82EDAAF2C6B608041945232E52E27DE9928875F +D2406BA32126FCC92FCA719DCFFA13CDF0367E294AE6A4DAE01CC1D70E59AFBF +EAC961C6B3F63F3696FE3105F7980D24AD4F14BF7F35F84674AD400A94BE2A02 +9F243BE2AEDB5AA8BDC1A3FD5371E265149C110754A70412B068828C611EA981 +2907E87A12DEE88636F904F865C6CA994C0D139AAEEC147A2ED1955F527A7230 +51D5266D8C7CD0A1C1A9EA24CF1E65BCE6EBE21E04D7C94B0FF6DCE002F05BCE +1FDFF4F6BB1C72A49CE1A78A2916382D3DFD5A8A9E6D27C170D1626B702231BB +9921646CD185E87A367BDDB9DDC2F2239F3CBFAA9B73DDBFB2E5A6EBDCB0902E +CD432D6171B96245102B362BB07BC33B677CD115B309E98C35E02A515BF3B651 +99789B6B3C8E81C983D1AC9B9E53F4B3BB0AF40D3861C206272B07433C091734 +8123BF670D0BD74E04131F26C7BE882288C3700D0C3E804C23843BBB689CEE18 +40BF8DE4C4A90327099E286377892C3BF307240D0012C3BF05551B1D66F57F6E +D5409CF3C82F5AFFD40FD83C998626CBB46EB5B53317DB98C7D4C08F230DC51B +393211EB6B 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3751,13 +3756,12 @@ dup 12 /fi put dup 40 /parenleft put dup 41 /parenright put dup 46 /period put -dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put -dup 55 /seven put +dup 56 /eight put dup 58 /colon put dup 65 /A put dup 67 /C put @@ -3993,295 +3997,291 @@ BBCFFB1ED92299DB0291CAB10A84529B7FE279C62628A24A2FC36B01976E13A9 C528A198B8EC8654AD69CCB5C209964A2B25D6DA9BA0FFB366D19D8C69701D7E 8ECBEA88569601C80E19A4165AC73F32D0ED08C8FD0D0407325DFF60D69BC8FB 95D27536CFD07285E9FA0E957BD98B45C2E7A24AA33635C6683B801BC89AF92B -57BDBD4C4FA2979D6344AC3198440DB1709FAF1D9DBD7EF56D61664EC7BC0921 -2A51FE14DE1E2F1297F9DFD716BC08D5EED44C02A449C5F2F57D79D8806114F7 -A29CF906ABE31DD46AAB5562977194ECD03E78CBB9B405F3E2C4288D963F1B0A -CF60D94F28A813767BC40D2BF2B7808804D86B70DBF94654C66BA1C9ACE1D8C0 -DDC96E86F83000882EB43B827B54D499205F00CD9ABA1488A5ACF8A1C67DA1A7 -319BC9466FAAD8DC6178411A7665B719C8A2C9C08752199137D18C07F050F920 -D99A80697D9906F17C34D9F7002E243231D0605A10BA62A5BE24BA9370D67895 -2974D9AC107A45FC80B6CE4737F49921FB1F14CCEA0968E7ADE73F081A24938D -E19CC21EB81FE8100D478C6584A25876B1E2F4DC29C866CA5E854FE495F46B38 -311FE43A7E8FE3F9646507D23259F2D4970ADF7AF7E4ADBA8A1A5A8A7C621F0E -F2A1A4E4D5FE16E7B0E897D1896F4ED012A454FCE7AB1ADEF996780956884795 -90DBD63C5828FB8BB6702048EE10A62CDE24D71D6B901128F9C6CDB76BC5C7FC -E39362BBCDDB4318EF08C9B3CF7A0DC30E5D92AE4F93E4C3F6C8684395BF4DEA -AD736D39569007E8D020D26FECDE65B054B2A8B33442200B6E61DD0CFCAA50F6 -BD827C0BBDCD78C5867AB1E712C372FDDD5DD3ADA48BF40A5442876A53E5E34D -9EEA9A4DDEA7B00004FE8B5A2F74A65266BD4E6D81FC5B2DE06AD5405A353CE7 -999ECC2189BBF0E02581E4FD6B08F3709D92053B91F58AAAEF526449B3994159 -9C32F9D5C58EF1C8643359280E2712A42083D51AA7E2C7E3AFFBECA3ABF7E65B -40D29A06619AA6CCBC3DD8C650EAF46E7A4205D0AC073D975AE628F88935027B -36CCA945C0CB9CEF075D30897740E4696E90C5AEEB567EF45D8BEAAE811D5394 -5C56EF1060A048B764AEF895642899A64D1B43DDCC7F000B38C6F9E8F8E18B33 -E52241A7028A30C0E7A3E923C145B66ADD817E1142B09ACC1794F733CD09C893 -E7CAF8B9EAAA17FE2D99FE9414B0044735ED4697F40919329E03BDCD4B7D2126 -D51080F01C44F0C6B20E7A82AA5DF30B585AEC9F950BB82101C19895ADCD7668 -F8FFDBD6D559C40F27872C9DB1640EC248F8C1E2B852F244DA57F46F8F36E34F -672F649DF741D281A5D92B77D14A35BD71E1BD18E1009BD5852D099AB6C6DFD9 -81363038ECC5CD2F6C9EFBBE0556CF468290624E7A9FA0A119596C2CC05901AD -0FB432FCF9B79098D2501C46875F44CA438EE63670527EAB66AB620EE152ADFF -F63309400BC9BB2C93DA80BAEFF91CA0059965B743C7658ED2999CCAD0B6CB30 -7E549BE6CC5A3320A9321924DAB511B9D1F871218787070B7706F5DA180E567C -30B036869F297BE6F67C4519947BA83D9C24FED8DE0D02B7B9CAE1A03F82AB51 -75F707A65DBBA797653C1CBB3E5A0DF49D94CFCFC68BCB9ECAFBAAF03673ABA3 -B8321A0458EB3C91CC6DD69EE0941D9429C9C5092693B607A67E0AEAE55053F4 -D74CC02F87B891CC50BD8634543845BB44585404ECF2E512AD455D80EA2820A5 -0A853919C11791C0BB81303C5532623A1CE3AE964361AA2F2E241AC8C731056A -89727610875875A1D03A09E6F54E5606C808973770064E6C9CACA9F195512163 -BF99DEE1A715907E2772BC68D16508BC1DB50D7BC9198D23527C9581FDA43BF1 -D40A0DBBD96D65CF2D23360390E61E4C05CF743CFB31E58B1EA9DF7B80DA8141 -D26D09B3B3864B45C0495C56BCA163C00B6C77C747037AA8A1C0AB5FA2B8EDB7 -E7F305ED235246237A265F52A3223AA6F478533F4634CB6FB6DE6E81910265AE -83A4C384EC4897CD9A044A892079834755212800BCA31BFF1F67C31C975C8FDB -767C1D80DF27485468D48FB0B16F0D3C191705EAE8DA6B41A570A2D5DDE994CB -0ABF11EB4B4E420A5DD8725E870EE3958DF71590FD2317896FAA4C6F3F1558A1 -D829D5B8BA4C59364363D3C20A3F778A72914EB3707E562F244CF96FC90F506C -26349EE971AD5C91723922EECCA11B8D23E94EC119C5F3BAD9018342AF2E1934 -69E49E93524360C250A02544FA58E92E6E39B760E740DAF416938E412B1AF7F6 -D9FA3C9DC7835DE730C93344DD7B02848A4578C8810FF104F2E2A2EF38F52598 -5ABCE06308B024EA70486182FD2BCD88B02EB78420A3145F3E310DB94BBB9889 -F52EB14E39BAA497BBD563E39EBAADA2AF1320341F0D0B865F91EAF2CA91956E -B288D71F0FD38FC462D866082E9A6515AE23D63460EFFF2E3EFC4BC51F799CA0 -4DE2E555C64F9CD1375ACA5698A8EFBCE478F1C9BD344ECC534D83E6E233E709 -C8DF1AC21329965344A747067B03B791AE5C1ED0106412447291FED0A19ADB9C -7D3ABF0E596CADDF5021DF61A98BB2BEB3C7DE70C95407772D070407F28142AD -DB62C727D13483746DAC3CF262BC68B833AD874166B4D0EC10C7E2A4DB5ADDAC -5F248B8CD6ECB789AC03CA093B86700490CFA49D063DCB2A694A52886F2D256A -A59047BA8AA6F15CB5DA0466A857B66FC9E437678BD7EC602903337BF4700C71 -621A7813F120A934EBF5303EC5C0DC42780F3CAE043BF763B542309CFF3F2B87 -2AA14CADBD8D000A67298EE5AE4DFC4ACBC2CD873C4D9098086BD2B2F597E9AB -32E22A86E43A7A2D127C8E50112CA4A224FD28A1F26FD75A3440F0C7CD685414 -A0A738EBD355A62FEA6D46E4F82663AC49A6E91C1BF1D6337DCEDF19AE5C685B -C1224DC47603225DAB9072D54E49C0D51AA35777F1ACB4BF32AC7D01168C3976 -FD5257A7CD8CBAF17DCC98CD31C79839043A8EBD0E54EABE20AB3E113B751578 -C43C2030F99159D7709B6CCEEF4EA02ADFAB59DE70F6BB276EAB521E4E1BD371 -0C665CF7081813BC8A3714A403E2E7989FF396D9196C6A5DBAE6BE6CDB40DD7C -193F91A2911D7D791B8494E2CAFA72079842FF6F84D637C211E2BABE7DE62D11 -E41B8D400AEB3C3272C71CE684F478633151831716B99F52336D731F5BDC09E0 -9F392C58157236596F053A9A9A6AFB440C2C900A539E16E4C37289DD58E94DBE -8BE05D1547265F64C0F65AE960376C074791233175642B9F566C110FD4564480 -4751A13E9EDCBEFCAC10C90CBDF49C8C9D0B5F187F0FA7F3EED161CB038A278F -F08AAB6B033F38D4232D8E1C0543CD85F1ACFE35DA7153385490CD97DD3EE416 -BF37FAC61FFF85D4716A0AFDC45E922791977AD32AD61399565060C26C41F706 -7AAD2D27C3F54986284D3F6E0192DD8EC20BB4DCA8431E4B09CAA7E9C0186A48 -68D3D61DEBBD627AB139868AB0141630559387C58ADF13FD021B323AEC6002BE -51D85A9EB90FC8B47274B02BCE13269FDA90944FDAA40C74B988B23A575A6FF7 -596819BA5F075A6F488F69F7B9C80C4DB4A73CC57EE4C2D4FE07ACD2F163B87C -F7F9BC47308FE26F51C5F52BE9C2C5B2598936B349F8FAA3F1541EE2A0DF756A -EBF16D3C35E97CAD5A9C3AE9F62119B46D2EA30C07C679624297A0B6DF4C9BA2 -810BAFF711FD7D503AA68811A1FAE8F172EFC53F585A278E9C954BB1B4E219E8 -34944BE31B6AE71DC217D7DE08EFD59CDB71BD35D8F229BF4F6B36555BCEFAD2 -92E2B687A353BB608372817B5A598323650137C16CB01F02275F688262C57A3D -ADA0853699372E36A5E94EA76D7F577793EFF2693C13EDF5CAA5D85642408B3B -E12FE05B17CAE8A3F532EF0AEDFBCC352765C4B2DC50D7300721BB2D503152CE -A8BB4A5170E59C049F458666446E52CAFAFCCDDF01067869262E3BB799B06D1B -D44D76A284614D0D02D3A2BC46DCD9F629E9B825A3794802BEF28AF223A3EBEB -E824030274263BA0A9FD91FAA31C1E4A339DE586E37CCBEF60B5571A4831B438 -80C9E24B4D257683B785FF7256367EB2FAB5E79A4BB42901EF4FABB6D3762131 -8FBBBE115F69EFFBFCFE246D7714BE509BE8642954FC6D2DD2B0DEBE1AB9DF80 -DEF7DC1DC786247DE28B62D9630F2C451252D7B60622ED4F0185FC1F8B4BA312 -FF5127B7E2AB7756EA9B3054E9F354635E08267F1D3721061A7119B47B4EE5FD -45E883C73FF64BD9C0F57051D88D3F6F549F6E94E6F69F580B6B297DA0249681 -E02ED4F7B1B84E51F4ACA217D400DAF584A1D0C0997BBE90279B27C97C584964 -482E961EC31C364324011DF04FC850083D6FE0180E31FF62ED4EB02228FB69D1 -2894BCAF37AD240FE874AB293A55EF453E4C0744D2AAA5C5F2910BC281E3D8EF -E706D713A8E074B77EC010AA500506DC82F105C0613FD4E35F06D7C0FEF73B7F -B1F74490EAC3AB9A4F61BA95B02A714987623952E754B225B3E21A18BDE46B20 -0D06B7F1751F9BFF9B30D6C4C20622BA7AF0C43017447BA5630F28A6B2126EC9 -DB901B662FDF6C1A6C8A81AEBC1504531FF542017FF3D54327FA743B21C9021F -36DB6FC504221B93F838C3D7D5731E892F75DF1FFEC5344E867B174052CEDF30 -BE1372B054E3A3A346CC67DE6E608BFFD09BC8B9B8F881C020D74BCA542B85F6 -41E7282E7AA1FB5CFBF4A60530572FBF36F156F6A31F9AE6D026A033D6D78ED6 -441463B179BBEAEDF9ABD9BAFE7CA0CC98B342DB21D0A902F21C5F505DA85FFF -174D2A13DDA547936B84DD7692DC1EEBE9CD9CDAD94E7A0485F17D82B65E3954 -53565E1D6440C3F327E58864AF3284563C013FA1AD1EDED9A38E6283DFF88C5B -E552D23477B453C25E9D9680ED01A27D9F502293D3A40A0BF1E738BDA066314F -771D56EFAB5D2C7EDD5BABEC11C79465A972D8436BB8D5D25CF62CDC741903FF -42757B15F41DBAA2B8BB6958FCAAE52C2DE8B2D5F3B26391B7619F25580934A9 -E7ED5375476EF1DF4764FFF07BAAEF3C0D4DED9CA0E7AC9A82AAB196CDC7AA04 -CFE43427BA049BC17FB567E836DF6E0EC22D7A58D6BB428BF42814C0B071F652 -16EBC9D7FEECCA6DAA2217AAF7564F55FD51261A8E33AE11585A0CED9FAA0890 -5BB9F2EB0504A2F800940FF58FE7F620B719BDD197C65418AAE51310BF8EA272 -4F2C6F732C9F16DE4906291305FC250EEC2F143038F5B919BD79CF0420EAE0BD -E30AB5E9DF473BEC21AD9CD2E78FD2074C435B1B50B7030DFB9B8F2AAA94A19A -BBE3874753A1BAD35782CA78AFF1B7E38AF95674DEEB8464029E146AD48C3319 -0AB788299303914F00FDCE64076CB051C5C0548CDCD55F5E131E02F07A94F146 -0CBA373C6F0FEEF8716D6CDAAB4ACA93B865DB7CC050C3C11A1D1DCCE06F5766 -3E7892BEAF800D4282448477DA3CDE8940A61A561F720960031D0CBB4BA6DB83 -5E098AD2DD4D6C25CF4FFDD5D3E13ED47EE3E7736757C49D650CAE11BF5CF5CC -741EE453447EF37174294A56D503B6551B85C67FDFEF4D2932F8181928713793 -88C22E9036B61F4035DB35544B09D1AE8161AF16A5CA02EBFA117430B2BD5BFA -D7750BDC3ACDB2B466A0FB813820FF6C560650DE37527E4BE4A12E1F6957FDBF -0AC8C8AF75982D4739C752F00E5A23379C572DE45C396A2E657E06E6E04C56FE -4C61BEB991479C1584C31778F604BB8222AA77C7C0F9160ECBCAA3449AF2ED8F -856A66F1039B8B67AB8DFDC4A76BE89F30FC78CB48880B116A602C309BA0D67A -14CF4BC34D81AED5D28A204558443DE85FFA073992162DE80B9F389E6E49B0C7 -231EE73075A3161B7E9A0D7591C96EF8B297935C3D9DEC1F9D7CF2DD6EEC2FF8 -54438D57DE87CEFC9499CC06A39B20498E9FB17358333790E4B0159B8FA20B0B -9E29AE280757001669B4E33EABF675B94F362095CE6A43A1ECDB0E9C952B13EA -CD1AA7A6EF2323D14AA7DF03052F415CE0F712ED4166D40714520ACB06E4D56A -E4CE3E0E1C3C17CA1844AA0DCC2933DDB0C7798C2BFD71E9F520158DA3F8D2AC -D17EB82566E5FDD1075270136A2AC0183E490ABBEF3F94E1D6D59A81687F4FB1 -80C00A63891F0485BA87B5EB29B41070785A8A6EFED488064A4B76DF948465BE -EB0656C214E842EE09DC7E14B9604E5A050394571DC09C7AE76DE6B184A01DE4 -4E24AABE28C1E1B7CF56B3279976224B16C342D130D2A7265315A52BE20BB652 -4DC16E8CD1FC19FC77C94D864385D5AFE19114297AD7E9D74DF5528CC892F1E7 -A57AB51BFD096E2C8F4B30CCE769A0C375AC95F5E8F4217ECD10F65CE78BDEA1 -F157399AFC01B0E3305FCD9E4DD24D51314C0A8F07A10574DE0B62CC86551BB5 -E4CDE434EB44785CBECBD233E81AF34678AECA3912D73AC18D34E9331689E686 -BC2C087B8C091E6CBE80E514E6E0B309E763832EF6A8D653DFF1C988C86C8AC7 -9CECC6FF0F0CCD586FEC597D333C79941FF24B26895FDAE930C76C3DB747087D -16979EB594DE9FF9443ADC35EFE957E5ADCF1F26687E2FDF81D7A205BD7F5A00 -5FFC16CF7ADA9C4228CF55AD85FDB8898C34501F9CCE90E3BC27D13581C0F553 -20628A3E31056757A13134C0E89907CDED524E832DCDE52FB4E0DBFB10E6BFDA -863DF6751767B63BF33166E17070D83E94791D4639CE3AD4B41BF09B41BA96DE -FE756072626D1835234D7B831ACFB832C80244AEB0AB1427C2F3E97B76BBBD67 -9257C8D3864E135B16D933B8DCC2B25D9019F2C5CD0AB7343D39BC3B4E14A957 -123D6F7A6D1BB2B4BC74866666C70A891A5E3AB15941D899F3C5BEC36C0F85E1 -F86F0DC872E66C9B323954C9D7B6F0AA25ABB694D39D5361B2874B193FE93453 -88DE1ADEBB5904C51DE77F623CECA4FC2F14C79AA521E45019D491EADEC7369C -8B569CC8F94553D64BF9D63E0CBCDBF8EA4EA95F951280F6482D36A5D84995F1 -7D6D5C5C853E1D8B9E44EDD50395B56A25D0A256D8046F1AC3D575C2591BFCBB -141C4CFC0433A5DA4BF1125FB31B4E465D67EFED81236FA8AFD8F1F1C8DFB0EB -B3711D9FA6660DAC7DB14A4CB99381BF1FC1F033525B61322513681E4B6DF2B8 -79BD0057573347EECB82EA0144DABB181D9DB4169E934FD7AE90682839FBB17D -20351F9485C49DE403EEA86E791A381FF672442A6600864AB854A23497C928F3 -9DA080BB70DBEDC5F97E7660D4FEFD49790C6AB4512EF0942A095927327BE557 -000723101B1936D7CAD4CEDB9BBA459C29A82878A02EB2B250F486B9E57AFAC9 -611551C0DC60E6654BB5ED253D7D18C386D2E5899ADF6FE07D2632889A2BEF0A -B7E16E04B97E8F290AE461B6A59C194211DBE87FEDF37800CE2EDA3108D9E169 -F1CF3DBE028C2AFAF04094C696AEC52D74BB6747FB3916166D211C8690C478F3 -C1997DBC5EC873170CF61AD6BDD708DE2C1BB428E230C1111AEDDB0A89934966 -A446BB8D7A7646A316071469F314E5499793BF004473DF012EDACF0E3B872C30 -05AE996DE5B7064CB88EA8ACD37B3EB7A3E2D533EFFF9834009FE92329EF76B7 -1BBC9E32659888D5520D5D3B0D7498AC89DE03B975B0BBFA621B34805BA4D999 -ED8BF2877E08E69971D08922D1A7AC0B61FE258BB33509B4780A2163EBA6A39E -644E96E348B00B13A6818EDDB568F6F70D9E530B43F6EC1BCB801D0F2E3EFFC0 -F4F36E528A2AC4C9A961BE96E6CFEDE623DBFC2AEF1D7C5DB9243CFEA4CFD360 -3D9554F129AF3905AB774C6F335A17F6B15A40BE518324C5F7232530C1430372 -E170BB98B7882DCFBBD415E4B826575650418BEB0D6689C86F2DB01A44EA9D1A -748AC9B5C71113BABF43E556F578D4CD562A711FF8CFAE0DB27A6F7522818A5C -CCDAFF81F25BA563A43DC10D995FD0A8CC2C02FBDE62ABDC2A8F48046ADE94A5 -EF141B54D71F0586D2DBA09CF06295CF354F1896B6218326FEAE271BBD922C0C -2A065C71B9CBBFF433C6D32E1191EDC9D68CEA7E9466BC398B444E39CAA07879 -43FA87AF9DB2D129966EAC73400558EE4287A1DD4AC364CC4080803673025078 -028452B925CD6951B3807803804A88345426BD6E59FB1DDF4CB843710BA96300 -18D336294A6BC4E45BAAB2DE0D9A778D88A17FF2588F7AF8B03B5C6BBA17A89E -8B929F83F9B3463F5592A8E710B677C0142FAE8F892CE79FC857A51A8D59DE97 -413DBE7D67C82C0F4E3EF5E26FE61DB3346CCAF36A307E5474B3FE81FA20A925 -58AE61EF420F47B8CC372EE0333A40CCE66817530B3235D9A936FDE388A76AC3 -30EC98D33C16E4BF9188702D5EBCE85192B39811148B08E7E630CCEA8559790E -B89577821CD6428F3FB6F680CA00FE07F1F06C94D5419E2E54AF8A194DA645FD -FE45207B2819C5F178F08E3A08C672AD5C8B3FD0D98DF452A7C633F5B87A0D01 -6B3AC6E85BDE9BAC172EA888A5C86FAF2D4731EC390DE13AD65AF950951B0B1B -3E93836F683BC12AA1F1B6DC371A7E66F0604A43503562B63DF3F45B493A6ED9 -5D9BE9B0B8F5F7BEE60756CF79BBE7A47028CACFEAB637015E4E00BE7F2C9C1F -B3EEB5AC0C9AE3054EED9CCD146B12B56FE435AAB2D92FA4404E44D2E8EACBB9 -C1E21C4DF10F316BAE384E31175CE82C195A79F9B3A3B74123E6A2DAAF54045A -7425E9038AE77B9D1E5AB33F8AAF91D314623BE41A21F1D5F8206AD4A32E5237 -519A42641F18408BEBB6CAC319A74B941D8D3D728ED8D8A0BB3515323315CA1F -23295FB8973BFD3A9D8E66A0FAC8CE431E8E377697F5CD56CB80CC88AF851C60 -DA9DE2711B63B86857AD083838F3936A9E881D96FB03DCEE804C3D6D0CB3AB3C -DB03743E634D80F16E36237BFC44E40C560943924DD7516BD43AC60055C9D7F5 -50484CCB471E014E49C923200CD10390CE92A5B200D5C86ABBCBD6A2C57ED393 -81C45736399B9EAF73B052B5543F8433622DB6C0D36CDF714DC88AB68009BCB4 -2C9219ED28C4ACE9B1ACDA70C35FC07D71C381BCF27A436CC278BE98E28F94D3 -6A41910C08A2AC5E389ADCA56DB69661497EB1ADE463AACC817BDDAB170E578F -8051D01C889ED8F24BA57A7C217DCE931C115321737991FFD542F2E80EC7C91A -1EB513844C9738ED7BC1A280D0AE34D03A77B7AA84CD78DA561B1AAD225F8921 -A3F0374CCA3883CF1CE01B4F993816C2E713D20AC4EB63D3EDAAC9C0FE3D7AA6 -93FAE755A8FC98C9CA35325DDEC153313E2567FC9FDE6400AD44AE31B73010D2 -768A7D2B5D48969ECA35BE603D54FF0CB95CEF1BA064E71CEC8D4D264337F91C -BCB94CE6DCDF2B05E1CD21EA9EC218FDDCD99A461FB5C1076D9B800A86014064 -AA534A2AF51264E34BA27AA23B8314C97230B40C3D05A82A59B19624C9335D39 -EDBE2F2AE3E504ACF475AED646D079C86AB811262E9932D158388AD5A36FA7FD -6B35ECFFA820632720C56761535E504EC4BAE46B5A070FA29816A3B0BF298BD5 -833007A6BAC43BF4971553A69196A166630A96474C338759A03E7E89DA5D2CA4 -98848D52AA5F996ADA1799C4630D27255FC8FA440EE1D6F5886A7540A383167C -C88140B9B3EC4A2927C8442FE853D54EF8C5B076271C7245D979E515C58BDC1F -B927A7ECDADF60CC9353489290155DCF4EA4BD49D8FAA20AE573C1CEA1EEFB4E -2304A568B84CF539A9F01B9566D25A65EBB942AC4E6CDAEC9398D2833C4A3D60 -FD1AED5B25BF4DBBD34D8AF23C0CCB0C4C3A4C56D825689D816F670516D08E6F -788DF52162C2A52A3AA85688E9867E35302BC9323A94881D6FE922928DC71FD2 -ADD02130A509D5E0933BCB3B59849EB0D8B09AB24C7176BBB42479FD8D8581D3 -BE7CE3FA1B6749D977148AF2C06711861A46B57339D8B3D241E300D87E3241AB -1B0AE5918B4F1545BD096C05F50E5C5C6BD8C644BA96940C5DE5EBA2FA47D172 -4F19C22D36B1E2F90D568DA2CDBE55BEFC76257FD6D4D0B2FF4D7E16EED9620B -BF5B043689C355CCC2ED4401C7ADABC3F0370EB1ADE5082581789102D0ED304B -270EFEB8E109CF0F09D1B524C2EB4249820DF8F29FC128F48704596F119766DE -4A790984CA3D87F680CB931EA21666186B7B9FAA695176C83E970A6918EC8292 -41BF38DD48D7C8B449E0C925E2B932D09B9509163C9008812FBFAC8A72E97976 -A78369E181799E338BED92B6A8B03C3B8CABFA98B7DF98E34FE324C52251E0F2 -AAAF32D038C855994C4F45B57DBA59028B1AE0A5BF522C3556875DD84936C7A9 -38B8FD6CCD7250E321C884A6AD0CEB7505D378F96A3F7F76D05D154758605715 -20086DE04410EB8CAFA719879A2DED0E52018A6D9EA748AF20E2C7DF717603AD -09EBE3B8AA7B55131315B98AA4FDD2F83755249EB7E3E7E438FF59C008ED7BD8 -B6825B78B8D441F223B66A797488C24C549DCC355D90964847B598FE681A1986 -F3AAB186EB4A7F340E75CBE6F4B2F0D072696BABBB4617C84E016ED6C33B3EBF -B1EDD2191641AC285CF5E49A8BBEB678547A30EE0DAFCED16F68B2FEFB93342C -1825FE06E871AC15ABCEB0E263C83EB19AFAB1BBF4F38CE080984C9AA22EB892 -4E2A7A8B42B08D51D6C55CBE511A7BCC34674F8947A1512B03BA9A7FCB517702 -81C5D37A5F4A3A9419B0409A75DF568C0FD33A0D7F3F4FBB41E0192876F32186 -B22FD853B181570C16A5B614428FC38F54B7E3779BEEE365360358B63955F774 -38145829FD05B48BE957FA98C435573B918E2883982CAAFF408D5DB3AE15BFCE -7038796F5F0F1E98314C578497C1151AA044212C90D00FE6FD43EE858D362BC2 -18E962635CBC13FC5CA1E3D4C5125C97B37A1F5322C2E4463F7EB92713544EB1 -0D06FE4D23BDE0820440F126F67D4E305C5793D7B3B0C04C1612702FBBC3EDEE -B82F047462AB0E38CB7933FB7A2B939F43976832C7FB90507AD55C5DB6711BB6 -01622290982CD086D6A42FD506A460E7C1DB7CFE3BC9E4307AAD5EC874F5A517 -DE217DC82BE40CFCFDDC44787F71D921C7FDA4679DEC9DACBF17A3142ABF5DCD -F9E640BCFC011B9CB38E0093AA5432E3D468FAF915DDFE924076DA6FE19A81D1 -158F7E756C483015DDEF6F2AF2FE5BC82EFFCA4B4E6CAF441154B6AEC5AF4B5D -C61B919957D886979D0CB320F23AE98258C4FD861FA69BA8FD39E4E8C6171CB9 -D4D1095C65BD5B653B91C5A15DCD3096BD715216456114260530E483ECA9A8CA -F587FA9AD60FF1DDBBAE43BB0BAC1C39367DA374182C74F2937B1C6FD1B7BEDE -95DF3A267C40C160F845E3E98421E2EBCFFB030A26BD0D5750B05FAA8C5A72CA -448A3213463DD4316768C4DE0AFA9B47DC2D9D10C52B9FC14AA5ACA08B83AA8F -09EAD993ECAAA2D31B66B165A0EA8A204B03EEFE675FA0085EDA5FBBEAEF8690 -54643C7B2A345DA3E366AE0B7A7969471AE1384E868238A95158631F86133C63 -B4A70244B216403AEE0600F77D3142CE0BBED4FA9A4BF6D956A86F180606B9C9 -025F7B30E29634708280E7BC03A0FA51BB17BE5CB94D257F1DB542F13E0970CE -42DFFB1307E6F5F7EBCD9292D03850748AB0D22D7F5314E3654D5EFCADBF68FC -751559760FDEF4F078E57F2CCBC3F99F64681648B38E9F26E5B0BF98BD0E7DD5 -6CB55D07A202A2C9A2817E4240E4B00DC0E60C26D4338C7E7C2907FF1CD34127 -5E048B5F55AD11F69843856459750DEA7D7EF76DB9A50F487F6BA4788F3680AF -29621BDA707B3C138F9ABE2F5B7E5D7C3119A5F535FE575E82F65E97AE078020 -36FD51A751CDDB98147074CD6481A96145FCF656DE28FC3A00573FBE06FC429F -E06F918AB3AA095DD3B9DBCDBEBDE69DB459600C46B50D49A563DDCE26A1A5AC -504E07BBC2A48D858B51F51B7A06D56695F8BAFC0518AD8B21E7DCF5C2047EB9 -FC8995D139FB37794ABD9A7387DAC9FD9F2F3E80578928E3F1AB70A50F16591A -034E29CD0C6AC1BD531CFF53478828A1F9A0BE3DFFEEEFAA0C7EF53750427ACE -2BC4A5591FCFF121A9A62CA0EB1069ADB7E51CFFDC8902361575E0E71700DC8C -86B43E1D697A8847C210C5FBB66E2B4E306AF90E0CB97D7FA008F76B1E6B489A -4CABB68EDBB9AFF604E3B355730436FC1A25F72C1FC4DCF6B1C40EA52D3AD46C -BB47EE3098E12CB98015F18B45AF2DF2712CD1187661F4EA24106FA51DD90262 -4FE3EB0D95B3EA446502A33091F2004D1C8F001DBAA7AE9FCAC74B0704D04902 -F832B25C7FBB9304D834A18F22259B81A0C400FE9CC0D811E58F8C3E1D107129 -D1CA233FD481FC6C03BAE7D00AAB2AAED4CEC3A7C8ECB087DF77065D1328A4EB -912CA8AFE5C7DEF3C5A3F42E40E6E60FB241F3FB6A11B5ACF4E6005471881DE6 -156BAE8ED4C75CE8FAC9C3A9B3DA52B07F09C28FF67BAF5767EAF202B3D5FDB8 -1EFAA98B59BF281BCFD45CDEC7707ED4167491F716322CB08248A65BED4FF628 -44AE351D9657BD03E41625E2D855D06444D441CF01330EF8FEEA0D42E0A054B9 -A05A5ADB518607299CECE64A59D52B2902DAB10F37A9F6DA24D95619860A69DE -D9915F414A8B63F8931099AC051C8671F6891F2563FBF902D30734C23E647D7B -A3FBAF4CEFA1F860B1EA1F2633E0E77665767CCB3332C311B8798E35557D3751 -919B770BD244FAC769980699F76C8E1B2D5BC85CC1DFE11017F0FD3878C60F4D -5A33D97AFB822CE4CF8BB50E0B89D73560D05A9053053011E49084204D551707 -2D4356FE5ACE352BDF99638AA07603979AF946D33A96266D7646B724994305AA -C231BCBF8B6D80A47464C242960127160C70E49121A04E986B4845402326C24A -1D5394D26028FE87EB6A6374CB0D0242212E6F7D939487220BD6347FBDB68F34 -415C7438F92D016F3B1EA7429A18B31FA26FCD33B7E60255522272740E31E5A7 -EBFD72F9FE0B6D85C50D9B868E1052FB2197A68EF52B4E59D8439286C96E832F -E01E2DA3EBF151FBABE3D39581D564BF8554C9FA2F3303BD5D0EEE6B2A739838 -37E67D38EBCDBDA0E5A784F4A7C165CB6ABBC00286AE34433766C3FFC6574B3B -BE4B8D36DE246BAB3FA365A33697AB07DEFA881A347470C89951B92D2D820487 -8A6935CFD404E696C61B0BE3D16FB91D5316DED8A003FE55AAD565FBBA8D5928 -D973BA86AF7B9F1BE4C5F157053504D6695DEEE925FA8041E3F76CA7A3C37B3A -B95C181C32E1466EC738C817369C6DB8364920C6F3FBA3BEE10E87B1AF334043 -200A789BD86697F54B344F11D528620B602AD2840C4755B32C4869DDB2DFBBC1 -F6863C0A4FB43835FA8620A2387E58E9CC430FC75162992E6FFB30A72B7686BA -3392399A5F79492531EA995BC1BAD1344E5D1AA70C11E6 +57BDBD4C4FA2979D6344AC3198440DB1709FAF1D9DBD7EF56D6161464803216E +9866C68434A3533C4372DB3C1CFA11ED5321C3F4CE7CF78E392506AAF7257AFC +7C9AD27EB8EB637A93384B54EAC3BD084571DDF97EB5E82C643FAC667BC3DD3F +D981A9E0DDB7320B07F23CCFFC4D74C034EC6C36DD66D907A4D34CB94409D362 +04EC03D1FB2A58E607C6ED3FDE67E97D9446876F6C685938EAC48CFE4A228E83 +FF5AEB1A4FE7EC29B33D17293570D43B501DA206F7CB0C5AF321C58E21F739B3 +49C19AEA6529CC550471E98E84DADA143F571A340759AC0809A695A56EBE8BF7 +6074197773630952FC57B9A3EE95B0E63CC4474A6ADB4D9E7FDD3B2B35294CC9 +D9F6B1C2786D00FD841BA8007988D6B4DA71736F63B1BA028230C46B0AD6A6AC +8126FAA43863ADCE0DF29E8B4C9EF15CF7D80AF346C45A9C347273FBE528E1D5 +389D396B339BD8129B462513B063D931CCDF8F346959483BAB970A4428B9EFBB +0773F9B2DFA2D6566AA2963DA654DC21F8F11EE928A083406353DEF3829EA553 +EB6EB0DAD22A4245AC88B5C509DF6C290D93AAE1E5BE9ED6BDA7D04AB0B0998C +A1264CE0025B1B2E2463A5CDC5CF0F60AA49AAD32391A5F97E27115223C6D1B8 +CA9346C5E650DB86749EE83275610023D41A47D0E5425E74D16A6EB98EC38C6E +00DFCE06B41D2FEAA761F5102718086A15E02717309F7D3B6140293E4B1A46D8 +6E8FEBBBAD104DFD4DE26B87E61A3C0043AC2C2DA283E1167D0E07DD24C80C94 +CBDDC86A09F86E651BAF3E059217118A0408612BAE85E4253C83E3AA5066CC08 +7E6528CCBDBDB5A63297B0BA85E9753B1C968783835EC4006D89F51C3E7D5DD3 +31C9CBC83D175E7832A643AA617DC3B38D8BDC98B7E806BA0F224E8AB73100C8 +A7ACE961DF33A8D97D6F86D5321B57EB2055525ABC17B676585E0DF57FD4E591 +1E6E9C8FB7991EFD37827EF2620B4BC0FDE501354F8ABD9997B508EA7731FFB3 +305944D9A5D4241F0A617F28587E7AE09F73C60B4D1FA1C37CB23B10A8E3FBAD +A2E067B24AE9AC5715F62BD011EF14B6DEA21DA0F2E8BD27C918683CD1484950 +2C5DF9BEEE20A2F79E60B803E8E3D47DCB19F8F24AA44524361B5A8DE4017ED1 +0A04EE08C9E9724268FDF318A6D037F8344FB9DD23441CF3ADBE7EE059E00D4F +B093E7216014B26A490F3779DC5E0D60635537BC8B0B681A20BC3106D4904947 +B6E8F68EC6B10B0B8D1304273BAE5D764FCB8A1C33CB55CA860258773A3C4A67 +794668D72813A662BA507A1EDB1316165E5148822ADAF61F31C8B4788D720A8B +6437E764CCCDDFB1206E7B84AF01BFCA1A695B75D96C47DE7C62670DF0FF4C29 +D0340782B68BFB6CE59C43F54C83C645138BD08492A5D8DA321703B4FDBE8313 +A4C6A13B04618755B5DA2C506CA059B87DF17085F1181FE5A23359C2EC1B27CA +E60567F112BAF14E9DAE8B749D28BF8263866E9019A963884A2DBF7F1F0B4A4E +B7C7A0E084F4A8F76EF5B001E3052DF0CF80C56DD85057073E7A1C1FE182A81C +B72098679C11A375F715270D5D834E94EA4F222F7D3DBAB1AB1AF1EAB16E7675 +42C5985A38613C54FF89DAD80417B054A826D5B6F47CC25FE6C5E831447674F6 +E7D0637D9E729D1F288075BAD89588DF7AEC9EFAB07A2B73D8245A4990A7DD94 +11A1D63F6E1F9934A807BE37EC1A897EFBA4DF6998C910DD75658BF6F133196F +438C818B549AC11198008DEF1548AA8DB6CBBC8980C96513E790F19CC3A3C151 +1B12A9B524F6026F3551632A3BA2C9FF376AEFA6BAE9D99A990D6B5714C06D3D +8F68CA21B985E93B0FCDCFB8A39F8DF7B996310B2C1C32FAE1189D6826363B69 +AE6B1B7231D8545A0863B20340CDD552B304B98236927CCBA7BABDE112C25380 +2D08885E8AD17C915908BBC9786D595A0C33A4E7EC1EB66825AE036892DFCB32 +F0576B232F99D99AF3E45D1F26FA0DAB711852AAE2523C6795478BA47E4883FC +92A1223B740DF537FFCAEA617CE3E01DB8518D1B4F60633820F0583187D99EA5 +72E4CECAC883823E5F7EFB04E211AB3D3362FE18F9EBC87470E3C62AB782B5AD +518B69458817EC3A7B8B026E624AE303D18E9E18768F3D3CC978DA4DA6926738 +678E2F96F751AC5F55FA5069B815AF3E06071937F0D013EB7791E718899D92E0 +F13260F6A4F8D6B0BA5405523919E543AE935DD6E1121D4F2DB2C46224CB23BC +39D8537A61DE02008507809DC8906549846FE92F4A835E2217E45CB52E41C696 +98171C24A8F4EF4539F8FBD56355DC995E6E2033E6CC70686CBFA59C19E29A08 +3FB507DB7262FF4520CC3B9194EF5BEAD93EDD5CBBF775A894EEC324676DCF96 +24AEB7824D5B0A506A5838F4E8651795D1611577E86A55393644B2A13E5B075A +FDB70F8619D12A0554476531F69011ACBEE38895BB29439BFB469759E13B9595 +AD5712F767893E2DA66E73C9A88BF9C131C2E1494B2BD04697CD7655966A2D7F +4591E4FE21C817D5337856B6A17F4C2AB207CE750692DB20A25A13EDE487B3BC +0AB2A5C821DB76C4E9100B0D7C4AAF737495DF622216064C01698126F8F237B6 +6016C1FCA6322E7733F0CA0EB83459B143C970CC26EFB1FBA673DE3043FE2489 +2B06DF11D30E1984F7B57DE00892890F36C445E0004DD0492D0BFC40D8DFA970 +4C18FE162CDA7DD31D69714E55E455399C3DEDE5A9A23151ACE7F23D34E70F98 +0F1AF32C7984263F920CDAED21D94CF9DDD72E8EA7AAA7EDDE944F167E318A43 +FAEAC3F77026C771C81017AB544FC6F81009D861402817ACA88FA41C36798168 +29E7204C78F0A89166C1F27B1151988825CB4330693F33B30E0B006352966677 +7FB5E5D522018FA4C7AEB791E84315D67D114481E4427F0D219BDDE0E10AC009 +677247624ACA604F41D4074B24DE54B57E9FBCFD202A40EDB497690935AFDE21 +0FAC4108BCEB82440D51DD0A0D0D61E3F21204E61AC15BD51061DD72EC27A4F4 +7EB24BB58BD6B081C68645E555F9EE3F5B71615BC98F03CE9F059BDE71F3C3B8 +C0283919A815DEFC70CD1C8C450C6E9CF1001371EEB6651EAE42C1848C0F271D +0466DFB548B0DBAE1A0F79CC7F9CF5D113CAFA86A04048E0F6A0F6A0E0D42E29 +866D8AF62A565F302609905808DD338460BF75A75DDDDE4B38A569149B2EB856 +8AC05433CE5DF29CB9F653BAC71270C8BBFDDC4794FBBBD407134C1A2F4D22F3 +3D18EC493CAC8BC6EF887B78762B179B038D83C1C96A8F6D2C507AC5DF3E3003 +22E63A4F67DC02E2D59A44E5DFE529ACCE3A4CEE2567FBB6FD1CA178DBD1399D +2CE138F853D68514F186EAAD924D9952D551504D7C95449248C979181BA3DF5A +8925BCB229E63DA811716D82B56365629960DE392076FE533516CCE02E341137 +EC32EECBC9ECACF92B03BAA83859FBA0584EEA52B3904B69C1ACD8B56CD320B2 +3DEC1D1DA1B66741F1C32CB8F4DA6FC6C8C64C5C3D0A0BCED43C5CB88E5E2B84 +6C5E062278DF5F323E2BB59CBD5B1F41F43BB3C7AD92A69B048758C90E0D3A52 +6FB41FA9EB8BFC592793F45FDD2157DC92B4A910312DC2067C6C5179BC170DC2 +1E445045E7E5720410DB949BF761C9EA5830D2C474FAA17431B0B69D504C8F49 +52911906240AA7A6E649577251FBA1B694F34F6D382E8FDA76708690341646BB +E4C8FC130D1EB7214C56A203983C0AAE490726E24D6CC83F06E29E117DDED606 +5ECDBDED5D5DF2F48F642A19F9E59B3A0C39D11050DC4895956B4ED5F71CB7CD +806D50CD68C66C797BBC187FD3313474361A2EC0C30B98A7EAC314BE1049D354 +72F2C754771C49A3B8DE3BDD7D332D5FF160D2C128C7B4524B3C2191372AAA1A +0A6BA0D4B8D440B4CB17098A59622AA62423C4F7CDCB2DCD45F7553E61FBD272 +EB86A952B821C8A360C531B77C49CE62BD37550DC26DBC8F1060D6710AED5646 +FB43A9845023ECE6444B084AC06E83393370C505874C1260117CFAECC1AEB626 +B9076582EB7F4BF3F5938AA89A3903E8FC147D4E3B89B06D7B51672391BB7F98 +003B1AF7980E84302BB8ED67B4456B6F45BD1F2155ECD5B60C9D8633D2BBA367 +2F503192AD0C9F3A204AA41B8AE03DD9D8A8E7FEAAA29F0AE5F18892E64A050F +A44185D62296B9CADDBDAF78E769051D212D294B14265D37FD248C2F8370BACA +D33E7785D00C79714D6F4C11D512033798826B3B711B7BF306133C9F536E18B0 +AC2169060D5B42FE9D70FE52C3CF104F2E28B872AADCB33422A5106EEDC941DC +29FEE0EC5020582C0784556A74E3697EC5BBBFE08B7E878C06A13660F164C740 +2B6E26475AB9E4944EDBA4169A9D36B43D2D88948B53B1B9C8ACB8CE7880000B +4226719FB522758866ED95E18B0965FA0BB633FBB79D67F12DC20AF71FEF1A5C +7C895EA14CD857C5C79B5CD31B7A831905E7178E26657AA3026FB65E2FC0E201 +5489E6B9B60F361CE78514DA8A89FC3CC7C434EF6AA0E60C215DA385A8910697 +4C1B9562FC0016794C2A124E27FCA078404500FB9B3475B7A599F87CE00DD4D2 +745292C279F8907DD01EE660B88B41AC46524297065681BD24AA1979E00978D2 +7C33725AD1953F5BA713C8ABE20D350B00929A29FC28C5081D9745773108F37B +D7064CF53AC0788B5F3445808E1A7FFA9064D1614EEC7D193F137D8BC89D4E4D +7224D2C322B0C35A641ECF98048CF8A750C6CFB4E1EED164C354EF8DEFD02829 +0F91E7C1B1F3E98F9EF0C84FFE10197F116278A5EE0330DD552329B1177CC4F7 +C6A79F8D96C4392F22815A222BE811B4B81FF99E729F2D74BB86E59144C42092 +B2EC7CD29E91788DFFFEB6FC9E777B7638C3CFD777DCCDDF2EE14388482D89EA +9413310C2834290131D8154DA17FD72260D811DE1C82B9761BD0FE86C799A163 +99AE61D5A271B610410346F4B9894AD72E9E6F6C63678C1FD1706B118BA4C60E +69236F15FF65459E08D6942250D0A568DA1CCA3F85A0924C4CAEA475467D5D54 +B674EABB35604C4337382F8FB16194681FA11EC85677E57DCFCE6B7CF780FBE6 +1E8C9FACA71FAF605C03FA5880514AAA760C91C85F2B2190BEC2EAEA4E46EA02 +5172F34E607A0846126675E96859B1C657DCCDBB3A64CD8315BA8C88E833D217 +D352BF66F5FA87940EE2A1777C9E1E867D8D2DCB33B242C491763629311B1E84 +38EF9B80554E5F8DA022BE06F57838FB5327592B97853E6DA510BB5FD2142DF8 +E602A1635AA59CAEE7FAE408B381CC505ED188354A7D56707B3B5B7F2A83DE3D +9D3C34B160DE3BBB0602C0102F8BF5D17D739F2FAD17C5E403A0C6E9D3EBB864 +39A015CBE7ADADE67C60414A78DC6856AD0EA0998F51352485E48B1539F42531 +2E10B6E3FB27E60D445C9755DEF5BFF503573B06FE971C769B0026A866389FD6 +6FB25812D7C06D5799BC6A271F1F9B0FB41C0E3F466EB109C8D0DCE23D3D2B6B +3566329ECE6951E6C5AF424C7C7ED0C1F3B1BB7B212BF4A5FC7859465FFB90BB +57BA658CD542A24049F2E6897A812AADE9B1642AA573B6AB80277DEC2A869787 +070B4F72EF11D1DE9C79A34858997DB1A7789D7590FEEAC1E6150E01BACE5334 +7CFB81CCC5D42E3A395807AC19177AC8667B9C71AC0CA9D048989DE54E6BE675 +BAF3F13BC331E3AF75F6AB2B14E234CFC3EC303A22AA64A2A3B21DD02996460A +0BBB2431B58D0667D8EAA51D3E03C27C1CD779FB914D02BEE1E544EC44A0A4AD +936713AB7729B634FE216181F4D5508B680893A2F28EA451EF35701091195A25 +2D5C727A723D589EAB2DB1AA45B271FC9AE17C0B387C627510EE80DB03FE64AD +A453C9CAEBAB4BDF449FE9A0E00911C10ECDD8A9CE2FF49BB9FD2F92660B31C5 +9811ACC24162DBE7992660A880B5493D03F4B7B0FC512B22A33A1E3AB3BABC0F +4B3648E710959103A0D5F6E6E9A86BF3F4EAC6BEF1AFAD3038AA48D0A38B4C90 +B0B7005D8D3725C8563FD71DAD5F59E7F14C2E2327BADD45EE4854E4790F8D3E +8F2CF554208DA4789A198489AA1D0FA3B358FB2E8245D6A6E2B449B9F91F2241 +E79504B052E33581DC98F440ABB4B48AFDDFF1939DC3F52EB07DB9FA636F5F7C +6A0076210981C77D0126260CE1D224519469AD53E5ECB0FF473F960463A8C353 +18033ADC1CECF34BE3D751F59EF711AF0B00188ADC2D215C2BEFD52B63E0478B +553B3BAFF351AF373F3C94B2C279A9E0964FA918719657D270B4DF14CEDF43C0 +230F467F10B3B814C7472E7B0301298E67F518DCAE3DD02F34661896828145AD +9CDF4D547747DCC70E1A43ED757B6FBA6BD2D2229F2EE00D5D6DCDDE1A5765C9 +532A98A6BA32238AD2767BFDCFD271F009B778D152DFFC5F7B3E93FB30B479D0 +95CB3DA664F7037FE20B286C7C21BD14D1C11537097674E4774AE403915DCD42 +4BF85C7A06F5C721CD92EFEE90DC0ECDF37F8C4723CAC2ECE44271954B67C721 +89634E05E351C4B3F360356B2C02727A46F2A0721CDC42D5FBAD1968DA46B729 +E72BE77930740652E4E56CE02DF5A881B61968166F07E36088B5451EB870C14A +D9A07E34EF0D7C92156DCEA851F625F933E61F36DA3320F7A4535289FAEC6883 +42955C50434FDB86A1830D48FFC598774D502584D6CC867FC50238EC24D2B58A +6CF0AF823822CEFC74F874B84658F4CD54370AFBCAEEBBE60AA457AA5DA1A06C +C8F92A48460E94E7CC3E28791F2885E28544FA5ACB0F4125DE6F8D532DDF420B +7283A6591659F5B56E61504B5322B4B1CC80A0463DCD00B6821F56446E43F029 +E56E69F8C28B3112EDA3AA5E69046FBA5E57ECF686979BE5B243819BC34CA308 +FE1258B6A1127E701593AE44C88715CF4D3547DC6C66E85F8C14494AF4F07F9F +22723D40A8D483B725246DF4757706783AF56C1A953DD68BC97285C5315CCD5A +4350D8742CF7FA13D1A46042ABFA25CC6120EDA9948D262FBB66055C464C14A0 +B8977B5BB2DAD142F46CFEB4A36B7EC51D55E728883F50672F3E1D4FFE41E5CF +30571C3EE09101C213AECAF90EE8698B740FA5717FF2198C005568E9DB201600 +833437B707AF68F52E9B68EFC36D73E9D4582AB0F135EA890D939FB1BE866144 +67CC07007B66C9CE3F7B204E75369E22D09B4F88E6DF4F7918A79AF5819C7A77 +3DDA23B3F1242BC2A61545E112255DFD97B86E859EA508CC77577BD9404AC9C6 +7A998CC511760C3CBFCD9F6F53A7B1F7B5EB6ECCC074A05E533A67FCA3CA63B0 +552D00C4D31149B29173A8667D9713756D64911540A9D4F3D071C90A76E8B9B4 +B0066037E9359AB21FF5855ED9E71BD1E9848D6A663694BE34FCC171305B2826 +BE177DDDC9B1B97BBC79E45EFC7E70FB11AF79699F373E700CE4D171086461DE +D8E061B240997646FFBD6D273FA9604861DBBF3A50DA307E28AE218C3D0818C1 +4331CF7C0F448650AD20A77AB23CC5F40C48CCD602D0B32D4C7CD7B4B607E262 +D07B5214069C6856D31F40B0D50A63B079D065F79C3ACFA853C2C8A3DC2572D0 +B5DD285BB0ADD7596FDED62DF7C68EFF979DB5E0182FD061DF55362EDE0B03CB +70A15526CBE98186701557FFD27556E64DF68EB38234AA13770C733477CE8A39 +0B65A272D1DB66EBA12234F1AD36E0F2B0289820CEDCBDD4CC852F53207BED97 +CB93E853456D631D7DC397ED5A6ADF59E8D04756921A319E8A85DEE2FD175D86 +A5094BFFE6FF5BA43715E2E2941741E63570CF3489C7DDF94AE79A0021F76384 +6E76CA3C1AC552EE4B66DFD560EBDA38EF5E93DDA803BD06E2EE8003E2276790 +896D51B88E4FA90061EE472BECF58A133B35920E47BBA565727DFBEF612ED98E +895C8936833C52C5703B5F79F58F4C3171F2071040881EEABBD9D4313F246856 +AFCCF15AA4A087A9483BD95C260BF5B59485B74E1E3E98F92505B0D27F46F832 +CD562D0649886F2CAD709585334B034F3C4B93692C0082EACFFBFF259ADAA6D1 +9F863393DC0C772B2A9230FDB5FF02E8F0B5C059DBAC8D8F75BE0B3650AFA3E4 +4292F1CF0A4AF45D9BD8856FF82D93AD77ECD217024A8F619A5B8667D286FA94 +587224B5CF48327FBA64FDEB58FEE11560EA78252F6F3E3520319090EDF0B565 +EECA2CB5FEAD5B42A95B19D4CF41BAC211CEE425FE833DC7F67146FA46AEEAFA +2AC315DD3D7017B652AB372D6941E9AE38D8BF6F48F5032CC938C7F8AAC3ADA8 +ABAEDC939E982B4C92C666CB24A5242D5504A788338BC5663222F502094EBEC4 +007B13BB67213B30783987029BF3458DD1714F59421AAAD0C298519EA2A4F4E5 +38703C5CFFD13C621EB988C6EDEE218B5D5315164FBF0C41F32B5A48E50FF7F4 +B60B005B69ACA39396DA5969BFD468B28BEA77413E80A3F7027A31A81FCAC929 +108189FD78D3D3B6B22529ACDC418F7D8050A4DA3275FD84E7F2822325CD1E5B +B0CD6685FA050D53B892CDD028FBE94BA9E2F1C61BD56DEFD7789C2BAAF164B4 +F8FBBF983001B91D0A667F94EE096CC9695C0F84B3BA9BCA6B50787EF1DDC483 +C5DEC8B12C00B19F9D1C680BBC3751E3F9C964F3302B4B9CECB9F6DBA34BEAA3 +CA2F39CC530488640FC1A7CC894E4AED03A08176F3AC15C3FA26FE85C9D9BAFB +9F4CC02255074CCB951B7E878D7AB997737417BC010499D7F91610D5E2A67AC6 +F8D95510738B83B43DFF22C451A3096F758616FF223882017663DA7AB0AA0D87 +4CE2C31640489CB32EA91176D5C39531746330ADC7925AAEB086075BBFD5E9E2 +4D8967A73090B20310432A8D7FB3D0A756F6D73B36020F040E710792561FA99E +3307619D6B65F1AE55F0B053FA8DE24D54619AA5ED9F0C1A7157AD8B9D97A142 +386DB15AC36D6CCF453C2EFA6A4615935D388250A11B296307A45B90D7E76BDA +609198C8FA31C6E5CE1A1AEDD544CBE2D7C6FCEF1CA63BA2D57D2744578956FE +D463214CEE5C154966E10F0A64E25DF25BE8538F9CDF5D480BD8004082070F38 +C88473561C641E815A6D94820D0CDE56829F0AAE4BE1315D360DEB4CB25B4FBF +791999D4FA7206256B177D8450D50A32A7F806D89471EE96CC7E85356D2C1E35 +288B7FBC0036792A4E7DE77DEB347F2168B3BD9AFD31177AB5E4990957869944 +243087BC9F048C218368BD6C738832CEC99D7F31159A33026442ED4D27771E12 +BF02554203415B1877941037C72CB762B51471C79365C018D506AAD55464A248 +7EB6E55D9B0527CAC8A915BA84F4DAE556B427F48E3120142AED5705789C2708 +AE94395B1F7B875EFF7F19B9AB8AF28737FC304E32C8633625DAE96D1D732E29 +59879BACFBB15ABFE8A6EE1150AEB29713B428FFAFB619206D71FC382B1215EE +759318C5CFEA9C0E5E8E3B7F47DE607B6F93C19AF28467568A3F373AEDC78AC0 +CE99A407D97154FD68220CA66F7D3EA77B323A7015FA9D9E8AC5927D0E7F4A4F +1FC871BFA999EC749E09FE2AEB8220705B0AC8CB4DBBC409CEA6B47F98B67CED +DED64869A1F9B3BCA0A85D66B1C27301DE7542FDEEAB005F2FB76CA066664B94 +968C3E637E055EFB165093574FB6EA732B959FE708C52FFEF012CC1117C85EF6 +56B97BA4B30322F7B3F1F95233A3C897E5316BB86E8C331FF1A858429E0D98FC +DA67AA525C035606A8ABDBE35B742B53183CE047EA2CDE1C08EDF08E5355F694 +1C34925DB0D5314CC0B205F40775A500B76491789B90D4604D3545E2D7DAC1EA +400B2CF72EADCE9C7409900ADD1C6057DBBD97D332F6435C0B91B14D081EBE01 +EC9230E6D12B6455E401CB100C7B3590D23CE094C79BE8266F1F24937448FEA7 +C74CE914AE8DFE853F3E068433A6DA96F156A0014C457040587BAE7DB4CAE2C0 +EC1FF60747BAFB376D5F87DB5CE2A8512453088742214C38F5B6E0D7644A0C1A +F67087FA502BB43C27B32931D8315CB8A425341ABC3E7656588AB563E9CC456C +E46CC1E57DD4B2A83CEE5FD154001568DB6AFBCEBE8FAA4458AFA35BF37E4C71 +1D112063753E5B66C8B4E801A5E46F6053C8B55A95086615D6601924A6633C4A +C4D8EB0B7A5C8AA7E49FCFDC8182EEA53DB300AADBCA3836FC88A140A155C726 +54CA5DDD926DDD0C1555C26E30AAE25D1CA4A2478D0FDE0EC996A1399D5C0F69 +C349AAA9206B2554D7D6C68DA845053641E22B965314B6F28D69628FE8D5C243 +E978E6B81B3F916E722DBAF355B18812021267A9E3C324B3D9F6BCF7B5B50CC2 +D5B72D9DE9D485E103F25E1F42FF7BF040B3B6B5DFBB36BCD8E8B6379CA3198A +7AEC551899A044FEE3CAAD9A2C3D839DD370C97C194D5A4F2815785E413A0597 +C61887CC4842988FBB321DCF73FB977402DA1E3D9EFAA176230295ABFD079DD9 +9B2D187B82BD7FCAFF1EA271FF74ED0210D616BCBB443800C9FCA4F467A19717 +DD0D36AD7CD6CBA51AEB15755E68789368851FAE22F39F3CBA9CA1DEFC304E17 +33BF87828DE7758DADAF45CB27CB0A64DEB8F4CCE7FF05CEB0E4E016B9675CA4 +E7E001E16FB153610F077EDE525873CE46E0A3997EF7F73D8DF38B916A8AF808 +93C2463BF8B9C5875B76FD983F00311BE872F5CDB5B1647508F422FBF2A56986 +6358FA3C232E7E6063C82F74823036BB7AF8F8D545D12D82B2195DCEC5969DF2 +0EE8CE3123CB3010FBEF3FCCD7F1920ACC42FFB593697B786E6A6F52E10C1A15 +208783D4280FC31CC679F9E4A00E684B74EF11900CCBF5554CFCE34B65A9A999 +68AB22E0A438B4DC1CBFC32755F7DC8FE58A7956C1BBBD29983200DDDAA59C5B +4CE550F5E0AB048E98DA80BDEBA63ADD9DB6C7DC3A3F6E25C1FB6B638120925D +C897B2C05C4179A0E48740439BEA3FFCD35C71B21ADFD7C8412706D3868C4BDE +30F6B8CAE82D86AF842CFEDCAB3CF67BDF0AF7FCE6A0E7AD2D247446C38B2CF3 +26CD3D7E09F5CE2535283C43D04C9391C7A1CDFA6F2571F786A1F0189B9BAFCB +AB1CDDF8190D7CE364F8FF8EBCBBD5F646C095CF27A34B7235566BFE8B012E01 +CC721A7B3FFD795A0EBAF81A8A0A7820B99E98166C1AF177B87446927CC0C239 +54BBAE855E9FBD704DE67917FABE3034A953930949AFCF79A59AD8A387CA1FA4 +58131723EB2935C02EBBE6F9554BDDBEA5EA55E3FD6BCF25DA52765D65054BB8 +4A5C2AD1312892297E1C45570F0622D145BE35C8758391F28C04B3AC4282D1AE +084E080892C76C1B9C9F738760879908EC5B3A90DAB7A6538080A484E54B9FF0 +1C2885E93F1F16E52E0A3C9F6802E6345BBC5DBC5E7C57C85104427CA3182C7A +54E95B22D149BFBA403CC8A960EC62EDABA1881F31B92C54DD21C96298A7703E +E9D2DBA4B91A23C4E5F3D225A38C07818DA8C2F261D950FC8AB6042023248E37 +6BA0AE50B9A85F04EB48523143AE40695F127E34E070331620415B95A5ECB24F +C46696AC6F75020F6322DFD03B42788C535DB541FEA6F846380E8F5800B7E060 +51A387FC9AAF598C88CEF209FA38E008D8707A34245EFB722BB373D7E6B1E6CF +BDF2DBCE22FD2C85F78C4C4FC31F3C2F6B553C4295A1E26665BD166FFB7DF6BE +A6E9D18FB735F2DA53138A4A4352B36A08B662528FE0237FF37FFF218D88F2EC +50741BC5E98E856B17D8015869044657657BDB90D69A0FD5D5D0CF4A6A091E56 +938D444D0618D7B45C22F65E18B034282849355ACE83A188D164FA36367AE6C3 +35C775F72A89A4017A4071EAE1118B88C58CB1DE4E20EE1955BE0BFE8646CCF7 +05322E5566D14B5318A2328648CE7C1AC36B077D1A8AF17AC827E500B09FF496 +69CF7446403EF7B00C4F1832F1F6692B5FBACFA7FF9A719E5DDC8F25A798CEE9 +F4F114E522F00B7A415AFBCE48D09958DE98CAAF427FFDFD635A7ED5DCFD5F7B +6D7AF2B5E78F4446753C8CE59F923D4728ACE448F35BF3FBBC8B2ABCF49432D3 +AA49924191FC8AFDAD01863EE8716B6D76A6512B40BDE9C18C7D321646539DB5 +A09047ACE1815F462E82DC593548CF68B78D52049AED0E44627779613BC02BCD +2B5BDC8D2091271D44BA1362DE0E44E46CAA9D966D429848FA422A73061A12F2 +B1BE7A81533D810479F91C9656D3AB7F00B9332AB851743C0F25E32F37E943FA +370B4EB25781068D8DFAAEC50CF86028610CDB59CEEC4AB547EB3908897AF9ED +CA74EA35D2CA70A70BC83B0AC2E4A5E558098AE2B12EB42397CFCA0F9C9E15BC +9431FB2F10224F22F0E191291110FC5E1313A99EA12B3E3318263AAD516BCF66 +C71C825091984E21010B29025E3FBDC518E8960AABEAE236F03611CAB6F87D03 +EF0DA8DAC4D2C58A9ABD40E592B2756FB21E4D7D2F2D3259F51CEB6BCBB1B4E2 +33BC3B474D779565D69F0FF19113A20553F85DFDB4FF9E175606240A7562B12D +4B8B8F938AFDCFDAD721A64972573F6251D363FA971FDC41F2E02F7DF28C0AED +EAD3A9CBBED541FA7E6AD7BEA83945118B83564782FBCEC5B466B96DA7809BFD +A86907AA67FCC568533218DDB3D201301379A1B9EA8A32DE36B1F7F93F99F0BB +FA3F4D002793063ADB685A8935EA4A5E549767853A6488C6DFC2E70B3A455D0A +29E8F6FD949E810C0EC0F6F835DDD975EF68B4DA83F23A14945195248F667B32 +EF2F958253C7F5FD49AD7E545911E963D76006C57322D2CE2FF3F1DD1256152B +3226C0CA03B72F409C91151FF59EC80C2B7431C656E94E19904AB842D63BC797 +1C6552AB4B265ABC2AA8B66096AEC22E778232043288EE0F60D6ABB319B9D2BD +0FBF6F0BFFF5DEDC3A39AECD6821EDE1B213F7A2E6A7BA475389D647F663642D +E4C5C3F0DE1C0030EE381006CB01B5E5947AE6E837DD2ADBFC967557A0182EDD +16B10FE9BDD490CA0A3C351B025FC63A08D1415163EBD31ECEFC3F50586142BB +205E41E1ECEC46CD2209D760D75E743AD13AF1E761A8B7F996ABCAEA43645546 +F42C87F6909258CC74419B96A39D6DA3233834894CC60B03F867B6ADAA2C18F6 +0040A9D8E70BAB12221217095DFC57117CDEB536FDA09E11787D4F7B448F88 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -6062,7 +6062,7 @@ D05087746F3EF6595180C4480008CFEF2F0AB926519BA31392E3A84A07F2C0B8 cleartomark {restore}if %%EndFont -TeXDict begin 39158280 55380996 1000 600 600 (libtasn1.dvi) +TeXDict begin 40258431 52099146 1000 600 600 (libtasn1.dvi) @start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[41 2[41 43 30 30 30 1[43 38 43 64 21 2[21 43 38 23 34 43 34 43 38 11[58 1[43 2[52 1[58 70 48 3[58 60 50 1[59 55 @@ -6070,78 +6070,80 @@ TeXDict begin 39158280 55380996 1000 600 600 (libtasn1.dvi) 12[{}45 74.7198 /CMR9 rf /Fc 134[39 3[39 39 39 39 2[39 39 39 39 2[39 39 2[39 3[39 97[{}13 74.7198 /CMSLTT10 rf /Fd 134[39 39 39 39 39 39 39 39 1[39 39 39 39 39 39 -1[39 39 39 39 39 39 39 39 39 39 39 8[39 39 39 39 2[39 +39 39 39 39 39 39 39 39 39 39 39 39 8[39 39 39 39 2[39 1[39 1[39 2[39 1[39 39 39 39 39 39 39 5[39 7[39 39 39 -1[39 39 39 39 2[39 39 39 39[{}51 74.7198 /CMTT9 rf /Fe +1[39 39 39 39 2[39 39 39 39[{}52 74.7198 /CMTT9 rf /Fe 133[40 4[51 35 36 39 3[51 76 25 2[25 1[45 1[42 51 40 1[44 7[69 3[70 63 51 69 2[68 71 86 55 2[36 71 71 1[60 -70 66 65 69 6[25 58[{}32 90.9091 /CMB10 rf /Ff 133[52 -52 52 1[52 52 52 52 52 52 52 52 52 52 52 1[52 52 1[52 -52 52 52 52 52 52 1[52 8[52 7[52 7[52 52 52 68[{}29 99.6264 -/CMSLTT10 rf /Fg 133[40 48 48 1[48 51 35 36 36 48 51 -45 51 76 25 1[28 25 51 45 28 40 51 40 51 45 10[68 7[68 -1[57 2[33 2[59 62 69 18[45 4[25 1[45 28[51 51 12[{}36 -90.9091 /CMSL10 rf /Fh 214[35 35 40[{}2 90.9091 /CMSS10 -rf /Fi 134[52 52 52 52 52 52 52 52 1[52 52 52 52 52 52 -52 52 52 52 52 52 52 52 52 52 1[52 25[52 18[52 52 6[52 -42[{}29 99.6264 /CMTT10 rf /Fj 134[65 65 89 65 68 48 -48 50 1[68 61 68 102 34 65 37 34 68 61 37 56 68 55 68 -60 27[81 18[61 61 36[68 12[{}28 109.091 /CMBX12 rf /Fk -130[48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 48 48 +70 66 65 69 6[25 58[{}32 90.9091 /CMB10 rf /Ff 133[40 +48 48 1[48 51 35 36 36 48 51 45 51 76 25 1[28 25 1[45 +28 40 51 40 51 45 10[68 7[68 7[59 62 69 54[51 51 12[{}30 +90.9091 /CMSL10 rf /Fg 133[52 52 52 1[52 52 52 52 52 +52 52 52 52 52 52 1[52 52 1[52 52 52 52 52 52 52 1[52 +8[52 7[52 7[52 52 52 68[{}29 99.6264 /CMSLTT10 rf /Fh +137[53 55 39 39 39 2[50 55 1[28 2[28 55 50 1[44 55 44 +1[50 20[62 2[36 2[65 68 19[50 4[28 1[50 42[{}22 99.6264 +/CMSL10 rf /Fi 214[35 35 40[{}2 90.9091 /CMSS10 rf /Fj +134[52 52 52 52 52 52 52 52 1[52 52 52 52 52 52 52 52 +52 52 52 52 52 52 52 52 1[52 25[52 18[52 52 6[52 42[{}29 +99.6264 /CMTT10 rf /Fk 134[65 65 89 65 68 48 48 50 1[68 +61 68 102 34 65 37 34 68 61 37 56 68 55 68 60 27[81 18[61 +61 36[68 12[{}28 109.091 /CMBX12 rf /Fl 130[48 1[48 48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 1[48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 1[48 48 48 48 48 48 1[48 48 48 48 -48 48 48 48 1[48 48 48 48 48 48 48 48 48 2[48 1[48 34[{}83 -90.9091 /CMTT10 rf /Fl 197[25 58[{}1 90.9091 /CMMI10 -rf /Fm 197[33 58[{}1 119.552 /CMMI12 rf /Fn 134[85 85 -2[90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 74 90 72 -90 78 11[124 112 90 4[126 4[60 2[101 1[124 117 1[122 -12[81 81 81 81 2[45 46[{}34 143.462 /CMBX12 rf /Fo 240[45 -1[91 13[{}2 90.9091 /CMSY10 rf /Fp 138[62 62 62 62 1[62 -62 62 1[62 2[62 62 62 1[62 2[62 62 32[62 14[62 2[62 62 -45[{}18 119.552 /CMTT12 rf /Fq 134[71 71 97 71 75 52 -53 55 1[75 67 75 112 37 71 1[37 75 67 41 61 75 60 75 -65 11[103 94 75 100 1[92 1[105 128 81 1[69 50 105 106 -85 88 103 97 1[102 6[37 2[67 1[67 67 67 67 67 67 1[37 -4[52 52 27[75 12[{}52 119.552 /CMBX12 rf /Fr 131[91 1[40 -48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 -45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68 68 -66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 66 -64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45 45 45 -45 25 30 25 1[45 35 35 25 2[45 1[45 25 19[51 51 53 11[{}85 -90.9091 /CMR10 rf /Fs 139[75 76 4[108 4[54 6[108 94 20[116 -26[97 49[{}8 172.154 /CMBX12 rf end +48 48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 1[48 +48 48 48 48 48 48 48 48 2[48 1[48 34[{}83 90.9091 /CMTT10 +rf /Fm 197[25 58[{}1 90.9091 /CMMI10 rf /Fn 197[33 58[{}1 +119.552 /CMMI12 rf /Fo 134[85 85 2[90 63 64 66 1[90 81 +90 134 45 2[45 90 81 49 74 90 72 90 78 11[124 112 90 +4[126 4[60 2[101 1[124 117 1[122 12[81 81 81 81 2[45 +46[{}34 143.462 /CMBX12 rf /Fp 240[45 1[91 13[{}2 90.9091 +/CMSY10 rf /Fq 138[62 62 62 62 1[62 62 62 1[62 2[62 62 +62 1[62 2[62 62 32[62 14[62 2[62 62 45[{}18 119.552 /CMTT12 +rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37 +71 1[37 75 67 41 61 75 60 75 65 11[103 94 75 100 1[92 +1[105 128 81 1[69 50 105 106 85 88 103 97 1[102 6[37 +1[67 2[67 67 67 67 67 2[37 4[52 52 27[75 12[{}51 119.552 +/CMBX12 rf /Fs 131[91 1[40 48 48 66 48 51 35 36 36 48 +51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 +45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 +47 33 68 71 59 62 69 66 64 68 1[43 1[71 1[25 25 45 45 +45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25 2[45 +1[45 25 19[51 51 53 11[{}85 90.9091 /CMR10 rf /Ft 139[75 +76 4[108 4[54 6[108 94 20[116 26[97 49[{}8 172.154 /CMBX12 +rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin -%%BeginPaperSize: a4 +%%BeginPaperSize: Letter /setpagedevice where -{ pop << /PageSize [595 842] >> setpagedevice } -{ /a4 where { pop a4 } if } +{ pop << /PageSize [612 792] >> setpagedevice } +{ /letter where { pop letter } if } ifelse %%EndPaperSize end %%EndSetup %%Page: 1 1 -TeXDict begin 1 0 bop 150 1318 a Fs(Libtasn1)p 150 1385 -3600 34 v 1035 1486 a Fr(Abstract)31 b(Syn)m(tax)f(Notation)j(One)d -(\(ASN.1\))h(library)f(for)g(the)h(GNU)g(system)2592 -1594 y(for)f(v)m(ersion)h(4.13,)h(4)f(April)f(2016)150 -4795 y Fq(F)-11 b(abio)45 b(Fiorina)150 4928 y(Simon)g(Josefsson)150 -5061 y(Nik)l(os)h(Ma)l(vrogiannop)t(oulos)g(\()p Fp(help-libtasn1@)o -(gn)o(u.o)o(rg)o Fq(\))p 150 5141 3600 17 v eop end +TeXDict begin 1 0 bop 150 1318 a Ft(Libtasn1)p 150 1385 +3600 34 v 1035 1486 a Fs(Abstract)31 b(Syn)m(tax)f(Notation)j(One)d +(\(ASN.1\))h(library)f(for)g(the)h(GNU)g(system)2499 +1594 y(for)f(v)m(ersion)h(4.14,)h(29)f(Marc)m(h)g(2019)150 +4779 y Fr(F)-11 b(abio)45 b(Fiorina)150 4920 y(Simon)g(Josefsson)150 +5061 y(Nik)l(os)h(Ma)l(vrogiannop)t(oulos)g(\()p Fq(help-libtasn1@)o +(gn)o(u.o)o(rg)o Fr(\))p 150 5141 3600 17 v eop end %%Page: 2 2 -TeXDict begin 2 1 bop 150 4523 a Fr(This)21 b(man)m(ual)i(is)f(for)g -(GNU)h(Libtasn1)g(\(v)m(ersion)g(4.13,)j(4)c(April)g(2016\),)k(whic)m -(h)c(is)h(a)f(library)g(for)g(Abstract)150 4633 y(Syn)m(tax)31 -b(Notation)h(One)e(\(ASN.1\))h(and)f(Distinguished)h(Enco)s(ding)e -(Rules)i(\(DER\))g(manipulation.)150 4767 y(Cop)m(yrigh)m(t)602 -4764 y(c)577 4767 y Fo(\015)f Fr(2001-2015)k(F)-8 b(ree)32 -b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)390 4902 -y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 -b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f -(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 +TeXDict begin 2 1 bop 150 4413 a Fs(This)40 b(man)m(ual)h(is)f(for)g +(GNU)i(Libtasn1)e(\(v)m(ersion)i(4.14,)i(29)e(Marc)m(h)f(2019\),)k +(whic)m(h)c(is)f(a)h(library)f(for)150 4523 y(Abstract)32 +b(Syn)m(tax)f(Notation)j(One)d(\(ASN.1\))h(and)f(Distinguished)g(Enco)s +(ding)g(Rules)g(\(DER\))h(manip-)150 4633 y(ulation.)150 +4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fp(\015)e +Fs(2001-2019)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 +b(oundation,)32 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h +(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s +(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8 @@ -6152,98 +6154,99 @@ b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390 5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end %%Page: -1 3 -TeXDict begin -1 2 bop 3725 -116 a Fr(i)150 299 y Fn(T)-13 -b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fq(1)135 b(In)l(tro)t -(duction)13 b Fm(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)h(:)57 b Fq(1)150 911 y(2)135 b(ASN.1)45 -b(structure)g(handling)16 b Fm(:)j(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)61 b Fq(2)275 -1048 y Fr(2.1)92 b(ASN.1)30 b(syn)m(tax)20 b Fl(:)c(:)g(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50 b Fr(2)275 1157 -y(2.2)92 b(Naming)18 b Fl(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48 b Fr(3)275 -1267 y(2.3)92 b(Simple)30 b(parsing)21 b Fl(:)15 b(:)g(:)h(:)f(:)g(:)h +TeXDict begin -1 2 bop 3725 -116 a Fs(i)150 299 y Fo(T)-13 +b(able)53 b(of)h(Con)l(ten)l(ts)150 649 y Fr(1)135 b(In)l(tro)t +(duction)31 b Fn(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(1)150 927 y(2)135 b(ASN.1)45 +b(structure)g(handling)34 b Fn(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)47 +b Fr(2)275 1064 y Fs(2.1)92 b(ASN.1)30 b(syn)m(tax)8 +b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22 +b Fs(2)275 1174 y(2.2)92 b(Naming)26 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40 +b Fs(3)275 1284 y(2.3)92 b(Simple)30 b(parsing)9 b Fm(:)15 +b(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Fr(4)275 1377 y(2.4)92 -b(Library)29 b(Notes)18 b Fl(:)f(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)48 b Fr(4)275 1486 y(2.5)92 b(F)-8 b(uture)30 -b(dev)m(elopmen)m(ts)22 b Fl(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)23 +b Fs(4)275 1393 y(2.4)92 b(Library)29 b(Notes)f Fm(:)15 +b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40 +b Fs(4)275 1503 y(2.5)92 b(F)-8 b(uture)30 b(dev)m(elopmen)m(ts)10 +b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)23 b Fs(4)150 +1753 y Fr(3)135 b(Utilities)36 b Fn(:)20 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)47 +b Fr(5)275 1890 y Fs(3.1)92 b(In)m(v)m(oking)31 b(asn1P)m(arser)24 +b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)52 -b Fr(4)150 1729 y Fq(3)135 b(Utilities)16 b Fm(:)22 b(:)d(:)h(:)f(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f -(:)h(:)60 b Fq(5)275 1866 y Fr(3.1)92 b(In)m(v)m(oking)31 -b(asn1P)m(arser)15 b Fl(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45 -b Fr(5)275 1975 y(3.2)92 b(In)m(v)m(oking)31 b(asn1Co)s(ding)19 -b Fl(:)c(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Fr(5)275 2085 -y(3.3)92 b(In)m(v)m(oking)31 b(asn1Deco)s(ding)17 b Fl(:)f(:)g(:)f(:)g +g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)37 b Fs(5)275 +2000 y(3.2)92 b(In)m(v)m(oking)31 b(asn1Co)s(ding)26 +b Fm(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Fs(5)275 2110 +y(3.3)92 b(In)m(v)m(oking)31 b(asn1Deco)s(ding)26 b Fm(:)16 +b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)47 b Fr(6)150 2327 y Fq(4)135 b(F)-11 b(unction)44 -b(reference)21 b Fm(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)66 -b Fq(7)275 2464 y Fr(4.1)92 b(ASN.1)30 b(sc)m(hema)i(functions)13 -b Fl(:)i(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(7)275 2574 y(4.2)92 b(ASN.1)30 -b(\014eld)g(functions)12 b Fl(:)k(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +h(:)f(:)h(:)f(:)g(:)39 b Fs(6)150 2360 y Fr(4)135 b(F)-11 +b(unction)44 b(reference)13 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)h(:)f(:)26 b Fr(8)275 2497 y Fs(4.1)92 b(ASN.1)30 +b(sc)m(hema)i(functions)22 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35 +b Fs(8)275 2607 y(4.2)92 b(ASN.1)30 b(\014eld)g(functions)21 +b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)34 b Fs(8)275 2716 +y(4.3)92 b(DER)30 b(functions)25 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)38 b Fs(15)275 2826 y(4.4)92 b(Error)29 +b(handling)h(functions)12 b Fm(:)j(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 -b Fr(7)275 2683 y(4.3)92 b(DER)30 b(functions)17 b Fl(:)e(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Fr(14)275 2793 -y(4.4)92 b(Error)29 b(handling)h(functions)23 b Fl(:)16 -b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)54 b Fr(20)275 2902 y(4.5)92 b(Auxilliary)31 -b(functions)19 b Fl(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)48 -b Fr(21)150 3145 y Fq(App)t(endix)c(A)160 b(Cop)l(ying)45 -b(Information)25 b Fm(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f -(:)70 b Fq(22)275 3282 y Fr(A.1)91 b(GNU)31 b(F)-8 b(ree)32 -b(Do)s(cumen)m(tation)g(License)21 b Fl(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)51 b Fr(22)150 3524 y Fq(Concept)45 b(Index)18 -b Fm(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)h(:)f(:)63 b Fq(30)150 3794 y(F)-11 b(unction)44 b(and)h(Data)h -(Index)24 b Fm(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)69 b Fq(31)p -eop end +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)25 b Fs(22)275 +2936 y(4.5)92 b(Auxilliary)31 b(functions)26 b Fm(:)16 +b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b Fs(23)150 3186 y Fr(App)t(endix)k(A) +119 b(Cop)l(ying)46 b(Information)11 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)h(:) +f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)24 b Fr(24)275 3323 y +Fs(A.1)91 b(GNU)31 b(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)10 +b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)23 +b Fs(24)150 3574 y Fr(Concept)45 b(Index)36 b Fn(:)19 +b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) +h(:)49 b Fr(32)150 3852 y(F)-11 b(unction)44 b(and)h(Data)h(Index)16 +b Fn(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b Fr(33)p eop +end %%Page: 1 4 -TeXDict begin 1 3 bop 150 -116 a Fr(Chapter)30 b(1:)41 -b(In)m(tro)s(duction)2592 b(1)150 299 y Fn(1)80 b(In)l(tro)t(duction) -150 533 y Fr(This)27 b(do)s(cumen)m(t)h(describ)s(es)g(the)g(Libtasn1)g -(library)g(that)h(pro)m(vides)f(Abstract)h(Syn)m(tax)f(Notation)i(One) -150 643 y(\(ASN.1,)42 b(as)c(sp)s(eci\014ed)g(b)m(y)h(the)f(X.680)i -(ITU-T)f(recommendation\))g(parsing)f(and)g(structures)g(man-)150 -752 y(agemen)m(t,)g(and)c(Distinguished)h(Enco)s(ding)f(Rules)h(\(DER,) -g(as)g(p)s(er)f(X.690\))j(enco)s(ding)e(and)f(deco)s(ding)150 -862 y(functions.)275 996 y(The)29 b(main)i(features)f(of)h(this)f -(library)g(are:)225 1131 y Fo(\017)60 b Fr(On-line)30 +TeXDict begin 1 3 bop 3705 -116 a Fs(1)150 299 y Fo(1)80 +b(In)l(tro)t(duction)150 533 y Fs(This)27 b(do)s(cumen)m(t)h(describ)s +(es)g(the)g(Libtasn1)g(library)g(that)h(pro)m(vides)f(Abstract)h(Syn)m +(tax)f(Notation)i(One)150 643 y(\(ASN.1,)42 b(as)c(sp)s(eci\014ed)g(b)m +(y)h(the)f(X.680)i(ITU-T)f(recommendation\))g(parsing)f(and)g +(structures)g(man-)150 752 y(agemen)m(t,)g(and)c(Distinguished)h(Enco)s +(ding)f(Rules)h(\(DER,)g(as)g(p)s(er)f(X.690\))j(enco)s(ding)e(and)f +(deco)s(ding)150 862 y(functions.)275 996 y(The)29 b(main)i(features)f +(of)h(this)f(library)g(are:)225 1131 y Fp(\017)60 b Fs(On-line)30 b(ASN.1)h(structure)f(managemen)m(t)i(that)f(do)s(esn't)f(require)g(an) -m(y)h(C)f(co)s(de)g(\014le)h(generation.)225 1265 y Fo(\017)60 -b Fr(O\013-line)30 b(ASN.1)f(structure)g(managemen)m(t)h(with)f(C)g(co) +m(y)h(C)f(co)s(de)g(\014le)h(generation.)225 1265 y Fp(\017)60 +b Fs(O\013-line)30 b(ASN.1)f(structure)g(managemen)m(t)h(with)f(C)g(co) s(de)g(\014le)h(generation)g(con)m(taining)h(an)e(arra)m(y)-8 -b(.)225 1400 y Fo(\017)60 b Fr(Distinguished)30 b(Enco)s(ding)g(Rules)g -(\(DER\))i(enco)s(ding)e(supp)s(ort.)225 1534 y Fo(\017)60 -b Fr(No)31 b(limits)g(for)f(INTEGER)g(and)g(ENUMERA)-8 -b(TED)31 b(v)-5 b(alues.)225 1669 y Fo(\017)60 b Fr(It's)36 +b(.)225 1400 y Fp(\017)60 b Fs(Distinguished)30 b(Enco)s(ding)g(Rules)g +(\(DER\))i(enco)s(ding)e(supp)s(ort.)225 1534 y Fp(\017)60 +b Fs(No)31 b(limits)g(for)f(INTEGER)g(and)g(ENUMERA)-8 +b(TED)31 b(v)-5 b(alues.)225 1669 y Fp(\017)60 b Fs(It's)36 b(F)-8 b(ree)38 b(Soft)m(w)m(are.)59 b(An)m(yb)s(o)s(dy)35 b(can)h(use,)i(mo)s(dify)-8 b(,)38 b(and)d(redistribute)h(the)g (library)g(under)f(the)330 1778 y(terms)g(of)f(the)h(GNU)h(Lesser)e @@ -6251,188 +6254,186 @@ b(can)h(use,)i(mo)s(dify)-8 b(,)38 b(and)d(redistribute)h(the)g b(The)34 b(command)330 1888 y(line)23 b(to)s(ols,)j(self-tests)e(and)e (build)g(infrastructure)f(are)j(licensed)f(under)e(the)i(GNU)h(General) f(Public)330 1998 y(License)31 b(v)m(ersion)g(3.0)g(or)g(later.)225 -2132 y Fo(\017)60 b Fr(Thread-safet)m(y)-8 b(.)56 b(No)36 +2132 y Fp(\017)60 b Fs(Thread-safet)m(y)-8 b(.)56 b(No)36 b(global)g(v)-5 b(ariables)36 b(are)f(used)g(and)f(m)m(ultiple)i (library)f(handles)f(and)h(session)330 2242 y(handles)30 -b(ma)m(y)h(b)s(e)e(used)h(in)g(parallel.)225 2376 y Fo(\017)60 -b Fr(P)m(ortabilit)m(y)-8 b(.)54 b(The)33 b(co)s(de)h(should)f(w)m(ork) +b(ma)m(y)h(b)s(e)e(used)h(in)g(parallel.)225 2376 y Fp(\017)60 +b Fs(P)m(ortabilit)m(y)-8 b(.)54 b(The)33 b(co)s(de)h(should)f(w)m(ork) h(on)g(all)g(Unix)g(lik)m(e)h(op)s(erating)f(systems,)h(and)f(Windo)m (ws.)330 2486 y(The)c(library)g(itself)h(should)e(b)s(e)h(p)s(ortable)h (to)g(an)m(y)f(C89)h(system,)g(not)g(ev)m(en)g(POSIX)e(is)h(required.)p eop end %%Page: 2 5 -TeXDict begin 2 4 bop 150 -116 a Fr(Chapter)30 b(2:)41 -b(ASN.1)31 b(structure)f(handling)2068 b(2)150 299 y -Fn(2)80 b(ASN.1)53 b(structure)f(handling)150 632 y Fq(2.1)68 -b(ASN.1)45 b(syn)l(tax)150 792 y Fr(The)30 b(parser)f(is)h(case)h +TeXDict begin 2 4 bop 3705 -116 a Fs(2)150 299 y Fo(2)80 +b(ASN.1)53 b(structure)f(handling)150 639 y Fr(2.1)68 +b(ASN.1)45 b(syn)l(tax)150 798 y Fs(The)30 b(parser)f(is)h(case)h (sensitiv)m(e.)42 b(The)30 b(commen)m(ts)h(b)s(egin)e(with)h -Fk(--)g Fr(and)f(end)h(either)g(with)g(another)g Fk(--)p -Fr(,)150 901 y(or)35 b(at)h(the)g(end)f(of)g(the)h(resp)s(ectiv)m(e)g +Fl(--)g Fs(and)f(end)h(either)g(with)g(another)g Fl(--)p +Fs(,)150 908 y(or)35 b(at)h(the)g(end)f(of)g(the)h(resp)s(ectiv)m(e)g (line,)h(whic)m(hev)m(er)f(comes)h(\014rst.)55 b(The)34 -b(C-st)m(yle)j Fk(/*)p Fr(,)f Fk(*/)f Fr(commen)m(ts)150 -1011 y(are)c(not)f(supp)s(orted.)275 1146 y(F)-8 b(or)31 +b(C-st)m(yle)j Fl(/*)p Fs(,)f Fl(*/)f Fs(commen)m(ts)150 +1018 y(are)c(not)f(supp)s(orted.)275 1152 y(F)-8 b(or)31 b(an)f(example)h(of)g(the)f(syn)m(tax,)h(c)m(hec)m(k)h(the)f -Fk(pkix.asn)d Fr(\014le)i(distributed)g(with)g(the)g(library)-8 -b(.)275 1280 y(ASN.1)30 b(de\014nitions)g(m)m(ust)h(follo)m(w)g(the)g -(syn)m(tax)g(b)s(elo)m(w:)436 1415 y Fk(definitions_name)44 -b({<object)h(definition>})436 1634 y(DEFINITIONS)g(<EXPLICIT)g(or)j -(IMPLICIT>)d(TAGS)h(::=)436 1854 y(BEGIN)436 2073 y(<type)h(and)g -(constants)e(definitions>)436 2292 y(END)275 2427 y Fr(The)39 -b Fk(::=)g Fr(tok)m(en)i(m)m(ust)f(b)s(e)f(separate)i(from)f(other)g +Fl(pkix.asn)d Fs(\014le)i(distributed)g(with)g(the)g(library)-8 +b(.)275 1286 y(ASN.1)30 b(de\014nitions)g(m)m(ust)h(follo)m(w)g(the)g +(syn)m(tax)g(b)s(elo)m(w:)436 1421 y Fl(definitions_name)44 +b({<object)h(definition>})436 1640 y(DEFINITIONS)g(<EXPLICIT)g(or)j +(IMPLICIT>)d(TAGS)h(::=)436 1859 y(BEGIN)436 2078 y(<type)h(and)g +(constants)e(definitions>)436 2298 y(END)275 2432 y Fs(The)39 +b Fl(::=)g Fs(tok)m(en)i(m)m(ust)f(b)s(e)f(separate)i(from)f(other)g (elemen)m(ts,)k(so)c(the)g(follo)m(wing)h(declaration)h(is)150 -2536 y(in)m(v)-5 b(alid:)533 2671 y Fk(--)47 b(INCORRECT)533 -2781 y(Version)f(::=INTEGER)275 2916 y Fr(The)29 b(correct)j(form)e -(is:)533 3050 y Fk(Version)46 b(::=)h(INTEGER)275 3185 -y Fr(Here)30 b(is)h(the)f(list)h(of)g(t)m(yp)s(es)f(that)h(the)g -(parser)f(can)g(manage:)225 3320 y Fo(\017)60 b Fk(INTEGER)p -Fr(;)225 3455 y Fo(\017)g Fk(ENUMERATED)p Fr(;)225 3589 -y Fo(\017)g Fk(BOOLEAN)p Fr(;)225 3724 y Fo(\017)g Fk(OBJECT)29 -b(IDENTIFIER)p Fr(;)225 3859 y Fo(\017)60 b Fk(NULL)p -Fr(;)225 3993 y Fo(\017)g Fk(BIT)29 b(STRING)p Fr(;)225 -4128 y Fo(\017)60 b Fk(OCTET)29 b(STRING)p Fr(;)225 4263 -y Fo(\017)60 b Fk(UTCTime)p Fr(;)225 4397 y Fo(\017)g -Fk(GeneralizedTime)p Fr(;)225 4532 y Fo(\017)g Fk(GeneralString)p -Fr(;)225 4667 y Fo(\017)g Fk(NumericString)p Fr(;)225 -4801 y Fo(\017)g Fk(IA5String)p Fr(;)225 4936 y Fo(\017)g -Fk(TeletexString)p Fr(;)225 5071 y Fo(\017)g Fk(PrintableString)p -Fr(;)225 5205 y Fo(\017)g Fk(UniversalString)p Fr(;)225 -5340 y Fo(\017)g Fk(BMPString)p Fr(;)p eop end +2542 y(in)m(v)-5 b(alid:)533 2676 y Fl(--)47 b(INCORRECT)533 +2786 y(Version)f(::=INTEGER)275 2920 y Fs(The)29 b(correct)j(form)e +(is:)533 3054 y Fl(Version)46 b(::=)h(INTEGER)275 3189 +y Fs(Here)30 b(is)h(the)f(list)h(of)g(t)m(yp)s(es)f(that)h(the)g +(parser)f(can)g(manage:)225 3323 y Fp(\017)60 b Fl(INTEGER)p +Fs(;)225 3458 y Fp(\017)g Fl(ENUMERATED)p Fs(;)225 3592 +y Fp(\017)g Fl(BOOLEAN)p Fs(;)225 3727 y Fp(\017)g Fl(OBJECT)29 +b(IDENTIFIER)p Fs(;)225 3861 y Fp(\017)60 b Fl(NULL)p +Fs(;)225 3996 y Fp(\017)g Fl(BIT)29 b(STRING)p Fs(;)225 +4130 y Fp(\017)60 b Fl(OCTET)29 b(STRING)p Fs(;)225 4264 +y Fp(\017)60 b Fl(UTCTime)p Fs(;)225 4399 y Fp(\017)g +Fl(GeneralizedTime)p Fs(;)225 4533 y Fp(\017)g Fl(GeneralString)p +Fs(;)225 4668 y Fp(\017)g Fl(NumericString)p Fs(;)225 +4802 y Fp(\017)g Fl(IA5String)p Fs(;)225 4937 y Fp(\017)g +Fl(TeletexString)p Fs(;)225 5071 y Fp(\017)g Fl(PrintableString)p +Fs(;)225 5206 y Fp(\017)g Fl(UniversalString)p Fs(;)225 +5340 y Fp(\017)g Fl(BMPString)p Fs(;)p eop end %%Page: 3 6 -TeXDict begin 3 5 bop 150 -116 a Fr(Chapter)30 b(2:)41 +TeXDict begin 3 5 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(ASN.1)31 b(structure)f(handling)2068 b(3)225 299 y -Fo(\017)60 b Fk(UTF8String)p Fr(;)225 437 y Fo(\017)g -Fk(VisibleString)p Fr(;)225 576 y Fo(\017)g Fk(SEQUENCE)p -Fr(;)225 714 y Fo(\017)g Fk(SEQUENCE)28 b(OF)p Fr(;)225 -853 y Fo(\017)60 b Fk(SET)p Fr(;)225 992 y Fo(\017)g -Fk(SET)29 b(OF)p Fr(;)225 1130 y Fo(\017)60 b Fk(CHOICE)p -Fr(;)225 1269 y Fo(\017)g Fk(ANY)p Fr(;)225 1407 y Fo(\017)g -Fk(ANY)29 b(DEFINED)g(BY)p Fr(.)275 1579 y(This)42 b(v)m(ersion)j(do)s -(esn't)e(handle)g(the)h Fk(REAL)f Fr(t)m(yp)s(e.)81 b(It)44 -b(do)s(esn't)f(supp)s(ort)f(the)i Fk(AUTOMATIC)28 b(TAGS)150 -1688 y Fr(option,)j(and)f(the)g Fk(EXPORT)f Fr(and)h -Fk(IMPORT)f Fr(sections,)i(either.)275 1831 y(The)e Fk(SIZE)h -Fr(constrain)m(ts)h(are)g(allo)m(w)m(ed,)h(but)e(no)g(c)m(hec)m(k)i(is) -f(done)f(on)g(them.)150 2075 y Fq(2.2)68 b(Naming)150 -2235 y Fr(Consider)30 b(this)g(de\014nition:)436 2377 -y Fk(Example)46 b({)i(1)f(2)h(3)f(4)g(})436 2597 y(DEFINITIONS)e -(EXPLICIT)h(TAGS)g(::=)436 2816 y(BEGIN)436 3035 y(Group)h(::=)g -(SEQUENCE)e({)580 3145 y(id)142 b(OBJECT)46 b(IDENTIFIER,)580 -3254 y(value)94 b(Value)436 3364 y(})436 3583 y(Value)47 -b(::=)g(SEQUENCE)e({)580 3692 y(value1)93 b(INTEGER,)580 -3802 y(value2)g(BOOLEAN)436 3912 y(})436 4131 y(END)275 -4273 y Fr(The)68 b(notation)j(to)f(access)g(the)g(`)p -Fk(Group)p Fr(')e(t)m(yp)s(e)i(of)f(the)h(`)p Fk(Example)p -Fr(')d(de\014nition)i(ab)s(o)m(v)m(e)i(is)150 4383 y(`)p -Fk(Example.Group)p Fr(')40 b(\(as)j(a)g(NUL-terminated)h(string.\))78 +Fp(\017)60 b Fl(UTF8String)p Fs(;)225 437 y Fp(\017)g +Fl(VisibleString)p Fs(;)225 575 y Fp(\017)g Fl(SEQUENCE)p +Fs(;)225 714 y Fp(\017)g Fl(SEQUENCE)28 b(OF)p Fs(;)225 +852 y Fp(\017)60 b Fl(SET)p Fs(;)225 990 y Fp(\017)g +Fl(SET)29 b(OF)p Fs(;)225 1128 y Fp(\017)60 b Fl(CHOICE)p +Fs(;)225 1267 y Fp(\017)g Fl(ANY)p Fs(;)225 1405 y Fp(\017)g +Fl(ANY)29 b(DEFINED)g(BY)p Fs(.)275 1576 y(This)42 b(v)m(ersion)j(do)s +(esn't)e(handle)g(the)h Fl(REAL)f Fs(t)m(yp)s(e.)81 b(It)44 +b(do)s(esn't)f(supp)s(ort)f(the)i Fl(AUTOMATIC)28 b(TAGS)150 +1685 y Fs(option,)j(and)f(the)g Fl(EXPORT)f Fs(and)h +Fl(IMPORT)f Fs(sections,)i(either.)275 1827 y(The)e Fl(SIZE)h +Fs(constrain)m(ts)h(are)g(allo)m(w)m(ed,)h(but)e(no)g(c)m(hec)m(k)i(is) +f(done)f(on)g(them.)150 2079 y Fr(2.2)68 b(Naming)150 +2239 y Fs(Consider)30 b(this)g(de\014nition:)436 2381 +y Fl(Example)46 b({)i(1)f(2)h(3)f(4)g(})436 2600 y(DEFINITIONS)e +(EXPLICIT)h(TAGS)g(::=)436 2819 y(BEGIN)436 3038 y(Group)h(::=)g +(SEQUENCE)e({)580 3148 y(id)142 b(OBJECT)46 b(IDENTIFIER,)580 +3257 y(value)94 b(Value)436 3367 y(})436 3586 y(Value)47 +b(::=)g(SEQUENCE)e({)580 3696 y(value1)93 b(INTEGER,)580 +3805 y(value2)g(BOOLEAN)436 3915 y(})436 4134 y(END)275 +4276 y Fs(The)68 b(notation)j(to)f(access)g(the)g(`)p +Fl(Group)p Fs(')e(t)m(yp)s(e)i(of)f(the)h(`)p Fl(Example)p +Fs(')d(de\014nition)i(ab)s(o)m(v)m(e)i(is)150 4386 y(`)p +Fl(Example.Group)p Fs(')40 b(\(as)j(a)g(NUL-terminated)h(string.\))78 b(Suc)m(h)42 b(strings)h(are)g(used)f(in)g(the)h(functions)150 -4493 y(describ)s(ed)29 b(b)s(elo)m(w.)275 4635 y(Others)g(examples:)225 -4778 y Fo(\017)60 b Fr(\014eld)30 b(`)p Fk(id)p Fr(')g(of)h(the)f(`)p -Fk(Group)p Fr(')g(t)m(yp)s(e:)41 b(`)p Fk(Example.Group.id)p -Fr(';)225 4916 y Fo(\017)60 b Fr(\014eld)24 b(`)p Fk(value1)p -Fr(')f(of)i(the)f(`)p Fk(value)p Fr(')g(\014eld)g(of)g(the)h(`)p -Fk(Group)p Fr(')e(t)m(yp)s(e:)38 b(`)p Fk(Example.Group.value.value1)o -Fr('.)275 5088 y(Elemen)m(ts)26 b(of)f(structured)g(t)m(yp)s(es)g +4495 y(describ)s(ed)29 b(b)s(elo)m(w.)275 4637 y(Others)g(examples:)225 +4779 y Fp(\017)60 b Fs(\014eld)30 b(`)p Fl(id)p Fs(')g(of)h(the)f(`)p +Fl(Group)p Fs(')g(t)m(yp)s(e:)41 b(`)p Fl(Example.Group.id)p +Fs(';)225 4918 y Fp(\017)60 b Fs(\014eld)24 b(`)p Fl(value1)p +Fs(')f(of)i(the)f(`)p Fl(value)p Fs(')g(\014eld)g(of)g(the)h(`)p +Fl(Group)p Fs(')e(t)m(yp)s(e:)38 b(`)p Fl(Example.Group.value.value1)o +Fs('.)275 5088 y(Elemen)m(ts)26 b(of)f(structured)g(t)m(yp)s(es)g (unnamed)f(b)m(y)i(the)f(resp)s(ectiv)m(e)i(de\014nition)e(receiv)m(e)i -(the)f(names)f Fk(?1)p Fr(,)150 5197 y Fk(?2)p Fr(,)30 -b(and)g(so)g(on.)275 5340 y(The)f Fk(?LAST)g Fr(name)i(indicates)g(the) -g(last)g(elemen)m(t)h(of)e(a)h Fk(SET)e(OF)h Fr(or)h -Fk(SEQUENCE)d(OF)p Fr(.)p eop end +(the)f(names)f Fl(?1)p Fs(,)150 5198 y Fl(?2)p Fs(,)30 +b(and)g(so)g(on.)275 5340 y(The)f Fl(?LAST)g Fs(name)i(indicates)g(the) +g(last)g(elemen)m(t)h(of)e(a)h Fl(SET)e(OF)h Fs(or)h +Fl(SEQUENCE)d(OF)p Fs(.)p eop end %%Page: 4 7 -TeXDict begin 4 6 bop 150 -116 a Fr(Chapter)30 b(2:)41 +TeXDict begin 4 6 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(ASN.1)31 b(structure)f(handling)2068 b(4)150 299 y -Fq(2.3)68 b(Simple)46 b(parsing)150 458 y Fr(F)-8 b(or)32 -b(simple)f(t)m(yp)s(es)h(lik)m(e)g Fk(OCTET)d(STRING)h -Fr(the)h(simple)g(parsing)g(functions)g(listed)h(b)s(elo)m(w)f(ma)m(y)h -(b)s(e)f(used)150 568 y(instead.)225 702 y Fo(\017)60 -b Fr([asn1)p 538 702 28 4 v 41 w(deco)s(de)p 849 702 -V 40 w(simple)p 1142 702 V 40 w(der],)30 b(page)h(20)225 -837 y Fo(\017)60 b Fr([asn1)p 538 837 V 41 w(enco)s(de)p -849 837 V 40 w(simple)p 1142 837 V 40 w(der],)30 b(page)h(15)150 -1069 y Fq(2.4)68 b(Library)45 b(Notes)150 1229 y Fr(The)30 -b(header)g(\014le)h(of)f(this)g(library)g(is)h Fk(libtasn1.h)p -Fr(.)275 1363 y(The)d(main)g(t)m(yp)s(e)h(used)f(in)h(it)g(is)g -Fk(asn1_node)p Fr(,)e(and)h(it's)h(used)f(to)i(store)f(the)g(ASN.1)g -(de\014nitions)g(and)150 1473 y(structures)h(\(instances\).)275 -1607 y(The)f Fk(NULL)h Fr(constan)m(t)h(can)g(b)s(e)f(used)f(for)h(the) +Fr(2.3)68 b(Simple)46 b(parsing)150 458 y Fs(F)-8 b(or)32 +b(simple)f(t)m(yp)s(es)h(lik)m(e)g Fl(OCTET)d(STRING)h +Fs(the)h(simple)g(parsing)g(functions)g(listed)h(b)s(elo)m(w)f(ma)m(y)h +(b)s(e)f(used)150 568 y(instead.)225 702 y Fp(\017)60 +b Fs([asn1)p 538 702 28 4 v 41 w(deco)s(de)p 849 702 +V 40 w(simple)p 1142 702 V 40 w(der],)30 b(page)h(21,)225 +837 y Fp(\017)60 b Fs([asn1)p 538 837 V 41 w(enco)s(de)p +849 837 V 40 w(simple)p 1142 837 V 40 w(der],)30 b(page)h(16,)150 +1078 y Fr(2.4)68 b(Library)45 b(Notes)150 1237 y Fs(The)30 +b(header)g(\014le)h(of)f(this)g(library)g(is)h Fl(libtasn1.h)p +Fs(.)275 1372 y(The)d(main)g(t)m(yp)s(e)h(used)f(in)h(it)g(is)g +Fl(asn1_node)p Fs(,)e(and)h(it's)h(used)f(to)i(store)f(the)g(ASN.1)g +(de\014nitions)g(and)150 1481 y(structures)h(\(instances\).)275 +1616 y(The)f Fl(NULL)h Fs(constan)m(t)h(can)g(b)s(e)f(used)f(for)h(the) h(v)-5 b(ariable)31 b(initialization.)44 b(F)-8 b(or)31 -b(example:)438 1742 y Fk(asn1_node)45 b(definitions)g(=)i(NULL;)275 -1876 y Fr(Some)35 b(functions)h(require)f(an)h Fk(errorDescription)31 -b Fr(argumen)m(t)36 b(of)g(t)m(yp)s(e)g Fk(char)29 b(*)p -Fr(,)37 b(p)s(oin)m(ting)f(to)h(a)150 1986 y(pre-allo)s(cated)f -(bu\013er)c(of)i(at)h(least)g Fk(ASN1_MAX_ERROR_DESCRIPT)o(ION_)o(SIZ)o -(E)28 b Fr(b)m(ytes)34 b(size)h(\(e.g.,)h(as)e(in)150 -2095 y(`)p Fk(char)29 b(description[ASN1_MAX_ERROR)o(_DES)o(CRI)o(PTIO) -o(N_SI)o(ZE])o(;)p Fr('\).)275 2230 y Fk(ASN1_MAX_NAME_SIZE)22 -b Fr(is)28 b(the)h(maxim)m(um)e(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h -(allo)m(w)m(ed)h(for)e(an)g(ASN.1)g(iden-)150 2340 y(ti\014er.)150 -2572 y Fq(2.5)68 b(F)-11 b(uture)44 b(dev)l(elopmen)l(ts)225 -2731 y Fo(\017)60 b Fr(Add)27 b(functions)g(for)h(a)g(C)g(co)s(de)g +b(example:)438 1750 y Fl(asn1_node)45 b(definitions)g(=)i(NULL;)275 +1885 y Fs(Some)35 b(functions)h(require)f(an)h Fl(errorDescription)31 +b Fs(argumen)m(t)36 b(of)g(t)m(yp)s(e)g Fl(char)29 b(*)p +Fs(,)37 b(p)s(oin)m(ting)f(to)h(a)150 1994 y(pre-allo)s(cated)f +(bu\013er)c(of)i(at)h(least)g Fl(ASN1_MAX_ERROR_DESCRIPT)o(ION_)o(SIZ)o +(E)28 b Fs(b)m(ytes)34 b(size)h(\(e.g.,)h(as)e(in)150 +2104 y(`)p Fl(char)29 b(description[ASN1_MAX_ERROR)o(_DES)o(CRI)o(PTIO) +o(N_SI)o(ZE])o(;)p Fs('\).)275 2238 y Fl(ASN1_MAX_NAME_SIZE)22 +b Fs(is)28 b(the)h(maxim)m(um)e(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h +(allo)m(w)m(ed)h(for)e(an)g(ASN.1)g(iden-)150 2348 y(ti\014er.)150 +2589 y Fr(2.5)68 b(F)-11 b(uture)44 b(dev)l(elopmen)l(ts)225 +2748 y Fp(\017)60 b Fs(Add)27 b(functions)g(for)h(a)g(C)g(co)s(de)g (\014le)g(generation)h(con)m(taining)h(equiv)-5 b(alen)m(t)29 -b(data)g(structures)e(\(not)i(a)330 2841 y(single)i(arra)m(y)g(lik)m(e) -h(no)m(w\).)225 2976 y Fo(\017)60 b Fr(The)30 b Fk(REAL)f -Fr(t)m(yp)s(e.)p eop end +b(data)g(structures)e(\(not)i(a)330 2858 y(single)i(arra)m(y)g(lik)m(e) +h(no)m(w\).)225 2992 y Fp(\017)60 b Fs(The)30 b Fl(REAL)f +Fs(t)m(yp)s(e.)p eop end %%Page: 5 8 -TeXDict begin 5 7 bop 150 -116 a Fr(Chapter)30 b(3:)41 -b(Utilities)2776 b(5)150 299 y Fn(3)80 b(Utilities)150 -635 y Fq(3.1)68 b(In)l(v)l(oking)46 b(asn1P)l(arser)150 -794 y Fk(asn1Parser)27 b Fr(reads)j(a)g(single)h(\014le)f(with)f(ASN.1) +TeXDict begin 5 7 bop 3705 -116 a Fs(5)150 299 y Fo(3)80 +b(Utilities)150 638 y Fr(3.1)68 b(In)l(v)l(oking)46 b(asn1P)l(arser)150 +797 y Fl(asn1Parser)27 b Fs(reads)j(a)g(single)h(\014le)f(with)f(ASN.1) i(de\014nitions)e(and)h(generates)h(a)f(\014le)g(with)g(an)g(arra)m(y)g -(to)150 904 y(use)g(with)g(libtasn1)h(functions.)150 -1039 y Fk(Usage:)94 b(asn1Parser)45 b([options])g(file)150 -1258 y(Options:)198 1368 y(-h)i(:)g(shows)g(the)g(help)f(message.)198 -1477 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198 -1587 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 1697 -y(-o)h(file)g(:)g(output)f(file.)198 1806 y(-n)h(name)g(:)g(array)f -(name.)150 2040 y Fq(3.2)68 b(In)l(v)l(oking)46 b(asn1Co)t(ding)150 -2200 y Fk(asn1Coding)27 b Fr(generates)k(a)e(DER)h(enco)s(ding)f(from)g +(to)150 907 y(use)g(with)g(libtasn1)h(functions.)150 +1041 y Fl(Usage:)94 b(asn1Parser)45 b([options])g(file)150 +1260 y(Options:)198 1370 y(-h)i(:)g(shows)g(the)g(help)f(message.)198 +1480 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198 +1589 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 1699 +y(-o)h(file)g(:)g(output)f(file.)198 1808 y(-n)h(name)g(:)g(array)f +(name.)150 2049 y Fr(3.2)68 b(In)l(v)l(oking)46 b(asn1Co)t(ding)150 +2208 y Fl(asn1Coding)27 b Fs(generates)k(a)e(DER)h(enco)s(ding)f(from)g (a)h(\014le)g(with)f(ASN.1)h(de\014nitions)f(and)g(another)h(one)150 -2309 y(with)g(assignmen)m(ts.)275 2445 y(The)f(\014le)i(with)f +2318 y(with)g(assignmen)m(ts.)275 2452 y(The)f(\014le)i(with)f (assignmen)m(ts)h(m)m(ust)f(ha)m(v)m(e)i(this)e(syn)m(tax:)150 -2580 y Fk(InstanceName)92 b(Asn1Definition)150 2799 y(nameString)h -(value)150 3019 y(nameString)g(value)150 3128 y(...)275 -3264 y Fr(T)-8 b(o)35 b(sp)s(ecify)f(the)h(\014eld)f(of)h(a)g -Fk(CHOICE)d Fr(to)k(b)s(e)e(used,)h(sp)s(ecify)f(its)h(name)g(as)f(a)h -(v)-5 b(alue)36 b(to)f(the)g Fk(CHOICE)150 3373 y Fr(elemen)m(t)d -(itself.)41 b(Use)31 b Fk('')f Fr(to)h(denote)g(the)g(ro)s(ot)f(elemen) +2586 y Fl(InstanceName)92 b(Asn1Definition)150 2806 y(nameString)h +(value)150 3025 y(nameString)g(value)150 3134 y(...)275 +3269 y Fs(T)-8 b(o)35 b(sp)s(ecify)f(the)h(\014eld)f(of)h(a)g +Fl(CHOICE)d Fs(to)k(b)s(e)e(used,)h(sp)s(ecify)f(its)h(name)g(as)f(a)h +(v)-5 b(alue)36 b(to)f(the)g Fl(CHOICE)150 3378 y Fs(elemen)m(t)d +(itself.)41 b(Use)31 b Fl('')f Fs(to)h(denote)g(the)g(ro)s(ot)f(elemen) m(t)i(itself.)42 b(\(as)31 b(in)f(the)g(example)h(b)s(elo)m(w.\))275 -3509 y(The)e(output)h(\014le)h(is)f(a)h(binary)f(\014le)g(with)g(the)h -(DER)f(enco)s(ding.)150 3644 y Fk(Usage:)94 b(asn1Coding)45 -b([options])g(file1)h(file2)198 3754 y(file1)g(:)i(file)e(with)h(ASN1)f -(definitions.)198 3863 y(file2)g(:)i(file)e(with)h(assignments.)150 -3973 y(Options:)198 4083 y(-h)g(:)g(shows)g(the)g(help)f(message.)198 -4192 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198 -4302 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 4411 -y(-o)h(file)g(:)g(output)f(file.)275 4547 y Fr(F)-8 b(or)31 +3512 y(The)e(output)h(\014le)h(is)f(a)h(binary)f(\014le)g(with)g(the)h +(DER)f(enco)s(ding.)150 3647 y Fl(Usage:)94 b(asn1Coding)45 +b([options])g(file1)h(file2)198 3756 y(file1)g(:)i(file)e(with)h(ASN1)f +(definitions.)198 3866 y(file2)g(:)i(file)e(with)h(assignments.)150 +3976 y(Options:)198 4085 y(-h)g(:)g(shows)g(the)g(help)f(message.)198 +4195 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198 +4304 y(-c)g(:)g(checks)f(the)h(syntax)f(only.)198 4414 +y(-o)h(file)g(:)g(output)f(file.)275 4548 y Fs(F)-8 b(or)31 b(example,)g(consider)f(an)h(ASN.1)f(de\014nitions)g(\014le)h(as)f -(follo)m(ws:)150 4682 y Fk(MYPKIX1)46 b({)h(})150 4902 +(follo)m(ws:)150 4682 y Fl(MYPKIX1)46 b({)h(})150 4902 y(DEFINITIONS)e(IMPLICIT)g(TAGS)i(::=)150 5121 y(BEGIN)150 5340 y(OtherStruct)e(:=)i(SEQUENCE)e({)p eop end %%Page: 6 9 -TeXDict begin 6 8 bop 150 -116 a Fr(Chapter)30 b(3:)41 -b(Utilities)2776 b(6)389 299 y Fk(x)333 b(INTEGER,)389 +TeXDict begin 6 8 bop 150 -116 a Fs(Chapter)30 b(3:)41 +b(Utilities)2776 b(6)389 299 y Fl(x)333 b(INTEGER,)389 408 y(y)g(CHOICE)47 b({)580 518 y(y1)g(INTEGER,)580 628 y(y2)g(OCTET)f(STRING)g(},)150 737 y(})150 956 y(Dss-Sig-Value)e(::=)j (SEQUENCE)f({)389 1066 y(r)333 b(INTEGER,)389 1176 y(s)g(INTEGER,)389 1285 y(other)141 b(OtherStruct)389 1395 y(z)333 b(INTEGER)46 -b(OPTIONAL,)150 1504 y(})150 1724 y(END)275 1869 y Fr(And)29 +b(OPTIONAL,)150 1504 y(})150 1724 y(END)275 1868 y Fs(And)29 b(a)i(assignmen)m(ts)g(\014le)f(as)h(follo)m(ws:)150 -2014 y Fk(dp)47 b(MYPKIX1.Dss-Sig-Value)150 2233 y(r)g(42)150 -2343 y(s)g(47)150 2452 y(other.x)f(66)150 2562 y(other.y)g(y1)150 -2672 y(other.y.y1)f(15)150 2781 y(z)i(\(NULL\))275 2926 -y Fr(Running)32 b(the)h(command)h(b)s(elo)m(w)f(will)h(generate)h(a)f -Fk(assign.out)d Fr(\014le,)j(con)m(taining)h(the)f(DER)g(en-)150 -3036 y(co)s(ding)c(of)h Fk(PKIX1.Dss-Sig-Value)p Fr(.)150 -3181 y Fk($)47 b(asn1Coding)e(pkix.asn)h(assign.asn1)275 -3326 y Fr(If)38 b(the)h(ro)s(ot)h(elemen)m(t)g(is)f(of)h(the)f -Fk(CHOICE)e Fr(t)m(yp)s(e,)42 b(the)d(assignmen)m(t)h(\014le)f(ma)m(y)h -(b)s(e)e(lik)m(e)j(\(using)e(the)150 3436 y(t)m(yp)s(es)30 -b(de\014ned)g(in)g Fk(pkix.asn)p Fr(\):)150 3581 y Fk(elt)47 -b(PKIX1Implicit88.GeneralN)o(ame)150 3800 y('')286 b(dNSName)150 -3910 y(dNSName)46 b(example.org)150 4159 y Fq(3.3)68 -b(In)l(v)l(oking)46 b(asn1Deco)t(ding)150 4318 y Fk(asn1Decoding)20 -b Fr(generates)25 b(an)f(ASN.1)g(structure)g(from)f(a)h(\014le)g(with)f -(ASN.1)h(de\014nitions)f(and)h(a)g(binary)150 4428 y(\014le)30 -b(with)h(a)f(DER)h(enco)s(ding.)150 4573 y Fk(Usage:)94 +2012 y Fl(dp)47 b(MYPKIX1.Dss-Sig-Value)150 2231 y(r)g(42)150 +2341 y(s)g(47)150 2450 y(other.x)f(66)150 2560 y(other.y)g(y1)150 +2670 y(other.y.y1)f(15)150 2779 y(z)i(\(NULL\))275 2923 +y Fs(Running)32 b(the)h(command)h(b)s(elo)m(w)f(will)h(generate)h(a)f +Fl(assign.out)d Fs(\014le,)j(con)m(taining)h(the)f(DER)g(en-)150 +3033 y(co)s(ding)c(of)h Fl(PKIX1.Dss-Sig-Value)p Fs(.)150 +3177 y Fl($)47 b(asn1Coding)e(pkix.asn)h(assign.asn1)275 +3322 y Fs(If)38 b(the)h(ro)s(ot)h(elemen)m(t)g(is)f(of)h(the)f +Fl(CHOICE)e Fs(t)m(yp)s(e,)42 b(the)d(assignmen)m(t)h(\014le)f(ma)m(y)h +(b)s(e)e(lik)m(e)j(\(using)e(the)150 3431 y(t)m(yp)s(es)30 +b(de\014ned)g(in)g Fl(pkix.asn)p Fs(\):)150 3575 y Fl(elt)47 +b(PKIX1Implicit88.GeneralN)o(ame)150 3795 y('')286 b(dNSName)150 +3904 y(dNSName)46 b(example.org)150 4160 y Fr(3.3)68 +b(In)l(v)l(oking)46 b(asn1Deco)t(ding)150 4319 y Fl(asn1Decoding)20 +b Fs(generates)25 b(an)f(ASN.1)g(structure)g(from)f(a)h(\014le)g(with)f +(ASN.1)h(de\014nitions)f(and)h(a)g(binary)150 4429 y(\014le)30 +b(with)h(a)f(DER)h(enco)s(ding.)150 4573 y Fl(Usage:)94 b(asn1Decoding)44 b([options])i(file1)g(file2)g(type)198 4682 y(file1)g(:)i(file)e(with)h(ASN1)f(definitions.)198 4792 y(file2)g(:)i(binary)e(file)g(with)h(a)g(DER)g(encoding.)198 @@ -6441,271 +6442,270 @@ y(Options:)198 5121 y(-h)i(:)g(shows)g(the)g(help)f(message.)198 5230 y(-v)h(:)g(shows)g(version)f(information)e(and)j(exit.)198 5340 y(-o)g(file)g(:)g(output)f(file.)p eop end %%Page: 7 10 -TeXDict begin 7 9 bop 150 -116 a Fr(Chapter)30 b(3:)41 -b(Utilities)2776 b(7)275 299 y(F)-8 b(or)47 b(example,)52 -b(after)47 b(generating)h(the)f Fk(assign.out)d Fr(\014le)j(from)f(the) -h(example)g(section)h(of)f(the)150 408 y Fk(asn1Coding)28 -b Fr(command)i(ab)s(o)m(v)m(e,)i(the)e(follo)m(wing)i(in)m(v)m(o)s -(cation)g(will)f(deco)s(de)g(the)f(DER)h(data.)150 543 -y Fk($)47 b(asn1Decoding)e(pkix.asn)g(assign.out)g(PKIX1.Dss-Sig-Value) -p eop end +TeXDict begin 7 9 bop 3705 -116 a Fs(7)275 299 y(F)-8 +b(or)47 b(example,)52 b(after)47 b(generating)h(the)f +Fl(assign.out)d Fs(\014le)j(from)f(the)h(example)g(section)h(of)f(the) +150 408 y Fl(asn1Coding)28 b Fs(command)i(ab)s(o)m(v)m(e,)i(the)e +(follo)m(wing)i(in)m(v)m(o)s(cation)g(will)f(deco)s(de)g(the)f(DER)h +(data.)150 543 y Fl($)47 b(asn1Decoding)e(pkix.asn)g(assign.out)g +(PKIX1.Dss-Sig-Value)p eop end %%Page: 8 11 -TeXDict begin 8 10 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2359 b(8)150 299 y Fn(4)80 -b(F)-13 b(unction)52 b(reference)150 682 y Fq(4.1)68 -b(ASN.1)45 b(sc)l(hema)g(functions)150 906 y Fj(asn1)p -396 906 37 5 v 55 w(parser2tree)3350 1117 y Fr([F)-8 -b(unction])-3599 b Fi(int)53 b(asn1_parser2tree)e Fh(\()p -Fg(const)31 b(c)m(har)g(*)f Ff(file)p Fg(,)i(asn1)p 2238 -1117 28 4 v 40 w(no)s(de)e(*)h Ff(definitions)p Fg(,)565 -1227 y(c)m(har)g(*)g Ff(error_desc)p Fh(\))390 1336 y -Fg(\014le)5 b Fr(:)41 b(sp)s(ecify)30 b(the)g(path)h(and)e(the)i(name)f +TeXDict begin 8 10 bop 3705 -116 a Fs(8)150 299 y Fo(4)80 +b(F)-13 b(unction)52 b(reference)150 686 y Fr(4.1)68 +b(ASN.1)45 b(sc)l(hema)g(functions)150 911 y Fk(asn1)p +396 911 37 5 v 55 w(parser2tree)3350 1121 y Fs([F)-8 +b(unction])-3599 b Fj(int)53 b(asn1_parser2tree)e Fi(\()p +Fh(const)34 b(c)m(har)f(*)g Fg(file)p Fh(,)i(asn1)p 2311 +1121 30 5 v 44 w(no)s(de)e(*)565 1230 y Fg(definitions)p +Fh(,)j(c)m(har)e(*)f Fg(error_desc)p Fi(\))390 1340 y +Ff(\014le)5 b Fs(:)41 b(sp)s(ecify)30 b(the)g(path)h(and)e(the)i(name)f (of)h(\014le)f(that)h(con)m(tains)h(ASN.1)f(declarations.)390 -1485 y Fg(de\014nitions)t Fr(:)36 b(return)21 b(the)h(p)s(oin)m(ter)g -(to)g(the)g(structure)g(created)h(from)e Fk(")p Fr(\014le)p -Fk(")h Fr(ASN.1)g(declarations.)390 1634 y Fg(error)p -589 1634 V 40 w(desc)6 b Fr(:)40 b(return)29 b(the)i(error)f +1488 y Ff(de\014nitions)t Fs(:)36 b(return)21 b(the)h(p)s(oin)m(ter)g +(to)g(the)g(structure)g(created)h(from)e Fl(")p Fs(\014le)p +Fl(")h Fs(ASN.1)g(declarations.)390 1636 y Ff(error)p +589 1636 28 4 v 40 w(desc)6 b Fs(:)40 b(return)29 b(the)i(error)f (description)g(or)h(an)f(empt)m(y)h(string)f(if)g(success.)390 1784 y(F)-8 b(unction)28 b(used)f(to)i(start)f(the)g(parse)g (algorithm.)41 b(Creates)28 b(the)g(structures)f(needed)g(to)i(manage) -390 1893 y(the)i(de\014nitions)e(included)h(in)g Fk(file)f -Fr(\014le.)390 2042 y Fe(Returns:)39 b Fk(ASN1_SUCCESS)26 -b Fr(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m(tax)h(and)e(ev)m -(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 2152 y Fk -(ASN1_ELEMENT_NOT_EMPTY)35 b Fr(if)41 b Fk(definitions)c -Fr(not)k Fk(NULL)f Fr(,)k Fk(ASN1_FILE_NOT_FOUND)35 b -Fr(if)41 b(an)390 2261 y(error)32 b(o)s(ccured)g(while)g(op)s(ening)g -Fk(file)f Fr(,)h Fk(ASN1_SYNTAX_ERROR)c Fr(if)k(the)g(syn)m(tax)h(is)f -(not)h(correct,)390 2371 y Fk(ASN1_IDENTIFIER_NOT_FOUN)o(D)c -Fr(if)35 b(in)f(the)h(\014le)g(there)h(is)f(an)f(iden)m(ti\014er)h -(that)h(is)f(not)g(de\014ned,)390 2480 y Fk(ASN1_NAME_TOO_LONG)27 -b Fr(if)32 b(in)g(the)g(\014le)g(there)g(is)g(an)g(iden)m(ti\014er)g -(whith)g(more)g(than)f Fk(ASN1_MAX_)390 2590 y(NAME_SIZE)d -Fr(c)m(haracters.)150 2804 y Fj(asn1)p 396 2804 37 5 -v 55 w(parser2arra)m(y)3350 3015 y Fr([F)-8 b(unction])-3599 -b Fi(int)53 b(asn1_parser2array)e Fh(\()p Fg(const)31 -b(c)m(har)g(*)g Ff(inputFileName)p Fg(,)j(const)d(c)m(har)g(*)565 -3125 y Ff(outputFileName)p Fg(,)k(const)c(c)m(har)g(*)f -Ff(vectorName)p Fg(,)k(c)m(har)d(*)f Ff(error_desc)p -Fh(\))390 3234 y Fg(inputFileName)5 b Fr(:)49 b(sp)s(ecify)34 +390 1894 y(the)i(de\014nitions)e(included)h(in)g Fl(file)f +Fs(\014le.)390 2042 y Fe(Returns:)39 b Fl(ASN1_SUCCESS)26 +b Fs(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m(tax)h(and)e(ev)m +(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 2151 y Fl +(ASN1_ELEMENT_NOT_EMPTY)35 b Fs(if)41 b Fl(definitions)c +Fs(not)k Fl(NULL)f Fs(,)k Fl(ASN1_FILE_NOT_FOUND)35 b +Fs(if)41 b(an)390 2261 y(error)29 b(o)s(ccurred)f(while)i(op)s(ening)e +Fl(file)g Fs(,)i Fl(ASN1_SYNTAX_ERROR)24 b Fs(if)30 b(the)f(syn)m(tax)h +(is)f(not)h(correct,)390 2370 y Fl(ASN1_IDENTIFIER_NOT_FOUN)o(D)f +Fs(if)35 b(in)f(the)h(\014le)g(there)h(is)f(an)f(iden)m(ti\014er)h +(that)h(is)f(not)g(de\014ned,)390 2480 y Fl(ASN1_NAME_TOO_LONG)27 +b Fs(if)32 b(in)g(the)g(\014le)g(there)g(is)g(an)g(iden)m(ti\014er)g +(whith)g(more)g(than)f Fl(ASN1_MAX_)390 2590 y(NAME_SIZE)d +Fs(c)m(haracters.)150 2802 y Fk(asn1)p 396 2802 37 5 +v 55 w(parser2arra)m(y)3350 3013 y Fs([F)-8 b(unction])-3599 +b Fj(int)53 b(asn1_parser2array)e Fi(\()p Fh(const)34 +b(c)m(har)g(*)f Fg(inputFileName)p Fh(,)k(const)c(c)m(har)h(*)565 +3122 y Fg(outputFileName)p Fh(,)j(const)d(c)m(har)g(*)f +Fg(vectorName)p Fh(,)j(c)m(har)e(*)f Fg(error_desc)p +Fi(\))390 3232 y Ff(inputFileName)5 b Fs(:)49 b(sp)s(ecify)34 b(the)g(path)g(and)f(the)h(name)g(of)g(\014le)g(that)h(con)m(tains)g -(ASN.1)g(declara-)390 3344 y(tions.)390 3493 y Fg(outputFileName)5 -b Fr(:)41 b(sp)s(ecify)27 b(the)h(path)f(and)g(the)h(name)f(of)h +(ASN.1)g(declara-)390 3341 y(tions.)390 3489 y Ff(outputFileName)5 +b Fs(:)41 b(sp)s(ecify)27 b(the)h(path)f(and)g(the)h(name)f(of)h (\014le)g(that)g(will)g(con)m(tain)h(the)e(C)g(v)m(ector)390 -3603 y(de\014nition.)390 3752 y Fg(v)m(ectorName)5 b -Fr(:)43 b(sp)s(ecify)30 b(the)h(name)f(of)h(the)f(C)g(v)m(ector.)390 -3901 y Fg(error)p 589 3901 28 4 v 40 w(desc)6 b Fr(:)40 +3599 y(de\014nition.)390 3747 y Ff(v)m(ectorName)5 b +Fs(:)43 b(sp)s(ecify)30 b(the)h(name)f(of)h(the)f(C)g(v)m(ector.)390 +3895 y Ff(error)p 589 3895 28 4 v 40 w(desc)6 b Fs(:)40 b(return)29 b(the)i(error)f(description)g(or)h(an)f(empt)m(y)h(string)f -(if)g(success.)390 4050 y(F)-8 b(unction)42 b(that)g(generates)h(a)e(C) +(if)g(success.)390 4043 y(F)-8 b(unction)42 b(that)g(generates)h(a)e(C) g(structure)g(from)g(an)g(ASN1)h(\014le.)73 b(Creates)42 -b(a)g(\014le)f(con)m(tain-)390 4159 y(ing)k(a)h(C)f(v)m(ector)i(to)e +b(a)g(\014le)f(con)m(tain-)390 4152 y(ing)k(a)h(C)f(v)m(ector)i(to)e (use)g(to)h(manage)g(the)g(de\014nitions)f(included)f(in)h -Fk(inputFileName)d Fr(\014le.)390 4269 y(If)i Fk(inputFileName)e -Fr(is)i Fk(")p Fr(/aa/bb/xx.yy)p Fk(")i Fr(and)e Fk(outputFileName)d -Fr(is)k Fk(NULL)f Fr(,)k(the)d(\014le)g(cre-)390 4378 -y(ated)g(is)f Fk(")p Fr(/aa/bb/xx)p 1188 4378 V 41 w(asn1)p -1406 4378 V 40 w(tab.c)p Fk(")p Fr(.)83 b(If)43 b Fk(vectorName)f -Fr(is)i Fk(NULL)f Fr(the)h(v)m(ector)i(name)e(will)h(b)s(e)390 -4488 y Fk(")p Fr(xx)p 540 4488 V 40 w(asn1)p 757 4488 -V 40 w(tab)p Fk(")p Fr(.)390 4637 y Fe(Returns:)39 b -Fk(ASN1_SUCCESS)26 b Fr(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m +Fl(inputFileName)d Fs(\014le.)390 4262 y(If)i Fl(inputFileName)e +Fs(is)i Fl(")p Fs(/aa/bb/xx.yy)p Fl(")i Fs(and)e Fl(outputFileName)d +Fs(is)k Fl(NULL)f Fs(,)k(the)d(\014le)g(cre-)390 4372 +y(ated)g(is)f Fl(")p Fs(/aa/bb/xx)p 1188 4372 V 41 w(asn1)p +1406 4372 V 40 w(tab.c)p Fl(")p Fs(.)83 b(If)43 b Fl(vectorName)f +Fs(is)i Fl(NULL)f Fs(the)h(v)m(ector)i(name)e(will)h(b)s(e)390 +4481 y Fl(")p Fs(xx)p 540 4481 V 40 w(asn1)p 757 4481 +V 40 w(tab)p Fl(")p Fs(.)390 4629 y Fe(Returns:)39 b +Fl(ASN1_SUCCESS)26 b Fs(if)i(the)h(\014le)g(has)f(a)h(correct)g(syn)m (tax)h(and)e(ev)m(ery)h(iden)m(ti\014er)g(is)f(kno)m(wn,)390 -4747 y Fk(ASN1_FILE_NOT_FOUND)39 b Fr(if)45 b(an)f(error)g(o)s(ccured)h -(while)f(op)s(ening)g Fk(inputFileName)d Fr(,)48 b Fk(ASN1_)390 -4856 y(SYNTAX_ERROR)23 b Fr(if)k(the)f(syn)m(tax)i(is)e(not)h(correct,) -i Fk(ASN1_IDENTIFIER_NOT_FOU)o(ND)20 b Fr(if)27 b(in)f(the)h(\014le)390 -4966 y(there)35 b(is)g(an)g(iden)m(ti\014er)g(that)g(is)g(not)g -(de\014ned,)g Fk(ASN1_NAME_TOO_LONG)30 b Fr(if)35 b(in)g(the)g(\014le)g -(there)g(is)390 5075 y(an)30 b(iden)m(ti\014er)h(whith)e(more)i(than)f -Fk(ASN1_MAX_NAME_SIZE)25 b Fr(c)m(haracters.)150 5330 -y Fq(4.2)68 b(ASN.1)45 b(\014eld)g(functions)p eop end +4739 y Fl(ASN1_FILE_NOT_FOUND)35 b Fs(if)41 b(an)g(error)f(o)s(ccurred) +g(while)h(op)s(ening)f Fl(inputFileName)d Fs(,)43 b Fl(ASN1_)390 +4848 y(SYNTAX_ERROR)23 b Fs(if)k(the)f(syn)m(tax)i(is)e(not)h(correct,) +i Fl(ASN1_IDENTIFIER_NOT_FOU)o(ND)20 b Fs(if)27 b(in)f(the)h(\014le)390 +4958 y(there)35 b(is)g(an)g(iden)m(ti\014er)g(that)g(is)g(not)g +(de\014ned,)g Fl(ASN1_NAME_TOO_LONG)30 b Fs(if)35 b(in)g(the)g(\014le)g +(there)g(is)390 5068 y(an)30 b(iden)m(ti\014er)h(whith)e(more)i(than)f +Fl(ASN1_MAX_NAME_SIZE)25 b Fs(c)m(haracters.)150 5329 +y Fr(4.2)68 b(ASN.1)45 b(\014eld)g(functions)p eop end %%Page: 9 12 -TeXDict begin 9 11 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2359 b(9)150 299 y Fj(asn1)p -396 299 37 5 v 55 w(arra)m(y2tree)3350 517 y Fr([F)-8 -b(unction])-3599 b Fi(int)53 b(asn1_array2tree)d Fh(\()p -Fg(const)31 b(asn1)p 1645 517 28 4 v 41 w(static)p 1902 -517 V 41 w(no)s(de)f(*)h Ff(array)p Fg(,)h(asn1)p 2733 -517 V 40 w(no)s(de)e(*)565 626 y Ff(definitions)p Fg(,)k(c)m(har)d(*)g -Ff(errorDescription)p Fh(\))390 736 y Fg(arra)m(y)8 b -Fr(:)41 b(sp)s(ecify)30 b(the)h(arra)m(y)f(that)h(con)m(tains)h(ASN.1)f -(declarations)390 891 y Fg(de\014nitions)t Fr(:)44 b(return)31 +TeXDict begin 9 11 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2359 b(9)150 299 y Fk(asn1)p +396 299 37 5 v 55 w(arra)m(y2tree)3350 517 y Fs([F)-8 +b(unction])-3599 b Fj(int)53 b(asn1_array2tree)d Fi(\()p +Fh(const)34 b(asn1)p 1686 517 30 5 v 44 w(static)p 1969 +517 V 44 w(no)s(de)g(*)f Fg(array)p Fh(,)h(asn1)p 2853 +517 V 44 w(no)s(de)g(*)565 626 y Fg(definitions)p Fh(,)i(c)m(har)e(*)f +Fg(errorDescription)p Fi(\))390 736 y Ff(arra)m(y)8 b +Fs(:)41 b(sp)s(ecify)30 b(the)h(arra)m(y)f(that)h(con)m(tains)h(ASN.1)f +(declarations)390 891 y Ff(de\014nitions)t Fs(:)44 b(return)31 b(the)h(p)s(oin)m(ter)h(to)g(the)f(structure)g(created)h(b)m(y)f(*ARRA) -8 b(Y)34 b(ASN.1)f(declara-)390 1001 y(tions)390 1156 -y Fg(errorDescription)p Fr(:)41 b(return)30 b(the)g(error)g +y Ff(errorDescription)p Fs(:)41 b(return)30 b(the)g(error)g (description.)390 1312 y(Creates)38 b(the)g(structures)f(needed)h(to)g -(manage)h(the)f(ASN.1)g(de\014nitions.)62 b Fk(array)36 -b Fr(is)i(a)g(v)m(ector)390 1421 y(created)31 b(b)m(y)g -Fk(asn1_parser2array\(\))25 b Fr(.)390 1577 y Fe(Returns:)37 -b Fk(ASN1_SUCCESS)20 b Fr(if)k(structure)f(w)m(as)h(created)h -(correctly)-8 b(,)27 b Fk(ASN1_ELEMENT_NOT_EMPTY)390 -1686 y Fr(if)34 b(*)g Fk(definitions)d Fr(not)j(NULL,)g -Fk(ASN1_IDENTIFIER_NOT_FOUND)27 b Fr(if)34 b(in)g(the)g(\014le)g(there) +(manage)h(the)f(ASN.1)g(de\014nitions.)62 b Fl(array)36 +b Fs(is)i(a)g(v)m(ector)390 1421 y(created)31 b(b)m(y)g +Fl(asn1_parser2array\(\))25 b Fs(.)390 1577 y Fe(Returns:)37 +b Fl(ASN1_SUCCESS)20 b Fs(if)k(structure)f(w)m(as)h(created)h +(correctly)-8 b(,)27 b Fl(ASN1_ELEMENT_NOT_EMPTY)390 +1686 y Fs(if)34 b(*)g Fl(definitions)d Fs(not)j(NULL,)g +Fl(ASN1_IDENTIFIER_NOT_FOUND)27 b Fs(if)34 b(in)g(the)g(\014le)g(there) g(is)g(an)390 1796 y(iden)m(ti\014er)k(that)h(is)f(not)h(de\014ned)e -(\(see)i Fk(errorDescription)34 b Fr(for)k(more)g(information\),)j -Fk(ASN1_)390 1906 y(ARRAY_ERROR)27 b Fr(if)k(the)f(arra)m(y)h(p)s(oin)m -(ted)f(b)m(y)h Fk(array)e Fr(is)h(wrong.)150 2126 y Fj(asn1)p +(\(see)i Fl(errorDescription)34 b Fs(for)k(more)g(information\),)j +Fl(ASN1_)390 1906 y(ARRAY_ERROR)27 b Fs(if)k(the)f(arra)m(y)h(p)s(oin)m +(ted)f(b)m(y)h Fl(array)e Fs(is)h(wrong.)150 2126 y Fk(asn1)p 396 2126 37 5 v 55 w(delete)p 769 2126 V 54 w(structure)3350 -2344 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_delete_structure)f -Fh(\()p Fg(asn1)p 1721 2344 28 4 v 41 w(no)s(de)29 b(*)i -Ff(structure)p Fh(\))390 2453 y Fg(structure)5 b Fr(:)40 +2344 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_delete_structure)f +Fi(\()p Fh(asn1)p 1739 2344 30 5 v 45 w(no)s(de)33 b(*)g +Fg(structure)p Fi(\))390 2453 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(that)h(y)m(ou)g(w)m(an)m(t) g(to)g(delete.)390 2609 y(Deletes)h(the)f(structure)f(*)h -Fk(structure)c Fr(.)41 b(A)m(t)31 b(the)g(end,)f(*)h -Fk(structure)d Fr(is)i(set)h(to)g(NULL.)390 2764 y Fe(Returns:)41 -b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful,)g Fk(ASN1_ELEMENT_NOT_FOUND) -25 b Fr(if)30 b(*)h Fk(structure)e Fr(w)m(as)390 2874 -y(NULL.)150 3094 y Fj(asn1)p 396 3094 37 5 v 55 w(delete)p -769 3094 V 54 w(structure2)3350 3312 y Fr([F)-8 b(unction])-3599 -b Fi(int)53 b(asn1_delete_structure)q(2)e Fh(\()p Fg(asn1)p -1773 3312 28 4 v 41 w(no)s(de)30 b(*)g Ff(structure)p -Fg(,)k(unsigned)29 b(in)m(t)565 3421 y Ff(flags)p Fh(\))390 -3531 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f +Fl(structure)c Fs(.)41 b(A)m(t)31 b(the)g(end,)f(*)h +Fl(structure)d Fs(is)i(set)h(to)g(NULL.)390 2764 y Fe(Returns:)41 +b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful,)g Fl(ASN1_ELEMENT_NOT_FOUND) +25 b Fs(if)30 b(*)h Fl(structure)e Fs(w)m(as)390 2874 +y(NULL.)150 3094 y Fk(asn1)p 396 3094 37 5 v 55 w(delete)p +769 3094 V 54 w(structure2)3350 3312 y Fs([F)-8 b(unction])-3599 +b Fj(int)53 b(asn1_delete_structure)q(2)e Fi(\()p Fh(asn1)p +1791 3312 30 5 v 45 w(no)s(de)34 b(*)f Fg(structure)p +Fh(,)i(unsigned)565 3421 y(in)m(t)e Fg(flags)p Fi(\))390 +3531 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f (structure)g(that)h(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)390 -3686 y Fg(\015ags)t Fr(:)41 b(additional)31 b(\015ags)g(\(see)g -Fk(ASN1_DELETE_FLAG)26 b Fr(\))390 3842 y(Deletes)32 -b(the)f(structure)f(*)h Fk(structure)c Fr(.)41 b(A)m(t)31 -b(the)g(end,)f(*)h Fk(structure)d Fr(is)i(set)h(to)g(NULL.)390 -3997 y Fe(Returns:)41 b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful,)g -Fk(ASN1_ELEMENT_NOT_FOUND)25 b Fr(if)30 b(*)h Fk(structure)e -Fr(w)m(as)390 4107 y(NULL.)150 4327 y Fj(asn1)p 396 4327 +3686 y Ff(\015ags)t Fs(:)41 b(additional)31 b(\015ags)g(\(see)g +Fl(ASN1_DELETE_FLAG)26 b Fs(\))390 3842 y(Deletes)32 +b(the)f(structure)f(*)h Fl(structure)c Fs(.)41 b(A)m(t)31 +b(the)g(end,)f(*)h Fl(structure)d Fs(is)i(set)h(to)g(NULL.)390 +3997 y Fe(Returns:)41 b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful,)g +Fl(ASN1_ELEMENT_NOT_FOUND)25 b Fs(if)30 b(*)h Fl(structure)e +Fs(w)m(as)390 4107 y(NULL.)150 4327 y Fk(asn1)p 396 4327 37 5 v 55 w(delete)p 769 4327 V 54 w(elemen)m(t)3350 -4545 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_delete_element)e -Fh(\()p Fg(asn1)p 1616 4545 28 4 v 41 w(no)s(de)30 b -Ff(structure)p Fg(,)j(const)e(c)m(har)g(*)565 4654 y -Ff(element_name)p Fh(\))390 4764 y Fg(structure)5 b Fr(:)40 +4545 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_delete_element)e +Fi(\()p Fh(asn1)p 1634 4545 30 5 v 45 w(no)s(de)34 b +Fg(structure)p Fh(,)h(const)f(c)m(har)g(*)565 4654 y +Fg(element_name)p Fi(\))390 4764 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(that)h(con)m(tains)h(the)e (elemen)m(t)i(y)m(ou)f(w)m(an)m(t)g(to)g(delete.)390 -4919 y Fg(elemen)m(t)p 700 4919 V 42 w(name)5 b Fr(:)40 -b(elemen)m(t's)32 b(name)f(y)m(ou)g(w)m(an)m(t)g(to)g(delete.)390 -5075 y(Deletes)h(the)f(elemen)m(t)h(named)e(*)h Fk(element_name)c -Fr(inside)j(*)g Fk(structure)e Fr(.)390 5230 y Fe(Returns:)37 -b Fk(ASN1_SUCCESS)19 b Fr(if)k(successful,)i Fk(ASN1_ELEMENT_NOT_FOUND) -17 b Fr(if)23 b(the)g Fk(element_name)390 5340 y Fr(w)m(as)31 +4919 y Ff(elemen)m(t)p 700 4919 28 4 v 42 w(name)5 b +Fs(:)40 b(elemen)m(t's)32 b(name)f(y)m(ou)g(w)m(an)m(t)g(to)g(delete.) +390 5075 y(Deletes)h(the)f(elemen)m(t)h(named)e(*)h Fl(element_name)c +Fs(inside)j(*)g Fl(structure)e Fs(.)390 5230 y Fe(Returns:)37 +b Fl(ASN1_SUCCESS)19 b Fs(if)k(successful,)i Fl(ASN1_ELEMENT_NOT_FOUND) +17 b Fs(if)23 b(the)g Fl(element_name)390 5340 y Fs(w)m(as)31 b(not)f(found.)p eop end %%Page: 10 13 -TeXDict begin 10 12 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(10)150 299 y Fj(asn1)p +TeXDict begin 10 12 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(10)150 299 y Fk(asn1)p 396 299 37 5 v 55 w(create)p 776 299 V 53 w(elemen)m(t)3350 -492 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_create_element)e -Fh(\()p Fg(asn1)p 1616 492 28 4 v 41 w(no)s(de)30 b Ff(definitions)p -Fg(,)k(const)d(c)m(har)f(*)565 602 y Ff(source_name)p -Fg(,)k(asn1)p 1379 602 V 40 w(no)s(de)c(*)h Ff(element)p -Fh(\))390 712 y Fg(de\014nitions)t Fr(:)40 b(p)s(oin)m(ter)30 -b(to)h(the)g(structure)f(returned)f(b)m(y)h Fk(")p Fr(parser)p -2633 712 V 40 w(asn1)p Fk(")g Fr(function)390 845 y Fg(source)p -644 845 V 40 w(name)5 b Fr(:)39 b(the)25 b(name)g(of)g(the)h(t)m(yp)s -(e)f(of)h(the)f(new)g(structure)f(\(m)m(ust)i(b)s(e)e(inside)h(p)p -3296 845 V 40 w(structure\).)390 977 y Fg(elemen)m(t)r -Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(structure)g(created.)390 -1110 y(Creates)h(a)g(structure)f(of)g(t)m(yp)s(e)h Fk(source_name)c -Fr(.)41 b(Example)30 b(using)g Fk(")p Fr(pkix.asn)p Fk(")p -Fr(:)390 1243 y(rc)g(=)g(asn1)p 780 1243 V 41 w(create)p -1057 1243 V 41 w(elemen)m(t\(cert)p 1588 1243 V 43 w(def,)g -Fk(")p Fr(PKIX1.Certi\014cate)p Fk(")p Fr(,)i(certptr\);)390 -1376 y Fe(Returns:)53 b Fk(ASN1_SUCCESS)34 b Fr(if)i(creation)i(OK,)f -Fk(ASN1_ELEMENT_NOT_FOUND)30 b Fr(if)37 b Fk(source_name)390 -1486 y Fr(is)30 b(not)h(kno)m(wn.)150 1682 y Fj(asn1)p +492 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_create_element)e +Fi(\()p Fh(asn1)p 1634 492 30 5 v 45 w(no)s(de)34 b Fg(definitions)p +Fh(,)i(const)e(c)m(har)f(*)565 602 y Fg(source_name)p +Fh(,)j(asn1)p 1402 602 V 44 w(no)s(de)e(*)f Fg(element)p +Fi(\))390 712 y Ff(de\014nitions)t Fs(:)40 b(p)s(oin)m(ter)30 +b(to)h(the)g(structure)f(returned)f(b)m(y)h Fl(")p Fs(parser)p +2633 712 28 4 v 40 w(asn1)p Fl(")g Fs(function)390 845 +y Ff(source)p 644 845 V 40 w(name)5 b Fs(:)39 b(the)25 +b(name)g(of)g(the)h(t)m(yp)s(e)f(of)h(the)f(new)g(structure)f(\(m)m +(ust)i(b)s(e)e(inside)h(p)p 3296 845 V 40 w(structure\).)390 +977 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f +(structure)g(created.)390 1110 y(Creates)h(a)g(structure)f(of)g(t)m(yp) +s(e)h Fl(source_name)c Fs(.)41 b(Example)30 b(using)g +Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 1243 y(rc)g(=)g(asn1)p +780 1243 V 41 w(create)p 1057 1243 V 41 w(elemen)m(t\(cert)p +1588 1243 V 43 w(def,)g Fl(")p Fs(PKIX1.Certi\014cate)p +Fl(")p Fs(,)i(certptr\);)390 1376 y Fe(Returns:)53 b +Fl(ASN1_SUCCESS)34 b Fs(if)i(creation)i(OK,)f Fl +(ASN1_ELEMENT_NOT_FOUND)30 b Fs(if)37 b Fl(source_name)390 +1486 y Fs(is)30 b(not)h(kno)m(wn.)150 1682 y Fk(asn1)p 396 1682 37 5 v 55 w(prin)m(t)p 716 1682 V 54 w(structure)3350 -1875 y Fr([F)-8 b(unction])-3599 b Fi(void)54 b(asn1_print_structure)d -Fh(\()p Fg(FILE)31 b(*)f Ff(out)p Fg(,)i(asn1)p 2251 -1875 28 4 v 40 w(no)s(de)e Ff(structure)p Fg(,)565 1985 -y(const)h(c)m(har)g(*)f Ff(name)p Fg(,)i(in)m(t)f Ff(mode)p -Fh(\))390 2095 y Fg(out)r Fr(:)41 b(p)s(oin)m(ter)30 +1875 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_print_structure)d +Fi(\()p Fh(FILE)34 b(*)f Fg(out)p Fh(,)g(asn1)p 2304 +1875 30 5 v 45 w(no)s(de)g Fg(structure)p Fh(,)565 1985 +y(const)h(c)m(har)g(*)f Fg(name)p Fh(,)h(in)m(t)f Fg(mode)p +Fi(\))390 2095 y Ff(out)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)h(the)g(output)f(\014le)g(\(e.g.)43 b(stdout\).)390 -2228 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f +2228 y Ff(structure)5 b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(the)f (structure)g(that)h(y)m(ou)g(w)m(an)m(t)g(to)g(visit.)390 -2360 y Fg(name)5 b Fr(:)41 b(an)30 b(elemen)m(t)i(of)f(the)f(structure) -390 2493 y Fg(mo)s(de)5 b Fr(:)40 b(sp)s(ecify)30 b(ho)m(w)h(m)m(uc)m +2360 y Ff(name)5 b Fs(:)41 b(an)30 b(elemen)m(t)i(of)f(the)f(structure) +390 2493 y Ff(mo)s(de)5 b Fs(:)40 b(sp)s(ecify)30 b(ho)m(w)h(m)m(uc)m (h)f(of)h(the)f(structure)g(to)h(prin)m(t,)f(can)h(b)s(e)f -Fk(ASN1_PRINT_NAME)c Fr(,)k Fk(ASN1_)390 2603 y(PRINT_NAME_TYPE)c -Fr(,)31 b Fk(ASN1_PRINT_NAME_TYPE_VA)o(LUE)24 b Fr(,)31 -b(or)f Fk(ASN1_PRINT_ALL)c Fr(.)390 2736 y(Prin)m(ts)33 -b(on)g(the)g Fk(out)f Fr(\014le)h(descriptor)f(the)h(structure's)g -(tree)h(starting)f(from)g(the)g Fk(name)e Fr(elemen)m(t)390 -2845 y(inside)f(the)h(structure)f Fk(structure)d Fr(.)150 -3042 y Fj(asn1)p 396 3042 37 5 v 55 w(n)m(um)m(b)s(er)p +Fl(ASN1_PRINT_NAME)c Fs(,)k Fl(ASN1_)390 2603 y(PRINT_NAME_TYPE)c +Fs(,)31 b Fl(ASN1_PRINT_NAME_TYPE_VA)o(LUE)24 b Fs(,)31 +b(or)f Fl(ASN1_PRINT_ALL)c Fs(.)390 2736 y(Prin)m(ts)33 +b(on)g(the)g Fl(out)f Fs(\014le)h(descriptor)f(the)h(structure's)g +(tree)h(starting)f(from)g(the)g Fl(name)e Fs(elemen)m(t)390 +2845 y(inside)f(the)h(structure)f Fl(structure)d Fs(.)150 +3042 y Fk(asn1)p 396 3042 37 5 v 55 w(n)m(um)m(b)s(er)p 860 3042 V 54 w(of)p 1012 3042 V 55 w(elemen)m(ts)3350 -3235 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_number_of_elemen)q -(ts)f Fh(\()p Fg(asn1)p 1826 3235 28 4 v 40 w(no)s(de)30 -b Ff(element)p Fg(,)j(const)e(c)m(har)f(*)565 3345 y -Ff(name)p Fg(,)i(in)m(t)f(*)g Ff(num)p Fh(\))390 3454 -y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(ro)s(ot)h(of) -f(an)h(ASN1)f(structure.)390 3587 y Fg(name)5 b Fr(:)41 +3235 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_number_of_elemen)q +(ts)f Fi(\()p Fh(asn1)p 1844 3235 30 5 v 44 w(no)s(de)34 +b Fg(element)p Fh(,)h(const)f(c)m(har)f(*)565 3345 y +Fg(name)p Fh(,)h(in)m(t)f(*)g Fg(num)p Fi(\))390 3454 +y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(the)f(ro)s(ot)h(of) +f(an)h(ASN1)f(structure.)390 3587 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(a)h(sub-structure)e(of)i(R)m(OOT.)390 -3720 y Fg(n)m(um)p Fr(:)40 b(p)s(oin)m(ter)30 b(to)h(an)g(in)m(teger)g +3720 y Ff(n)m(um)p Fs(:)40 b(p)s(oin)m(ter)30 b(to)h(an)g(in)m(teger)g (where)f(the)h(result)f(will)h(b)s(e)f(stored)390 3853 y(Coun)m(ts)e(the)h(n)m(um)m(b)s(er)e(of)h(elemen)m(ts)i(of)f(a)f (sub-structure)f(called)j(NAME)f(with)f(names)g(equal)h(to)390 -3963 y Fk(")p Fr(?1)p Fk(")p Fr(,)p Fk(")p Fr(?2)p Fk(")p -Fr(,)h(...)390 4096 y Fe(Returns:)36 b Fk(ASN1_SUCCESS)18 -b Fr(if)k(successful,)h Fk(ASN1_ELEMENT_NOT_FOUND)15 -b Fr(if)22 b Fk(name)e Fr(is)h(not)h(kno)m(wn,)390 4205 -y Fk(ASN1_GENERIC_ERROR)j Fr(if)31 b(p)s(oin)m(ter)f -Fk(num)g Fr(is)g Fk(NULL)f Fr(.)150 4401 y Fj(asn1)p +3963 y Fl(")p Fs(?1)p Fl(")p Fs(,)p Fl(")p Fs(?2)p Fl(")p +Fs(,)h(...)390 4096 y Fe(Returns:)36 b Fl(ASN1_SUCCESS)18 +b Fs(if)k(successful,)h Fl(ASN1_ELEMENT_NOT_FOUND)15 +b Fs(if)22 b Fl(name)e Fs(is)h(not)h(kno)m(wn,)390 4205 +y Fl(ASN1_GENERIC_ERROR)j Fs(if)31 b(p)s(oin)m(ter)f +Fl(num)g Fs(is)g Fl(NULL)f Fs(.)150 4401 y Fk(asn1)p 396 4401 37 5 v 55 w(\014nd)p 655 4401 V 54 w(structure)p 1200 4401 V 54 w(from)p 1504 4401 V 55 w(oid)3350 4595 -y Fr([F)-8 b(unction])-3599 b Fi(const)54 b(char)f(*)g -(asn1_find_structure_fr)q(om_)q(oid)f Fh(\()p Fg(asn1)p -2558 4595 28 4 v 41 w(no)s(de)565 4704 y Ff(definitions)p -Fg(,)34 b(const)d(c)m(har)g(*)f Ff(oidValue)p Fh(\))390 -4814 y Fg(de\014nitions)t Fr(:)40 b(ASN1)31 b(de\014nitions)390 -4947 y Fg(oidV)-8 b(alue)5 b Fr(:)42 b(v)-5 b(alue)31 -b(of)g(the)f(OID)g(to)i(searc)m(h)f(\(e.g.)42 b Fk(")p -Fr(1.2.3.4)p Fk(")p Fr(\).)390 5080 y(Searc)m(h)31 b(the)f(structure)g +y Fs([F)-8 b(unction])-3599 b Fj(const)54 b(char)f(*)g +(asn1_find_structure_fr)q(om_)q(oid)f Fi(\()p Fh(asn1)p +2576 4595 30 5 v 44 w(no)s(de)565 4704 y Fg(definitions)p +Fh(,)36 b(const)e(c)m(har)g(*)f Fg(oidValue)p Fi(\))390 +4814 y Ff(de\014nitions)t Fs(:)40 b(ASN1)31 b(de\014nitions)390 +4947 y Ff(oidV)-8 b(alue)5 b Fs(:)42 b(v)-5 b(alue)31 +b(of)g(the)f(OID)g(to)i(searc)m(h)f(\(e.g.)42 b Fl(")p +Fs(1.2.3.4)p Fl(")p Fs(\).)390 5080 y(Searc)m(h)31 b(the)f(structure)g (that)h(is)g(de\014ned)e(just)g(after)i(an)g(OID)f(de\014nition.)390 -5213 y Fe(Returns:)41 b Fk(NULL)29 b Fr(when)h Fk(oidValue)e -Fr(not)j(found,)e(otherwise)i(the)g(p)s(oin)m(ter)g(to)g(a)g(constan)m +5213 y Fe(Returns:)41 b Fl(NULL)29 b Fs(when)h Fl(oidValue)e +Fs(not)j(found,)e(otherwise)i(the)g(p)s(oin)m(ter)g(to)g(a)g(constan)m (t)h(string)390 5322 y(that)f(con)m(tains)h(the)e(elemen)m(t)i(name)e (de\014ned)g(just)f(after)i(the)g(OID.)p eop end %%Page: 11 14 -TeXDict begin 11 13 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(11)150 299 y Fj(asn1)p +TeXDict begin 11 13 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(11)150 299 y Fk(asn1)p 396 299 37 5 v 55 w(cop)m(y)p 697 299 V 53 w(no)s(de)3350 -493 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_copy_node)d -Fh(\()p Fg(asn1)p 1355 493 28 4 v 41 w(no)s(de)29 b Ff(dst)p -Fg(,)j(const)f(c)m(har)f(*)h Ff(dst_name)p Fg(,)565 603 -y(asn1)p 748 603 V 40 w(no)s(de)f Ff(src)p Fg(,)i(const)e(c)m(har)h(*)g -Ff(src_name)p Fh(\))390 712 y Fg(dst)r Fr(:)40 b(Destination)32 -b(asn1)f(no)s(de.)390 845 y Fg(dst)p 518 845 V 40 w(name)5 -b Fr(:)41 b(Field)31 b(name)f(in)g(destination)h(no)s(de.)390 -979 y Fg(src)6 b Fr(:)40 b(Source)30 b(asn1)h(no)s(de.)390 -1112 y Fg(src)p 508 1112 V 40 w(name)5 b Fr(:)41 b(Field)31 +493 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_copy_node)d +Fi(\()p Fh(asn1)p 1373 493 30 5 v 44 w(no)s(de)34 b Fg(dst)p +Fh(,)g(const)g(c)m(har)g(*)f Fg(dst_name)p Fh(,)565 603 +y(asn1)p 766 603 V 44 w(no)s(de)h Fg(src)p Fh(,)g(const)f(c)m(har)h(*)f +Fg(src_name)p Fi(\))390 712 y Ff(dst)r Fs(:)40 b(Destination)32 +b(asn1)f(no)s(de.)390 845 y Ff(dst)p 518 845 28 4 v 40 +w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(destination)h(no)s(de.)390 +979 y Ff(src)6 b Fs(:)40 b(Source)30 b(asn1)h(no)s(de.)390 +1112 y Ff(src)p 508 1112 V 40 w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390 1245 y(Create)39 b(a)f(deep)g(cop)m(y)h(of)f(a)g(asn1)p 1591 1245 V 40 w(no)s(de)g(v)-5 b(ariable.)64 b(That)38 b(function)g(requires)f -Fk(dst)g Fr(to)i(b)s(e)e(ex-)390 1355 y(panded)29 b(using)h -Fk(asn1_create_element\(\))25 b Fr(.)390 1488 y Fe(Returns:)40 -b Fr(Return)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success.)150 -1685 y Fj(asn1)p 396 1685 37 5 v 55 w(dup)p 655 1685 -V 54 w(no)s(de)3350 1879 y Fr([F)-8 b(unction])-3599 -b Fi(asn1_node)55 b(asn1_dup_node)49 b Fh(\()p Fg(asn1)p -1616 1879 28 4 v 41 w(no)s(de)30 b Ff(src)p Fg(,)h(const)g(c)m(har)g(*) -g Ff(src_name)p Fh(\))390 1988 y Fg(src)6 b Fr(:)40 b(Source)30 -b(asn1)h(no)s(de.)390 2122 y Fg(src)p 508 2122 V 40 w(name)5 -b Fr(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390 +Fl(dst)g Fs(to)i(b)s(e)e(ex-)390 1355 y(panded)29 b(using)h +Fl(asn1_create_element\(\))25 b Fs(.)390 1488 y Fe(Returns:)40 +b Fs(Return)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success.)150 +1685 y Fk(asn1)p 396 1685 37 5 v 55 w(dup)p 655 1685 +V 54 w(no)s(de)3350 1879 y Fs([F)-8 b(unction])-3599 +b Fj(asn1_node)55 b(asn1_dup_node)49 b Fi(\()p Fh(asn1)p +1634 1879 30 5 v 45 w(no)s(de)34 b Fg(src)p Fh(,)f(const)h(c)m(har)g(*) +f Fg(src_name)p Fi(\))390 1988 y Ff(src)6 b Fs(:)40 b(Source)30 +b(asn1)h(no)s(de.)390 2122 y Ff(src)p 508 2122 28 4 v +40 w(name)5 b Fs(:)41 b(Field)31 b(name)f(in)g(source)h(no)s(de.)390 2255 y(Create)h(a)f(deep)g(cop)m(y)h(of)g(a)f(asn1)p 1550 2255 V 40 w(no)s(de)g(v)-5 b(ariable.)44 b(This)30 b(function)h(will)g(return)f(an)i(exact)g(cop)m(y)390 2364 y(of)f(the)f(pro)m(vided)g(structure.)390 2498 y -Fe(Returns:)40 b Fr(Return)30 b Fk(NULL)f Fr(on)h(failure.)150 -2694 y Fj(asn1)p 396 2694 37 5 v 55 w(write)p 728 2694 -V 53 w(v)-7 b(alue)3350 2888 y Fr([F)f(unction])-3599 -b Fi(int)53 b(asn1_write_value)e Fh(\()p Fg(asn1)p 1460 -2888 28 4 v 40 w(no)s(de)30 b Ff(node_root)p Fg(,)j(const)e(c)m(har)g -(*)g Ff(name)p Fg(,)565 2998 y(const)g(v)m(oid)g(*)g -Ff(ivalue)p Fg(,)h(in)m(t)f Ff(len)p Fh(\))390 3108 y -Fg(no)s(de)p 586 3108 V 39 w(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)31 -b(to)g(a)g(structure)390 3241 y Fg(name)5 b Fr(:)41 b(the)30 +Fe(Returns:)40 b Fs(Return)30 b Fl(NULL)f Fs(on)h(failure.)150 +2694 y Fk(asn1)p 396 2694 37 5 v 55 w(write)p 728 2694 +V 53 w(v)-7 b(alue)3350 2888 y Fs([F)f(unction])-3599 +b Fj(int)53 b(asn1_write_value)e Fi(\()p Fh(asn1)p 1478 +2888 30 5 v 44 w(no)s(de)34 b Fg(node_root)p Fh(,)h(const)f(c)m(har)g +(*)f Fg(name)p Fh(,)565 2998 y(const)h(v)m(oid)f(*)g +Fg(ivalue)p Fh(,)h(in)m(t)g Fg(len)p Fi(\))390 3108 y +Ff(no)s(de)p 586 3108 28 4 v 39 w(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)31 +b(to)g(a)g(structure)390 3241 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h(inside)e(the)g(structure)g(that)h(y)m -(ou)g(w)m(an)m(t)g(to)g(set.)390 3374 y Fg(iv)-5 b(alue)5 -b Fr(:)45 b(v)m(ector)34 b(used)e(to)h(sp)s(ecify)f(the)g(v)-5 -b(alue)33 b(to)g(set.)47 b(If)32 b(len)g(is)h Fk(>)p -Fr(0,)g(V)-10 b(ALUE)32 b(m)m(ust)g(b)s(e)g(a)g(t)m(w)m(o's)390 +(ou)g(w)m(an)m(t)g(to)g(set.)390 3374 y Ff(iv)-5 b(alue)5 +b Fs(:)45 b(v)m(ector)34 b(used)e(to)h(sp)s(ecify)f(the)g(v)-5 +b(alue)33 b(to)g(set.)47 b(If)32 b(len)g(is)h Fl(>)p +Fs(0,)g(V)-10 b(ALUE)32 b(m)m(ust)g(b)s(e)g(a)g(t)m(w)m(o's)390 3484 y(complemen)m(t)k(form)e(in)m(teger.)56 b(if)35 b(len=0)g(*V)-10 b(ALUE)35 b(m)m(ust)g(b)s(e)f(a)h(n)m(ull)g (terminated)g(string)g(with)390 3593 y(an)30 b(in)m(teger)i(v)-5 -b(alue.)390 3726 y Fg(len)p Fr(:)53 b(n)m(um)m(b)s(er)35 +b(alue.)390 3726 y Ff(len)p Fs(:)53 b(n)m(um)m(b)s(er)35 b(of)i(b)m(ytes)g(of)g(*v)-5 b(alue)38 b(to)f(use)f(to)h(set)h(the)e(v) -5 b(alue:)54 b(v)-5 b(alue[0]..v)g(alue[len-1])40 b(or)d(0)g(if)390 3836 y(v)-5 b(alue)31 b(is)f(a)h(n)m(ull)f(terminated)h(string)390 @@ -6713,937 +6713,949 @@ b(of)i(b)m(ytes)g(of)g(*v)-5 b(alue)38 b(to)f(use)f(to)h(set)h(the)e(v) h(structure.)390 4102 y(If)23 b(an)g(elemen)m(t)i(is)e(OPTIONAL)f(and)g (y)m(ou)i(w)m(an)m(t)g(to)g(delete)g(it,)i(y)m(ou)d(m)m(ust)g(use)g (the)h(v)-5 b(alue=NULL)390 4212 y(and)30 b(len=0.)41 -b(Using)30 b Fk(")p Fr(pkix.asn)p Fk(")p Fr(:)390 4345 +b(Using)30 b Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 4345 y(result=asn1)p 867 4345 V 40 w(write)p 1109 4345 V 40 -w(v)-5 b(alue\(cert,)32 b Fk(")p Fr(tbsCerti\014cate.issuerUniqueID)p -Fk(")p Fr(,)f(NULL,)g(0\);)390 4478 y(Description)g(for)f(eac)m(h)i(t)m -(yp)s(e:)390 4612 y Fe(INTEGER:)f Fr(V)-10 b(ALUE)30 +w(v)-5 b(alue\(cert,)32 b Fl(")p Fs(tbsCerti\014cate.issuerUniqueID)p +Fl(")p Fs(,)f(NULL,)g(0\);)390 4478 y(Description)g(for)f(eac)m(h)i(t)m +(yp)s(e:)390 4612 y Fe(INTEGER:)f Fs(V)-10 b(ALUE)30 b(m)m(ust)g(con)m(tain)i(a)f(t)m(w)m(o's)h(complemen)m(t)f(form)f(in)m (teger.)390 4745 y(v)-5 b(alue[0]=0xFF)52 b(,)e(len=1)g(-)p -Fk(>)g Fr(in)m(teger=-1.)101 b(v)-5 b(alue[0]=0xFF)52 -b(v)-5 b(alue[1]=0xFF)52 b(,)e(len=2)g(-)p Fk(>)390 4854 -y Fr(in)m(teger=-1.)85 b(v)-5 b(alue[0]=0x01)46 b(,)i(len=1)d(-)p -Fk(>)f Fr(in)m(teger=)i(1.)83 b(v)-5 b(alue[0]=0x00)47 +Fl(>)g Fs(in)m(teger=-1.)101 b(v)-5 b(alue[0]=0xFF)52 +b(v)-5 b(alue[1]=0xFF)52 b(,)e(len=2)g(-)p Fl(>)390 4854 +y Fs(in)m(teger=-1.)85 b(v)-5 b(alue[0]=0x01)46 b(,)i(len=1)d(-)p +Fl(>)f Fs(in)m(teger=)i(1.)83 b(v)-5 b(alue[0]=0x00)47 b(v)-5 b(alue[1]=0x01)47 b(,)390 4964 y(len=2)31 b(-)p -Fk(>)f Fr(in)m(teger=)h(1.)42 b(v)-5 b(alue=)p Fk(")p -Fr(123)p Fk(")31 b Fr(,)f(len=0)h(-)p Fk(>)f Fr(in)m(teger=)i(123.)390 -5097 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with) +Fl(>)f Fs(in)m(teger=)h(1.)42 b(v)-5 b(alue=)p Fl(")p +Fs(123)p Fl(")31 b Fs(,)f(len=0)h(-)p Fl(>)f Fs(in)m(teger=)i(123.)390 +5097 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with) f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 5230 y -Fe(BOOLEAN:)g Fr(V)-10 b(ALUE)35 b(m)m(ust)f(b)s(e)f(the)i(n)m(ull)f -(terminated)g(string)h Fk(")p Fr(TR)m(UE)p Fk(")e Fr(or)h -Fk(")p Fr(F)-10 b(ALSE)p Fk(")34 b Fr(and)390 5340 y(LEN)c(!=)g(0.)p +Fe(BOOLEAN:)g Fs(V)-10 b(ALUE)35 b(m)m(ust)f(b)s(e)f(the)i(n)m(ull)f +(terminated)g(string)h Fl(")p Fs(TR)m(UE)p Fl(")e Fs(or)h +Fl(")p Fs(F)-10 b(ALSE)p Fl(")34 b Fs(and)390 5340 y(LEN)c(!=)g(0.)p eop end %%Page: 12 15 -TeXDict begin 12 14 bop 150 -116 a Fr(Chapter)30 b(4:)41 +TeXDict begin 12 14 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(F)-8 b(unction)31 b(reference)2313 b(12)390 299 y(v)-5 -b(alue=)p Fk(")p Fr(TR)m(UE)p Fk(")88 b Fr(,)103 b(len=1)89 -b(-)p Fk(>)g Fr(b)s(o)s(olean=TR)m(UE.)f(v)-5 b(alue=)p -Fk(")p Fr(F)-10 b(ALSE)p Fk(")88 b Fr(,)103 b(len=1)89 -b(-)p Fk(>)390 408 y Fr(b)s(o)s(olean=F)-10 b(ALSE.)390 +b(alue=)p Fl(")p Fs(TR)m(UE)p Fl(")88 b Fs(,)103 b(len=1)89 +b(-)p Fl(>)g Fs(b)s(o)s(olean=TR)m(UE.)f(v)-5 b(alue=)p +Fl(")p Fs(F)-10 b(ALSE)p Fl(")88 b Fs(,)103 b(len=1)89 +b(-)p Fl(>)390 408 y Fs(b)s(o)s(olean=F)-10 b(ALSE.)390 538 y(OBJECT)26 b(IDENTIFIER:)h(V)-10 b(ALUE)27 b(m)m(ust)g(b)s(e)g(a)g (n)m(ull)g(terminated)h(string)f(with)g(eac)m(h)h(n)m(um)m(b)s(er)390 -648 y(separated)j(b)m(y)f(a)h(dot)f(\(e.g.)43 b Fk(")p -Fr(1.2.3.543.1)p Fk(")p Fr(\).)h(LEN)30 b(!=)h(0.)390 -777 y(v)-5 b(alue=)p Fk(")p Fr(1)31 b(2)f(840)i(10040)h(4)d(3)p -Fk(")h Fr(,)g(len=1)f(-)p Fk(>)g Fr(OID=dsa-with-sha.)390 -907 y Fe(UTCTime:)84 b Fr(V)-10 b(ALUE)53 b(m)m(ust)f(b)s(e)f(a)i(n)m +648 y(separated)j(b)m(y)f(a)h(dot)f(\(e.g.)43 b Fl(")p +Fs(1.2.3.543.1)p Fl(")p Fs(\).)h(LEN)30 b(!=)h(0.)390 +777 y(v)-5 b(alue=)p Fl(")p Fs(1)31 b(2)f(840)i(10040)h(4)d(3)p +Fl(")h Fs(,)g(len=1)f(-)p Fl(>)g Fs(OID=dsa-with-sha.)390 +907 y Fe(UTCTime:)84 b Fs(V)-10 b(ALUE)53 b(m)m(ust)f(b)s(e)f(a)i(n)m (ull)f(terminated)g(string)g(in)g(one)h(of)f(these)g(formats:)390 -1017 y Fk(")p Fr(YYMMDDhhmmssZ)p Fk(")p Fr(,)118 b Fk(")p -Fr(YYMMDDhhmmssZ)p Fk(")p Fr(,)g Fk(")p Fr(YYMMDDhhmmss)p -Fk(+)p Fr(hh'mm')p Fk(")p Fr(,)390 1126 y Fk(")p Fr -(YYMMDDhhmmss-hh'mm')p Fk(")p Fr(,)40 b Fk(")p Fr(YYMMDDhhmm)p -Fk(+)p Fr(hh'mm')p Fk(")p Fr(,)g(or)f Fk(")p Fr(YYMMDDhhmm-)390 -1236 y(hh'mm')p Fk(")p Fr(.)g(LEN)31 b(!=)f(0.)390 1365 -y(v)-5 b(alue=)p Fk(")p Fr(9801011200Z)p Fk(")43 b Fr(,)f(len=1)e(-)p -Fk(>)f Fr(time=Jann)m(uary)g(1st,)k(1998)e(at)f(12h)g(00m)g(Green)m +1017 y Fl(")p Fs(YYMMDDhhmmssZ)p Fl(")p Fs(,)118 b Fl(")p +Fs(YYMMDDhhmmssZ)p Fl(")p Fs(,)g Fl(")p Fs(YYMMDDhhmmss)p +Fl(+)p Fs(hh'mm')p Fl(")p Fs(,)390 1126 y Fl(")p Fs +(YYMMDDhhmmss-hh'mm')p Fl(")p Fs(,)40 b Fl(")p Fs(YYMMDDhhmm)p +Fl(+)p Fs(hh'mm')p Fl(")p Fs(,)g(or)f Fl(")p Fs(YYMMDDhhmm-)390 +1236 y(hh'mm')p Fl(")p Fs(.)g(LEN)31 b(!=)f(0.)390 1365 +y(v)-5 b(alue=)p Fl(")p Fs(9801011200Z)p Fl(")43 b Fs(,)f(len=1)e(-)p +Fl(>)f Fs(time=Jann)m(uary)g(1st,)k(1998)e(at)f(12h)g(00m)g(Green)m (wic)m(h)390 1475 y(Mean)31 b(Time)390 1605 y Fe(GeneralizedTime:)94 -b Fr(V)-10 b(ALUE)56 b(m)m(ust)f(b)s(e)h(in)f(one)h(of)g(this)g -(format:)92 b Fk(")p Fr(YYYYMMDDhh-)390 1714 y(mmss.sZ)p -Fk(")p Fr(,)185 b Fk(")p Fr(YYYYMMDDhhmmss.sZ)p Fk(")p -Fr(,)h Fk(")p Fr(YYYYMMDDhhmmss.s)p Fk(+)p Fr(hh'mm')p -Fk(")p Fr(,)390 1824 y Fk(")p Fr(YYYYMMDDhhmmss.s-hh'mm')p -Fk(")p Fr(,)279 b Fk(")p Fr(YYYYMMDDhhmm)p Fk(+)p Fr(hh'mm')p -Fk(")p Fr(,)g(or)390 1933 y Fk(")p Fr(YYYYMMDDhhmm-hh'mm')p -Fk(")36 b Fr(where)h(ss.s)f(indicates)i(the)f(seconds)f(with)h(an)m(y)g -(precision)390 2043 y(lik)m(e)32 b Fk(")p Fr(10.1)p Fk(")f -Fr(or)f Fk(")p Fr(01.02)p Fk(")p Fr(.)43 b(LEN)30 b(!=)g(0)390 -2172 y(v)-5 b(alue=)p Fk(")p Fr(2001010112001.1)q(2-0)q(70)q(0)p -Fk(")50 b Fr(,)e(len=1)c(-)p Fk(>)h Fr(time=Jann)m(uary)e(1st,)49 +b Fs(V)-10 b(ALUE)56 b(m)m(ust)f(b)s(e)h(in)f(one)h(of)g(this)g +(format:)92 b Fl(")p Fs(YYYYMMDDhh-)390 1714 y(mmss.sZ)p +Fl(")p Fs(,)185 b Fl(")p Fs(YYYYMMDDhhmmss.sZ)p Fl(")p +Fs(,)h Fl(")p Fs(YYYYMMDDhhmmss.s)p Fl(+)p Fs(hh'mm')p +Fl(")p Fs(,)390 1824 y Fl(")p Fs(YYYYMMDDhhmmss.s-hh'mm')p +Fl(")p Fs(,)279 b Fl(")p Fs(YYYYMMDDhhmm)p Fl(+)p Fs(hh'mm')p +Fl(")p Fs(,)g(or)390 1933 y Fl(")p Fs(YYYYMMDDhhmm-hh'mm')p +Fl(")36 b Fs(where)h(ss.s)f(indicates)i(the)f(seconds)f(with)h(an)m(y)g +(precision)390 2043 y(lik)m(e)32 b Fl(")p Fs(10.1)p Fl(")f +Fs(or)f Fl(")p Fs(01.02)p Fl(")p Fs(.)43 b(LEN)30 b(!=)g(0)390 +2172 y(v)-5 b(alue=)p Fl(")p Fs(2001010112001.1)q(2-0)q(70)q(0)p +Fl(")50 b Fs(,)e(len=1)c(-)p Fl(>)h Fs(time=Jann)m(uary)e(1st,)49 b(2001)d(at)f(12h)f(00m)390 2282 y(01.12s)32 b(P)m(aci\014c)g(Da)m (yligh)m(t)h(Time)390 2412 y(OCTET)22 b(STRING:)h(V)-10 b(ALUE)23 b(con)m(tains)h(the)g(o)s(ctet)g(string)g(and)e(LEN)h(is)h (the)f(n)m(um)m(b)s(er)f(of)h(o)s(ctets.)390 2541 y(v)-5 -b(alue=)p Fk(")p Fr($)p Fk(\\)p Fr(bac)m(kslash$x01$)p -Fk(\\)p Fr(bac)m(kslash$x02$)p Fk(\\)p Fr(bac)m(kslash$x03)q -Fk(")62 b Fr(,)g(len=3)57 b(-)p Fk(>)f Fr(three)g(b)m(ytes)390 +b(alue=)p Fl(")p Fs($)p Fl(\\)p Fs(bac)m(kslash$x01$)p +Fl(\\)p Fs(bac)m(kslash$x02$)p Fl(\\)p Fs(bac)m(kslash$x03)q +Fl(")62 b Fs(,)g(len=3)57 b(-)p Fl(>)f Fs(three)g(b)m(ytes)390 2651 y(o)s(ctet)32 b(string)390 2781 y Fe(GeneralString:)42 -b Fr(V)-10 b(ALUE)30 b(con)m(tains)h(the)g(generalstring)g(and)f(LEN)g +b Fs(V)-10 b(ALUE)30 b(con)m(tains)h(the)g(generalstring)g(and)f(LEN)g (is)g(the)g(n)m(um)m(b)s(er)f(of)h(o)s(ctets.)390 2910 -y(v)-5 b(alue=)p Fk(")p Fr($)p Fk(\\)p Fr(bac)m(kslash$x01$)p -Fk(\\)p Fr(bac)m(kslash$x02$)p Fk(\\)p Fr(bac)m(kslash$x03)q -Fk(")62 b Fr(,)g(len=3)57 b(-)p Fk(>)f Fr(three)g(b)m(ytes)390 +y(v)-5 b(alue=)p Fl(")p Fs($)p Fl(\\)p Fs(bac)m(kslash$x01$)p +Fl(\\)p Fs(bac)m(kslash$x02$)p Fl(\\)p Fs(bac)m(kslash$x03)q +Fl(")62 b Fs(,)g(len=3)57 b(-)p Fl(>)f Fs(three)g(b)m(ytes)390 3020 y(generalstring)390 3149 y(BIT)39 b(STRING:)g(V)-10 b(ALUE)39 b(con)m(tains)h(the)g(bit)f(string)g(organized)h(b)m(y)f(b)m (ytes)h(and)f(LEN)g(is)g(the)390 3259 y(n)m(um)m(b)s(er)29 -b(of)i(bits.)390 3389 y(v)-5 b(alue=)p Fk(")p Fr($)p -Fk(\\)p Fr(bac)m(kslash$xCF)p Fk(")31 b Fr(,)g(len=6)g(-)p -Fk(>)f Fr(bit)g(string=)p Fk(")p Fr(110011)p Fk(")j Fr(\(six)d(bits\)) -390 3518 y Fe(CHOICE:)f Fr(if)g(NAME)g(indicates)h(a)g(c)m(hoice)g(t)m +b(of)i(bits.)390 3389 y(v)-5 b(alue=)p Fl(")p Fs($)p +Fl(\\)p Fs(bac)m(kslash$xCF)p Fl(")31 b Fs(,)g(len=6)g(-)p +Fl(>)f Fs(bit)g(string=)p Fl(")p Fs(110011)p Fl(")j Fs(\(six)d(bits\)) +390 3518 y Fe(CHOICE:)f Fs(if)g(NAME)g(indicates)h(a)g(c)m(hoice)g(t)m (yp)s(e,)g(V)-10 b(ALUE)29 b(m)m(ust)g(sp)s(ecify)g(one)g(of)g(the)h (alterna-)390 3628 y(tiv)m(es)i(with)e(a)g(n)m(ull)h(terminated)g -(string.)40 b(LEN)31 b(!=)f(0.)41 b(Using)30 b Fk(")p -Fr(pkix.asn)p Fk("\\)p Fr(:)390 3757 y(result=asn1)p +(string.)40 b(LEN)31 b(!=)f(0.)41 b(Using)30 b Fl(")p +Fs(pkix.asn)p Fl("\\)p Fs(:)390 3757 y(result=asn1)p 867 3757 28 4 v 40 w(write)p 1109 3757 V 40 w(v)-5 b(alue\(cert,)74 -b Fk(")p Fr(certi\014cate1.tbsCerti\014cate.sub)5 b(ject)p -Fk(")p Fr(,)76 b Fk(")p Fr(rdnSequence)p Fk(")p Fr(,)390 -3867 y(1\);)390 3997 y Fe(ANY:)30 b Fr(V)-10 b(ALUE)31 +b Fl(")p Fs(certi\014cate1.tbsCerti\014cate.sub)5 b(ject)p +Fl(")p Fs(,)76 b Fl(")p Fs(rdnSequence)p Fl(")p Fs(,)390 +3867 y(1\);)390 3997 y Fe(ANY:)30 b Fs(V)-10 b(ALUE)31 b(indicates)g(the)f(der)g(enco)s(ding)h(of)f(a)h(structure.)40 b(LEN)30 b(!=)h(0.)390 4126 y(SEQUENCE)i(OF:)h(V)-10 b(ALUE)34 b(m)m(ust)g(b)s(e)g(the)g(n)m(ull)g(terminated)h(string)f -Fk(")p Fr(NEW)p Fk(")g Fr(and)f(LEN)h(!=)390 4236 y(0.)46 +Fl(")p Fs(NEW)p Fl(")g Fs(and)f(LEN)h(!=)390 4236 y(0.)46 b(With)32 b(this)g(instruction)g(another)g(elemen)m(t)i(is)e(app)s (ended)e(in)h(the)i(sequence.)45 b(The)32 b(name)g(of)390 -4345 y(this)e(elemen)m(t)i(will)f(b)s(e)f Fk(")p Fr(?1)p -Fk(")g Fr(if)g(it's)h(the)g(\014rst)e(one,)i Fk(")p Fr(?2)p -Fk(")f Fr(for)g(the)h(second)f(and)g(so)h(on.)390 4475 -y(Using)g Fk(")p Fr(pkix.asn)p Fk("\\)p Fr(:)390 4605 +4345 y(this)e(elemen)m(t)i(will)f(b)s(e)f Fl(")p Fs(?1)p +Fl(")g Fs(if)g(it's)h(the)g(\014rst)e(one,)i Fl(")p Fs(?2)p +Fl(")f Fs(for)g(the)h(second)f(and)g(so)h(on.)390 4475 +y(Using)g Fl(")p Fs(pkix.asn)p Fl("\\)p Fs(:)390 4605 y(result=asn1)p 867 4605 V 40 w(write)p 1109 4605 V 40 -w(v)-5 b(alue\(cert,)241 b Fk(")p Fr +w(v)-5 b(alue\(cert,)241 b Fl(")p Fs (certi\014cate1.tbsCerti\014cate.sub)5 b(ject.rdnSequence)p -Fk(")p Fr(,)390 4714 y Fk(")p Fr(NEW)p Fk(")p Fr(,)30 +Fl(")p Fs(,)390 4714 y Fl(")p Fs(NEW)p Fl(")p Fs(,)30 b(1\);)390 4844 y(SET)f(OF:)i(the)g(same)f(as)h(SEQUENCE)e(OF.)i(Using) -f Fk(")p Fr(pkix.asn)p Fk(")p Fr(:)390 4973 y(result=asn1)p +f Fl(")p Fs(pkix.asn)p Fl(")p Fs(:)390 4973 y(result=asn1)p 867 4973 V 40 w(write)p 1109 4973 V 40 w(v)-5 b(alue\(cert,)25 -b Fk(")p Fr(tbsCerti\014cate.sub)5 b(ject.rdnSequence.?LAST)p -Fk(")p Fr(,)22 b Fk(")p Fr(NEW)p Fk(")p Fr(,)390 5083 -y(1\);)390 5213 y Fe(Returns:)38 b Fk(ASN1_SUCCESS)21 -b Fr(if)k(the)g(v)-5 b(alue)26 b(w)m(as)f(set,)i Fk -(ASN1_ELEMENT_NOT_FOUND)19 b Fr(if)25 b Fk(name)f Fr(is)h(not)390 -5322 y(a)31 b(v)-5 b(alid)30 b(elemen)m(t,)j(and)c Fk -(ASN1_VALUE_NOT_VALID)c Fr(if)31 b Fk(ivalue)d Fr(has)i(a)h(wrong)f +b Fl(")p Fs(tbsCerti\014cate.sub)5 b(ject.rdnSequence.?LAST)p +Fl(")p Fs(,)22 b Fl(")p Fs(NEW)p Fl(")p Fs(,)390 5083 +y(1\);)390 5213 y Fe(Returns:)38 b Fl(ASN1_SUCCESS)21 +b Fs(if)k(the)g(v)-5 b(alue)26 b(w)m(as)f(set,)i Fl +(ASN1_ELEMENT_NOT_FOUND)19 b Fs(if)25 b Fl(name)f Fs(is)h(not)390 +5322 y(a)31 b(v)-5 b(alid)30 b(elemen)m(t,)j(and)c Fl +(ASN1_VALUE_NOT_VALID)c Fs(if)31 b Fl(ivalue)d Fs(has)i(a)h(wrong)f (format.)p eop end %%Page: 13 16 -TeXDict begin 13 15 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(13)150 299 y Fj(asn1)p +TeXDict begin 13 15 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(13)150 299 y Fk(asn1)p 396 299 37 5 v 55 w(read)p 685 299 V 54 w(v)-7 b(alue)3350 -493 y Fr([F)f(unction])-3599 b Fi(int)53 b(asn1_read_value)d -Fh(\()p Fg(asn1)p 1407 493 28 4 v 41 w(no)s(de)30 b Ff(root)p -Fg(,)h(const)g(c)m(har)g(*)g Ff(name)p Fg(,)g(v)m(oid)g(*)565 -602 y Ff(ivalue)p Fg(,)h(in)m(t)f(*)g Ff(len)p Fh(\))390 -712 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure.)390 -845 y Fg(name)5 b Fr(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h +494 y Fs([F)f(unction])-3599 b Fj(int)53 b(asn1_read_value)d +Fi(\()p Fh(asn1)p 1425 494 30 5 v 45 w(no)s(de)33 b Fg(root)p +Fh(,)i(const)e(c)m(har)h(*)f Fg(name)p Fh(,)h(v)m(oid)f(*)565 +604 y Fg(ivalue)p Fh(,)i(in)m(t)e(*)g Fg(len)p Fi(\))390 +714 y Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure.)390 +848 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h (inside)e(a)h(structure)f(that)h(y)m(ou)f(w)m(an)m(t)h(to)h(read.)390 -978 y Fg(iv)-5 b(alue)5 b Fr(:)45 b(v)m(ector)34 b(that)e(will)h(con)m +981 y Ff(iv)-5 b(alue)5 b Fs(:)45 b(v)m(ector)34 b(that)e(will)h(con)m (tain)g(the)g(elemen)m(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s -(oin)m(ter)g(to)h(memory)390 1088 y(cells)e(already)g(allo)s(cated)i -(\(ma)m(y)e(b)s(e)f Fk(NULL)f Fr(\).)390 1221 y Fg(len)p -Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5 +(oin)m(ter)g(to)h(memory)390 1091 y(cells)e(already)g(allo)s(cated)i +(\(ma)m(y)e(b)s(e)f Fl(NULL)f Fs(\).)390 1225 y Ff(len)p +Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5 b(alue:)41 b(v)-5 b(alue[0]..v)g(alue[len-1].)45 b(Initialy)31 -b(holds)f(the)h(sizeof)g(v)-5 b(alue.)390 1354 y(Returns)25 +b(holds)f(the)h(sizeof)g(v)-5 b(alue.)390 1359 y(Returns)25 b(the)h(v)-5 b(alue)27 b(of)f(one)g(elemen)m(t)i(inside)d(a)i (structure.)39 b(If)25 b(an)h(elemen)m(t)i(is)e(OPTIONAL)f(and)390 -1463 y(this)j(returns)f Fk(ASN1_ELEMENT_NOT_FOUND)22 -b Fr(,)29 b(it)f(means)g(that)h(this)f(elemen)m(t)i(w)m(asn't)e(presen) -m(t)g(in)390 1573 y(the)j(der)e(enco)s(ding)i(that)g(created)g(the)f +1468 y(this)j(returns)f Fl(ASN1_ELEMENT_NOT_FOUND)22 +b Fs(,)29 b(it)f(means)g(that)h(this)f(elemen)m(t)i(w)m(asn't)e(presen) +m(t)g(in)390 1578 y(the)j(der)e(enco)s(ding)i(that)g(created)g(the)f (structure.)41 b(The)29 b(\014rst)h(elemen)m(t)i(of)e(a)h(SEQUENCE)p -3587 1573 V 39 w(OF)390 1683 y(or)c(SET)p 683 1683 V -39 w(OF)g(is)g(named)f Fk(")p Fr(?1)p Fk(")p Fr(.)40 -b(The)26 b(second)h(one)g Fk(")p Fr(?2)p Fk(")g Fr(and)f(so)h(on.)40 -b(If)26 b(the)h Fk(root)f Fr(pro)m(vided)h(is)g(a)390 -1792 y(no)s(de)c(to)i(sp)s(eci\014c)f(sequence)h(elemen)m(t,)i(then)d -(the)g(k)m(eyw)m(ord)h Fk(")p Fr(?CURRENT)p Fk(")e Fr(is)h(also)h -(acceptable)390 1902 y(and)30 b(indicates)h(the)g(curren)m(t)f -(sequence)h(elemen)m(t)g(of)g(this)f(no)s(de.)390 2035 +3587 1578 28 4 v 39 w(OF)390 1688 y(or)c(SET)p 683 1688 +V 39 w(OF)g(is)g(named)f Fl(")p Fs(?1)p Fl(")p Fs(.)40 +b(The)26 b(second)h(one)g Fl(")p Fs(?2)p Fl(")g Fs(and)f(so)h(on.)40 +b(If)26 b(the)h Fl(root)f Fs(pro)m(vided)h(is)g(a)390 +1797 y(no)s(de)c(to)i(sp)s(eci\014c)f(sequence)h(elemen)m(t,)i(then)d +(the)g(k)m(eyw)m(ord)h Fl(")p Fs(?CURRENT)p Fl(")e Fs(is)h(also)h +(acceptable)390 1907 y(and)30 b(indicates)h(the)g(curren)m(t)f +(sequence)h(elemen)m(t)g(of)g(this)f(no)s(de.)390 2041 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31 b(v)-5 b(alues)31 b(with)f(length)h(zero.)42 b(In)30 -b(these)h(case)h(this)e(function)h(will)390 2144 y(succeed)g(and)f -Fk(len)f Fr(will)i(b)s(e)e(zero.)390 2277 y Fe(INTEGER:)i -Fr(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m -(t)g(form)e(in)m(teger.)390 2410 y(in)m(teger=-1)i(-)p -Fk(>)f Fr(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32 -b(-)p Fk(>)e Fr(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390 -2544 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with) -f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2677 y -Fe(BOOLEAN:)38 b Fr(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g -(terminated)h(string)f Fk(")p Fr(TR)m(UE)p Fk(")f Fr(or)h -Fk(")p Fr(F)-10 b(ALSE)p Fk(")39 b Fr(and)390 2786 y(LEN=5)30 -b(or)h(LEN=6.)390 2919 y(OBJECT)g(IDENTIFIER:)h(V)-10 +b(these)h(case)h(this)e(function)h(will)390 2150 y(succeed)g(and)f +Fl(len)f Fs(will)i(b)s(e)e(zero.)390 2284 y Fe(INTEGER:)i +Fs(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m +(t)g(form)e(in)m(teger.)390 2418 y(in)m(teger=-1)i(-)p +Fl(>)f Fs(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32 +b(-)p Fl(>)e Fs(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390 +2552 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with) +f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2686 y +Fe(BOOLEAN:)38 b Fs(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g +(terminated)h(string)f Fl(")p Fs(TR)m(UE)p Fl(")f Fs(or)h +Fl(")p Fs(F)-10 b(ALSE)p Fl(")39 b Fs(and)390 2795 y(LEN=5)30 +b(or)h(LEN=6.)390 2929 y(OBJECT)g(IDENTIFIER:)h(V)-10 b(ALUE)32 b(will)g(b)s(e)g(a)g(n)m(ull)g(terminated)g(string)g(with)g -(eac)m(h)h(n)m(um)m(b)s(er)390 3029 y(separated)e(b)m(y)f(a)h(dot)f -(\(i.e.)42 b Fk(")p Fr(1.2.3.543.1)p Fk(")p Fr(\).)390 -3162 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1)390 -3295 y Fe(UTCTime:)41 b Fr(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m +(eac)m(h)h(n)m(um)m(b)s(er)390 3039 y(separated)e(b)m(y)f(a)h(dot)f +(\(i.e.)42 b Fl(")p Fs(1.2.3.543.1)p Fl(")p Fs(\).)390 +3173 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1)390 +3307 y Fe(UTCTime:)41 b Fs(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m (ull)f(terminated)h(string)f(in)g(one)g(of)h(these)f(formats:)41 -b Fk(")p Fr(YYM-)390 3405 y(MDDhhmmss)p Fk(+)p Fr(hh'mm')p -Fk(")28 b Fr(or)j Fk(")p Fr(YYMMDDhhmmss-hh'mm')p Fk(")p -Fr(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1.)390 -3538 y Fe(GeneralizedTime:)48 b Fr(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g +b Fl(")p Fs(YYM-)390 3416 y(MDDhhmmss)p Fl(+)p Fs(hh'mm')p +Fl(")28 b Fs(or)j Fl(")p Fs(YYMMDDhhmmss-hh'mm')p Fl(")p +Fs(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1.)390 +3550 y Fe(GeneralizedTime:)48 b Fs(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g (n)m(ull)g(terminated)g(string)g(in)g(the)g(same)g(format)h(used)390 -3647 y(to)d(set)g(the)g(v)-5 b(alue.)390 3780 y(OCTET)26 +3660 y(to)d(set)g(the)g(v)-5 b(alue.)390 3794 y(OCTET)26 b(STRING:)h(V)-10 b(ALUE)27 b(will)h(con)m(tain)h(the)f(o)s(ctet)h (string)e(and)g(LEN)g(will)h(b)s(e)f(the)g(n)m(um)m(b)s(er)390 -3890 y(of)k(o)s(ctets.)390 4023 y Fe(GeneralString:)51 -b Fr(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g -(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4133 -y(of)c(o)s(ctets.)390 4266 y(BIT)j(STRING:)h(V)-10 b(ALUE)34 +3903 y(of)k(o)s(ctets.)390 4037 y Fe(GeneralString:)51 +b Fs(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g +(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4147 +y(of)c(o)s(ctets.)390 4281 y(BIT)j(STRING:)h(V)-10 b(ALUE)34 b(will)h(con)m(tain)h(the)f(bit)g(string)f(organized)i(b)m(y)e(b)m -(ytes)h(and)f(LEN)h(will)390 4375 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f -(of)i(bits.)390 4508 y Fe(CHOICE:)j Fr(If)f(NAME)i(indicates)g(a)g(c)m +(ytes)h(and)f(LEN)h(will)390 4390 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f +(of)i(bits.)390 4524 y Fe(CHOICE:)j Fs(If)f(NAME)i(indicates)g(a)g(c)m (hoice)h(t)m(yp)s(e,)f(V)-10 b(ALUE)34 b(will)h(sp)s(ecify)f(the)g -(alternativ)m(e)i(se-)390 4618 y(lected.)390 4751 y Fe(ANY:)h -Fr(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10 +(alternativ)m(e)i(se-)390 4634 y(lected.)390 4768 y Fe(ANY:)h +Fs(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10 b(ALUE)37 b(will)g(indicate)h(the)g(DER)f(enco)s(ding)g(of)390 -4860 y(the)31 b(structure)e(actually)j(used.)390 4994 -y Fe(Returns:)64 b Fk(ASN1_SUCCESS)38 b Fr(if)k(v)-5 -b(alue)42 b(is)g(returned,)i Fk(ASN1_ELEMENT_NOT_FOUND)36 -b Fr(if)42 b Fk(name)f Fr(is)390 5103 y(not)33 b(a)g(v)-5 -b(alid)34 b(elemen)m(t,)h Fk(ASN1_VALUE_NOT_FOUND)27 -b Fr(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34 -b(for)e(the)h(elemen)m(t)390 5213 y(selected,)28 b(and)d -Fk(ASN1_MEM_ERROR)c Fr(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h +4877 y(the)31 b(structure)e(actually)j(used.)390 5011 +y Fe(Returns:)64 b Fl(ASN1_SUCCESS)38 b Fs(if)k(v)-5 +b(alue)42 b(is)g(returned,)i Fl(ASN1_ELEMENT_NOT_FOUND)36 +b Fs(if)42 b Fl(name)f Fs(is)390 5121 y(not)33 b(a)g(v)-5 +b(alid)34 b(elemen)m(t,)h Fl(ASN1_VALUE_NOT_FOUND)27 +b Fs(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34 +b(for)e(the)h(elemen)m(t)390 5230 y(selected,)28 b(and)d +Fl(ASN1_MEM_ERROR)c Fs(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h (isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390 -5322 y(and)k(in)g(this)g(case)i Fk(len)d Fr(will)i(con)m(tain)g(the)g -(n)m(um)m(b)s(er)e(of)i(b)m(ytes)f(needed.)p eop end +5340 y(and)32 b(in)g(this)h(case)g Fl(len)f Fs(will)h(con)m(tain)h(the) +f(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(needed.)47 b(On)32 +b(the)g(o)s(ccasion)i(that)p eop end %%Page: 14 17 -TeXDict begin 14 16 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(14)150 299 y Fj(asn1)p -396 299 37 5 v 55 w(read)p 685 299 V 54 w(v)-7 b(alue)p -1015 299 V 53 w(t)m(yp)s(e)3350 481 y Fr([F)f(unction])-3599 -b Fi(int)53 b(asn1_read_value_type)f Fh(\()p Fg(asn1)p -1669 481 28 4 v 40 w(no)s(de)29 b Ff(root)p Fg(,)i(const)e(c)m(har)h(*) -f Ff(name)p Fg(,)i(v)m(oid)f(*)565 590 y Ff(ivalue)p -Fg(,)i(in)m(t)f(*)g Ff(len)p Fg(,)h(unsigned)d(in)m(t)i(*)g -Ff(etype)p Fh(\))390 700 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30 -b(to)i(a)e(structure.)390 827 y Fg(name)5 b Fr(:)41 b(the)30 -b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure)f(that)h(y)m -(ou)f(w)m(an)m(t)h(to)h(read.)390 954 y Fg(iv)-5 b(alue)5 -b Fr(:)45 b(v)m(ector)34 b(that)e(will)h(con)m(tain)g(the)g(elemen)m -(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s(oin)m(ter)g(to)h -(memory)390 1063 y(cells)e(already)g(allo)s(cated)i(\(ma)m(y)e(b)s(e)f -Fk(NULL)f Fr(\).)390 1190 y Fg(len)p Fr(:)41 b(n)m(um)m(b)s(er)29 +TeXDict begin 14 16 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(14)390 299 y(the)28 +b(stored)g(data)h(are)f(of)h(zero-length)g(this)f(function)g(ma)m(y)g +(return)f Fl(ASN1_SUCCESS)e Fs(ev)m(en)k(if)f(the)390 +408 y(pro)m(vided)i Fl(len)f Fs(is)i(zero.)150 608 y +Fk(asn1)p 396 608 37 5 v 55 w(read)p 685 608 V 54 w(v)-7 +b(alue)p 1015 608 V 53 w(t)m(yp)s(e)3350 805 y Fs([F)f(unction])-3599 +b Fj(int)53 b(asn1_read_value_type)f Fi(\()p Fh(asn1)p +1687 805 30 5 v 44 w(no)s(de)34 b Fg(root)p Fh(,)g(const)g(c)m(har)g(*) +f Fg(name)p Fh(,)565 915 y(v)m(oid)g(*)g Fg(ivalue)p +Fh(,)i(in)m(t)e(*)g Fg(len)p Fh(,)h(unsigned)g(in)m(t)g(*)f +Fg(etype)p Fi(\))390 1024 y Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 +b(to)i(a)e(structure.)390 1159 y Ff(name)5 b Fs(:)41 +b(the)30 b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure)f +(that)h(y)m(ou)f(w)m(an)m(t)h(to)h(read.)390 1294 y Ff(iv)-5 +b(alue)5 b Fs(:)45 b(v)m(ector)34 b(that)e(will)h(con)m(tain)g(the)g +(elemen)m(t's)g(con)m(ten)m(t,)i(m)m(ust)d(b)s(e)g(a)g(p)s(oin)m(ter)g +(to)h(memory)390 1404 y(cells)e(already)g(allo)s(cated)i(\(ma)m(y)e(b)s +(e)f Fl(NULL)f Fs(\).)390 1539 y Ff(len)p Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*v)-5 b(alue:)41 b(v)-5 b(alue[0]..v)g (alue[len-1].)45 b(Initialy)31 b(holds)f(the)h(sizeof)g(v)-5 -b(alue.)390 1317 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30 +b(alue.)390 1673 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h(v)-5 b(alue)31 b(read)f(\(ASN1)p -2037 1317 V 41 w(ETYPE\))390 1445 y(Returns)k(the)g(t)m(yp)s(e)h(and)f -(v)-5 b(alue)35 b(of)f(one)h(elemen)m(t)h(inside)e(a)h(structure.)52 -b(If)34 b(an)h(elemen)m(t)h(is)e(OP-)390 1554 y(TIONAL)41 -b(and)g(this)g(returns)f Fk(ASN1_ELEMENT_NOT_FOUND)c -Fr(,)44 b(it)e(means)g(that)g(this)f(elemen)m(t)390 1664 +2037 1673 28 4 v 41 w(ETYPE\))390 1808 y(Returns)k(the)g(t)m(yp)s(e)h +(and)f(v)-5 b(alue)35 b(of)f(one)h(elemen)m(t)h(inside)e(a)h +(structure.)52 b(If)34 b(an)h(elemen)m(t)h(is)e(OP-)390 +1918 y(TIONAL)41 b(and)g(this)g(returns)f Fl(ASN1_ELEMENT_NOT_FOUND)c +Fs(,)44 b(it)e(means)g(that)g(this)f(elemen)m(t)390 2027 y(w)m(asn't)36 b(presen)m(t)f(in)h(the)f(der)g(enco)s(ding)g(that)i (created)f(the)g(structure.)55 b(The)35 b(\014rst)g(elemen)m(t)i(of)390 -1773 y(a)e(SEQUENCE)p 986 1773 V 39 w(OF)g(or)g(SET)p -1485 1773 V 39 w(OF)f(is)h(named)g Fk(")p Fr(?1)p Fk(")p -Fr(.)53 b(The)35 b(second)g(one)g Fk(")p Fr(?2)p Fk(")f -Fr(and)g(so)h(on.)54 b(If)390 1883 y(the)31 b Fk(root)g -Fr(pro)m(vided)f(is)i(a)f(no)s(de)g(to)h(sp)s(eci\014c)f(sequence)h -(elemen)m(t,)h(then)e(the)h(k)m(eyw)m(ord)f Fk(")p Fr(?CUR-)390 -1992 y(RENT)p Fk(")f Fr(is)g(also)h(acceptable)i(and)d(indicates)h(the) +2137 y(a)e(SEQUENCE)p 986 2137 V 39 w(OF)g(or)g(SET)p +1485 2137 V 39 w(OF)f(is)h(named)g Fl(")p Fs(?1)p Fl(")p +Fs(.)53 b(The)35 b(second)g(one)g Fl(")p Fs(?2)p Fl(")f +Fs(and)g(so)h(on.)54 b(If)390 2247 y(the)31 b Fl(root)g +Fs(pro)m(vided)f(is)i(a)f(no)s(de)g(to)h(sp)s(eci\014c)f(sequence)h +(elemen)m(t,)h(then)e(the)h(k)m(eyw)m(ord)f Fl(")p Fs(?CUR-)390 +2356 y(RENT)p Fl(")f Fs(is)g(also)h(acceptable)i(and)d(indicates)h(the) f(curren)m(t)h(sequence)f(elemen)m(t)i(of)f(this)f(no)s(de.)390 -2119 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31 +2491 y(Note)i(that)f(there)g(can)g(b)s(e)f(v)-5 b(alid)31 b(v)-5 b(alues)31 b(with)f(length)h(zero.)42 b(In)30 -b(these)h(case)h(this)e(function)h(will)390 2229 y(succeed)g(and)f -Fk(len)f Fr(will)i(b)s(e)e(zero.)390 2356 y Fe(INTEGER:)i -Fr(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m -(t)g(form)e(in)m(teger.)390 2483 y(in)m(teger=-1)i(-)p -Fk(>)f Fr(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32 -b(-)p Fk(>)e Fr(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390 -2610 y Fe(ENUMERA)-8 b(TED:)30 b Fr(As)g(INTEGER)g(\(but)g(only)h(with) -f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 2737 y -Fe(BOOLEAN:)38 b Fr(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g -(terminated)h(string)f Fk(")p Fr(TR)m(UE)p Fk(")f Fr(or)h -Fk(")p Fr(F)-10 b(ALSE)p Fk(")39 b Fr(and)390 2847 y(LEN=5)30 -b(or)h(LEN=6.)390 2974 y(OBJECT)g(IDENTIFIER:)h(V)-10 +b(these)h(case)h(this)e(function)h(will)390 2601 y(succeed)g(and)f +Fl(len)f Fs(will)i(b)s(e)e(zero.)390 2735 y Fe(INTEGER:)i +Fs(V)-10 b(ALUE)30 b(will)h(con)m(tain)h(a)e(t)m(w)m(o's)i(complemen)m +(t)g(form)e(in)m(teger.)390 2870 y(in)m(teger=-1)i(-)p +Fl(>)f Fs(v)-5 b(alue[0]=0xFF)32 b(,)f(len=1.)41 b(in)m(teger=1)32 +b(-)p Fl(>)e Fs(v)-5 b(alue[0]=0x01)33 b(,)d(len=1.)390 +3005 y Fe(ENUMERA)-8 b(TED:)30 b Fs(As)g(INTEGER)g(\(but)g(only)h(with) +f(not)g(negativ)m(e)j(n)m(um)m(b)s(ers\).)390 3140 y +Fe(BOOLEAN:)38 b Fs(V)-10 b(ALUE)39 b(will)h(b)s(e)e(the)h(n)m(ull)g +(terminated)h(string)f Fl(")p Fs(TR)m(UE)p Fl(")f Fs(or)h +Fl(")p Fs(F)-10 b(ALSE)p Fl(")39 b Fs(and)390 3250 y(LEN=5)30 +b(or)h(LEN=6.)390 3384 y(OBJECT)g(IDENTIFIER:)h(V)-10 b(ALUE)32 b(will)g(b)s(e)g(a)g(n)m(ull)g(terminated)g(string)g(with)g -(eac)m(h)h(n)m(um)m(b)s(er)390 3083 y(separated)e(b)m(y)f(a)h(dot)f -(\(i.e.)42 b Fk(")p Fr(1.2.3.543.1)p Fk(")p Fr(\).)390 -3210 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1)390 -3337 y Fe(UTCTime:)41 b Fr(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m +(eac)m(h)h(n)m(um)m(b)s(er)390 3494 y(separated)e(b)m(y)f(a)h(dot)f +(\(i.e.)42 b Fl(")p Fs(1.2.3.543.1)p Fl(")p Fs(\).)390 +3629 y(LEN)30 b(=)g(strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1)390 +3764 y Fe(UTCTime:)41 b Fs(V)-10 b(ALUE)30 b(will)h(b)s(e)e(a)i(n)m (ull)f(terminated)h(string)f(in)g(one)g(of)h(these)f(formats:)41 -b Fk(")p Fr(YYM-)390 3447 y(MDDhhmmss)p Fk(+)p Fr(hh'mm')p -Fk(")28 b Fr(or)j Fk(")p Fr(YYMMDDhhmmss-hh'mm')p Fk(")p -Fr(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fk(+)p Fr(1.)390 -3574 y Fe(GeneralizedTime:)48 b Fr(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g +b Fl(")p Fs(YYM-)390 3873 y(MDDhhmmss)p Fl(+)p Fs(hh'mm')p +Fl(")28 b Fs(or)j Fl(")p Fs(YYMMDDhhmmss-hh'mm')p Fl(")p +Fs(.)39 b(LEN=strlen\(V)-10 b(ALUE\))p Fl(+)p Fs(1.)390 +4008 y Fe(GeneralizedTime:)48 b Fs(V)-10 b(ALUE)33 b(will)g(b)s(e)g(a)g (n)m(ull)g(terminated)g(string)g(in)g(the)g(same)g(format)h(used)390 -3684 y(to)d(set)g(the)g(v)-5 b(alue.)390 3811 y(OCTET)26 +4118 y(to)d(set)g(the)g(v)-5 b(alue.)390 4253 y(OCTET)26 b(STRING:)h(V)-10 b(ALUE)27 b(will)h(con)m(tain)h(the)f(o)s(ctet)h (string)e(and)g(LEN)g(will)h(b)s(e)f(the)g(n)m(um)m(b)s(er)390 -3920 y(of)k(o)s(ctets.)390 4047 y Fe(GeneralString:)51 -b Fr(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g -(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4157 -y(of)c(o)s(ctets.)390 4284 y(BIT)j(STRING:)h(V)-10 b(ALUE)34 +4362 y(of)k(o)s(ctets.)390 4497 y Fe(GeneralString:)51 +b Fs(V)-10 b(ALUE)34 b(will)i(con)m(tain)g(the)f(generalstring)g(and)g +(LEN)f(will)h(b)s(e)f(the)h(n)m(um)m(b)s(er)390 4607 +y(of)c(o)s(ctets.)390 4742 y(BIT)j(STRING:)h(V)-10 b(ALUE)34 b(will)h(con)m(tain)h(the)f(bit)g(string)f(organized)i(b)m(y)e(b)m -(ytes)h(and)f(LEN)h(will)390 4393 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f -(of)i(bits.)390 4520 y Fe(CHOICE:)j Fr(If)f(NAME)i(indicates)g(a)g(c)m +(ytes)h(and)f(LEN)h(will)390 4851 y(b)s(e)30 b(the)g(n)m(um)m(b)s(er)f +(of)i(bits.)390 4986 y Fe(CHOICE:)j Fs(If)f(NAME)i(indicates)g(a)g(c)m (hoice)h(t)m(yp)s(e,)f(V)-10 b(ALUE)34 b(will)h(sp)s(ecify)f(the)g -(alternativ)m(e)i(se-)390 4630 y(lected.)390 4757 y Fe(ANY:)h -Fr(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10 +(alternativ)m(e)i(se-)390 5096 y(lected.)390 5230 y Fe(ANY:)h +Fs(If)f(NAME)i(indicates)g(an)f(an)m(y)g(t)m(yp)s(e,)i(V)-10 b(ALUE)37 b(will)g(indicate)h(the)g(DER)f(enco)s(ding)g(of)390 -4867 y(the)31 b(structure)e(actually)j(used.)390 4994 -y Fe(Returns:)64 b Fk(ASN1_SUCCESS)38 b Fr(if)k(v)-5 -b(alue)42 b(is)g(returned,)i Fk(ASN1_ELEMENT_NOT_FOUND)36 -b Fr(if)42 b Fk(name)f Fr(is)390 5103 y(not)33 b(a)g(v)-5 -b(alid)34 b(elemen)m(t,)h Fk(ASN1_VALUE_NOT_FOUND)27 -b Fr(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 b(alue)34 -b(for)e(the)h(elemen)m(t)390 5213 y(selected,)28 b(and)d -Fk(ASN1_MEM_ERROR)c Fr(if)26 b(The)f(v)-5 b(alue)26 b(v)m(ector)h -(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390 -5322 y(and)k(in)g(this)g(case)i Fk(len)d Fr(will)i(con)m(tain)g(the)g -(n)m(um)m(b)s(er)e(of)i(b)m(ytes)f(needed.)p eop end +5340 y(the)31 b(structure)e(actually)j(used.)p eop end %%Page: 15 18 -TeXDict begin 15 17 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(15)150 299 y Fj(asn1)p -396 299 37 5 v 55 w(read)p 685 299 V 54 w(tag)3350 494 -y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_read_tag)d -Fh(\()p Fg(asn1)p 1303 494 28 4 v 40 w(no)s(de)30 b Ff(root)p -Fg(,)i(const)f(c)m(har)f(*)h Ff(name)p Fg(,)h(in)m(t)f(*)565 -604 y Ff(tagValue)p Fg(,)i(in)m(t)e(*)g Ff(classValue)p -Fh(\))390 714 y Fg(ro)s(ot)r Fr(:)41 b(p)s(oin)m(ter)30 -b(to)i(a)e(structure)390 847 y Fg(name)5 b Fr(:)41 b(the)30 -b(name)h(of)f(the)h(elemen)m(t)h(inside)e(a)h(structure.)390 -981 y Fg(tagV)-8 b(alue)5 b Fr(:)43 b(v)-5 b(ariable)31 -b(that)g(will)g(con)m(tain)h(the)e(T)-8 b(A)m(G)32 b(v)-5 -b(alue.)390 1115 y Fg(classV)d(alue)5 b Fr(:)43 b(v)-5 -b(ariable)31 b(that)g(will)g(sp)s(ecify)f(the)g(T)-8 -b(A)m(G)32 b(t)m(yp)s(e.)390 1249 y(Returns)40 b(the)h(T)-8 +TeXDict begin 15 17 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(15)390 299 y Fe(Returns:)64 +b Fl(ASN1_SUCCESS)38 b Fs(if)k(v)-5 b(alue)42 b(is)g(returned,)i +Fl(ASN1_ELEMENT_NOT_FOUND)36 b Fs(if)42 b Fl(name)f Fs(is)390 +408 y(not)33 b(a)g(v)-5 b(alid)34 b(elemen)m(t,)h Fl +(ASN1_VALUE_NOT_FOUND)27 b Fs(if)33 b(there)g(isn't)g(an)m(y)g(v)-5 +b(alue)34 b(for)e(the)h(elemen)m(t)390 518 y(selected,)28 +b(and)d Fl(ASN1_MEM_ERROR)c Fs(if)26 b(The)f(v)-5 b(alue)26 +b(v)m(ector)h(isn't)e(big)h(enough)f(to)h(store)g(the)g(result,)390 +628 y(and)32 b(in)g(this)h(case)g Fl(len)f Fs(will)h(con)m(tain)h(the)f +(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(needed.)47 b(On)32 +b(the)g(o)s(ccasion)i(that)390 737 y(the)28 b(stored)g(data)h(are)f(of) +h(zero-length)g(this)f(function)g(ma)m(y)g(return)f Fl(ASN1_SUCCESS)e +Fs(ev)m(en)k(if)f(the)390 847 y(pro)m(vided)i Fl(len)f +Fs(is)i(zero.)150 1051 y Fk(asn1)p 396 1051 37 5 v 55 +w(read)p 685 1051 V 54 w(tag)3350 1253 y Fs([F)-8 b(unction])-3599 +b Fj(int)53 b(asn1_read_tag)d Fi(\()p Fh(asn1)p 1321 +1253 30 5 v 44 w(no)s(de)34 b Fg(root)p Fh(,)g(const)g(c)m(har)g(*)f +Fg(name)p Fh(,)h(in)m(t)f(*)565 1362 y Fg(tagValue)p +Fh(,)i(in)m(t)f(*)f Fg(classValue)p Fi(\))390 1472 y +Ff(ro)s(ot)r Fs(:)41 b(p)s(oin)m(ter)30 b(to)i(a)e(structure)390 +1612 y Ff(name)5 b Fs(:)41 b(the)30 b(name)h(of)f(the)h(elemen)m(t)h +(inside)e(a)h(structure.)390 1751 y Ff(tagV)-8 b(alue)5 +b Fs(:)43 b(v)-5 b(ariable)31 b(that)g(will)g(con)m(tain)h(the)e(T)-8 +b(A)m(G)32 b(v)-5 b(alue.)390 1891 y Ff(classV)d(alue)5 +b Fs(:)43 b(v)-5 b(ariable)31 b(that)g(will)g(sp)s(ecify)f(the)g(T)-8 +b(A)m(G)32 b(t)m(yp)s(e.)390 2030 y(Returns)40 b(the)h(T)-8 b(A)m(G)41 b(and)f(the)h(CLASS)e(of)i(one)g(elemen)m(t)h(inside)e(a)h -(structure.)71 b(CLASS)40 b(can)390 1359 y(ha)m(v)m(e)e(one)g(of)f -(these)h(constan)m(ts:)56 b Fk(ASN1_CLASS_APPLICATION)31 -b Fr(,)39 b Fk(ASN1_CLASS_UNIVERSAL)32 b Fr(,)390 1468 -y Fk(ASN1_CLASS_PRIVATE)25 b Fr(or)31 b Fk(ASN1_CLASS_CONTEXT_SPEC)o -(IFIC)24 b Fr(.)390 1602 y Fe(Returns:)37 b Fk(ASN1_SUCCESS)21 -b Fr(if)k(successful,)g Fk(ASN1_ELEMENT_NOT_FOUND)18 -b Fr(if)25 b Fk(name)e Fr(is)h(not)h(a)g(v)-5 b(alid)390 -1712 y(elemen)m(t.)150 1910 y Fj(asn1)p 396 1910 37 5 -v 55 w(read)p 685 1910 V 54 w(no)s(de)p 995 1910 V 55 -w(v)e(alue)3350 2105 y Fr([F)f(unction])-3599 b Fi(int)53 -b(asn1_read_node_value)f Fh(\()p Fg(asn1)p 1669 2105 -28 4 v 40 w(no)s(de)30 b Ff(node)p Fg(,)i(asn1)p 2371 -2105 V 40 w(data)p 2587 2105 V 41 w(no)s(de)p 2818 2105 -V 39 w(st)f(*)565 2215 y Ff(data)p Fh(\))390 2324 y Fg(no)s(de)5 -b Fr(:)40 b(p)s(oin)m(ter)31 b(to)g(a)f(no)s(de.)390 -2458 y Fg(data)p Fr(:)41 b(a)31 b(p)s(oin)m(t)g(to)g(a)f(asn1)p -1315 2458 V 41 w(data)p 1532 2458 V 40 w(no)s(de)p 1762 -2458 V 40 w(st)390 2592 y(Returns)22 b(the)g(v)-5 b(alue)23 -b(a)g(data)h(no)s(de)d(inside)i(a)g(asn1)p 2084 2592 -V 40 w(no)s(de)f(structure.)37 b(The)22 b(data)i(returned)d(should)390 -2702 y(b)s(e)30 b(handled)f(as)i(constan)m(t)g(v)-5 b(alues.)390 -2836 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(if)k(the)f(no)s(de)g -(exists.)150 3067 y Fq(4.3)68 b(DER)46 b(functions)150 -3290 y Fj(asn1)p 396 3290 37 5 v 55 w(length)p 786 3290 -V 54 w(der)3350 3486 y Fr([F)-8 b(unction])-3599 b Fi(void)54 -b(asn1_length_der)c Fh(\()p Fg(unsigned)29 b(long)i(in)m(t)g -Ff(len)p Fg(,)g(unsigned)f(c)m(har)h(*)f Ff(der)p Fg(,)i(in)m(t)565 -3595 y(*)f Ff(der_len)p Fh(\))390 3705 y Fg(len)p Fr(:)41 -b(v)-5 b(alue)31 b(to)g(con)m(v)m(ert.)390 3839 y Fg(der)7 -b Fr(:)40 b(bu\013er)29 b(to)i(hold)f(the)h(returned)e(enco)s(ding)h -(\(ma)m(y)i(b)s(e)d Fk(NULL)h Fr(\).)390 3973 y Fg(der)p -523 3973 28 4 v 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29 -b(of)i(meaningful)f(b)m(ytes)h(of)g(ANS)f(\(der[0]..der[der)p -2791 3973 V 40 w(len-1]\).)390 4107 y(Creates)35 b(the)f(DER)h(enco)s -(ding)f(of)g(the)g(pro)m(vided)g(length)h(v)-5 b(alue.)52 -b(The)34 b Fk(der)f Fr(bu\013er)h(m)m(ust)g(ha)m(v)m(e)390 -4216 y(enough)27 b(ro)s(om)f(for)h(the)g(output.)40 b(The)26 -b(maxim)m(um)h(length)g(this)g(function)g(will)g(enco)s(de)g(is)g -Fk(ASN1_)390 4326 y(MAX_LENGTH_SIZE)f Fr(.)390 4460 y(T)-8 -b(o)31 b(kno)m(w)f(the)h(size)g(of)g(the)f(DER)h(enco)s(ding)f(use)g(a) -h Fk(NULL)e Fr(v)-5 b(alue)31 b(for)f Fk(der)f Fr(.)150 -4658 y Fj(asn1)p 396 4658 37 5 v 55 w(o)s(ctet)p 722 -4658 V 53 w(der)3350 4853 y Fr([F)-8 b(unction])-3599 -b Fi(void)54 b(asn1_octet_der)49 b Fh(\()p Fg(const)31 -b(unsigned)f(c)m(har)g(*)h Ff(str)p Fg(,)h(in)m(t)f Ff(str_len)p -Fg(,)565 4963 y(unsigned)e(c)m(har)i(*)g Ff(der)p Fg(,)g(in)m(t)g(*)g -Ff(der_len)p Fh(\))390 5072 y Fg(str)7 b Fr(:)40 b(the)31 -b(input)e(data.)390 5206 y Fg(str)p 503 5206 28 4 v 40 -w(len)p Fr(:)41 b(STR)29 b(length)i(\(str[0]..str[*str)p -1787 5206 V 42 w(len-1]\).)390 5340 y Fg(der)7 b Fr(:)40 -b(enco)s(ded)30 b(string)g(returned.)p eop end +(structure.)71 b(CLASS)40 b(can)390 2140 y(ha)m(v)m(e)e(one)g(of)f +(these)h(constan)m(ts:)56 b Fl(ASN1_CLASS_APPLICATION)31 +b Fs(,)39 b Fl(ASN1_CLASS_UNIVERSAL)32 b Fs(,)390 2249 +y Fl(ASN1_CLASS_PRIVATE)25 b Fs(or)31 b Fl(ASN1_CLASS_CONTEXT_SPEC)o +(IFIC)24 b Fs(.)390 2389 y Fe(Returns:)37 b Fl(ASN1_SUCCESS)21 +b Fs(if)k(successful,)g Fl(ASN1_ELEMENT_NOT_FOUND)18 +b Fs(if)25 b Fl(name)e Fs(is)h(not)h(a)g(v)-5 b(alid)390 +2498 y(elemen)m(t.)150 2703 y Fk(asn1)p 396 2703 37 5 +v 55 w(read)p 685 2703 V 54 w(no)s(de)p 995 2703 V 55 +w(v)e(alue)3350 2904 y Fs([F)f(unction])-3599 b Fj(int)53 +b(asn1_read_node_value)f Fi(\()p Fh(asn1)p 1687 2904 +30 5 v 44 w(no)s(de)34 b Fg(node)p Fh(,)g(asn1)p 2436 +2904 V 44 w(data)p 2674 2904 V 44 w(no)s(de)p 2925 2904 +V 44 w(st)f(*)565 3014 y Fg(data)p Fi(\))390 3124 y Ff(no)s(de)5 +b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(a)f(no)s(de.)390 +3263 y Ff(data)p Fs(:)41 b(a)31 b(p)s(oin)m(t)g(to)g(a)f(asn1)p +1315 3263 28 4 v 41 w(data)p 1532 3263 V 40 w(no)s(de)p +1762 3263 V 40 w(st)390 3403 y(Returns)22 b(the)g(v)-5 +b(alue)23 b(a)g(data)h(no)s(de)d(inside)i(a)g(asn1)p +2084 3403 V 40 w(no)s(de)f(structure.)37 b(The)22 b(data)i(returned)d +(should)390 3512 y(b)s(e)30 b(handled)f(as)i(constan)m(t)g(v)-5 +b(alues.)390 3652 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27 +b Fs(if)k(the)f(no)s(de)g(exists.)150 3900 y Fr(4.3)68 +b(DER)46 b(functions)150 4124 y Fk(asn1)p 396 4124 37 +5 v 55 w(length)p 786 4124 V 54 w(der)3350 4326 y Fs([F)-8 +b(unction])-3599 b Fj(void)54 b(asn1_length_der)c Fi(\()p +Fh(unsigned)35 b(long)d(in)m(t)i Fg(len)p Fh(,)f(unsigned)i(c)m(har)f +(*)f Fg(der)p Fh(,)565 4435 y(in)m(t)g(*)g Fg(der_len)p +Fi(\))390 4545 y Ff(len)p Fs(:)41 b(v)-5 b(alue)31 b(to)g(con)m(v)m +(ert.)390 4685 y Ff(der)7 b Fs(:)40 b(bu\013er)29 b(to)i(hold)f(the)h +(returned)e(enco)s(ding)h(\(ma)m(y)i(b)s(e)d Fl(NULL)h +Fs(\).)390 4824 y Ff(der)p 523 4824 28 4 v 40 w(len)p +Fs(:)40 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(b)m(ytes)h(of)g(ANS)f +(\(der[0]..der[der)p 2791 4824 V 40 w(len-1]\).)390 4964 +y(Creates)35 b(the)f(DER)h(enco)s(ding)f(of)g(the)g(pro)m(vided)g +(length)h(v)-5 b(alue.)52 b(The)34 b Fl(der)f Fs(bu\013er)h(m)m(ust)g +(ha)m(v)m(e)390 5073 y(enough)27 b(ro)s(om)f(for)h(the)g(output.)40 +b(The)26 b(maxim)m(um)h(length)g(this)g(function)g(will)g(enco)s(de)g +(is)g Fl(ASN1_)390 5183 y(MAX_LENGTH_SIZE)f Fs(.)390 +5322 y(T)-8 b(o)31 b(kno)m(w)f(the)h(size)g(of)g(the)f(DER)h(enco)s +(ding)f(use)g(a)h Fl(NULL)e Fs(v)-5 b(alue)31 b(for)f +Fl(der)f Fs(.)p eop end %%Page: 16 19 -TeXDict begin 16 18 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(16)390 299 y Fg(der)p -523 299 28 4 v 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29 +TeXDict begin 16 18 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(16)150 299 y Fk(asn1)p +396 299 37 5 v 55 w(o)s(ctet)p 722 299 V 53 w(der)3350 +500 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_octet_der)49 +b Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f Fg(str)p +Fh(,)h(in)m(t)f Fg(str_len)p Fh(,)565 609 y(unsigned)i(c)m(har)f(*)f +Fg(der)p Fh(,)g(in)m(t)h(*)f Fg(der_len)p Fi(\))390 719 +y Ff(str)7 b Fs(:)40 b(the)31 b(input)e(data.)390 858 +y Ff(str)p 503 858 28 4 v 40 w(len)p Fs(:)41 b(STR)29 +b(length)i(\(str[0]..str[*str)p 1787 858 V 42 w(len-1]\).)390 +996 y Ff(der)7 b Fs(:)40 b(enco)s(ded)30 b(string)g(returned.)390 +1135 y Ff(der)p 523 1135 V 40 w(len)p Fs(:)40 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(b)m(ytes)h(of)g(DER)f(\(der[0]..der[der)p -2802 299 V 41 w(len-1]\).)390 436 y(Creates)j(a)f(length-v)-5 +2802 1135 V 41 w(len-1]\).)390 1274 y(Creates)j(a)f(length-v)-5 b(alue)34 b(DER)e(enco)s(ding)g(for)g(the)g(input)f(data.)47 -b(The)31 b(DER)h(enco)s(ding)g(of)h(the)390 546 y(input)c(data)i(will)g -(b)s(e)f(placed)h(in)f(the)g Fk(der)g Fr(v)-5 b(ariable.)390 -683 y(Note)32 b(that)f(the)f(OCTET)f(STRING)h(tag)h(is)g(not)f -(included)g(in)g(the)h(output.)390 820 y(This)41 b(function)g(do)s(es)g -(not)h(return)e(an)m(y)i(v)-5 b(alue)42 b(b)s(ecause)f(it)i(is)e(exp)s -(ected)h(that)g Fk(der_len)e Fr(will)390 929 y(con)m(tain)30 +b(The)31 b(DER)h(enco)s(ding)g(of)h(the)390 1384 y(input)c(data)i(will) +g(b)s(e)f(placed)h(in)f(the)g Fl(der)g Fs(v)-5 b(ariable.)390 +1522 y(Note)32 b(that)f(the)f(OCTET)f(STRING)h(tag)h(is)g(not)f +(included)g(in)g(the)h(output.)390 1661 y(This)41 b(function)g(do)s(es) +g(not)h(return)e(an)m(y)i(v)-5 b(alue)42 b(b)s(ecause)f(it)i(is)e(exp)s +(ected)h(that)g Fl(der_len)e Fs(will)390 1771 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g(the)g(string)g(plus)e(the)i(DER)g -(enco)s(ding.)40 b(The)28 b(DER)h(enco)s(ding)390 1039 -y(size)i(can)g(b)s(e)f(obtained)g(using)g Fk(asn1_length_der\(\))c -Fr(.)150 1241 y Fj(asn1)p 396 1241 37 5 v 55 w(enco)s(de)p -818 1241 V 54 w(simple)p 1214 1241 V 55 w(der)3350 1440 -y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_encode_simple_de)q(r)e -Fh(\()p Fg(unsigned)30 b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned) -565 1550 y(c)m(har)g(*)f Ff(str)p Fg(,)i(unsigned)d(in)m(t)i -Ff(str_len)p Fg(,)h(unsigned)e(c)m(har)g(*)h Ff(tl)p -Fg(,)g(unsigned)e(in)m(t)i(*)g Ff(tl_len)p Fh(\))390 -1659 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h -(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 1659 -28 4 v 41 w(ETYPE)p 2805 1659 V 39 w(\))390 1796 y Fg(str)7 -b Fr(:)40 b(the)31 b(string)f(data.)390 1934 y Fg(str)p -503 1934 V 40 w(len)p Fr(:)41 b(the)30 b(string)h(length)390 -2071 y Fg(tl)t Fr(:)41 b(the)30 b(enco)s(ded)g(tag)i(and)e(length)390 -2208 y Fg(tl)p 456 2208 V 41 w(len)p Fr(:)40 b(the)31 -b(b)m(ytes)g(of)f(the)h Fk(tl)f Fr(\014eld)390 2345 y(Creates)j(the)g +(enco)s(ding.)40 b(The)28 b(DER)h(enco)s(ding)390 1880 +y(size)i(can)g(b)s(e)f(obtained)g(using)g Fl(asn1_length_der\(\))c +Fs(.)150 2084 y Fk(asn1)p 396 2084 37 5 v 55 w(enco)s(de)p +818 2084 V 54 w(simple)p 1214 2084 V 55 w(der)3350 2285 +y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_encode_simple_de)q(r)e +Fi(\()p Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned) +565 2394 y(c)m(har)g(*)f Fg(str)p Fh(,)h(unsigned)g(in)m(t)g +Fg(str_len)p Fh(,)h(unsigned)f(c)m(har)g(*)f Fg(tl)p +Fh(,)h(unsigned)g(in)m(t)g(*)565 2504 y Fg(tl_len)p Fi(\))390 +2613 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h +(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 2613 +28 4 v 41 w(ETYPE)p 2805 2613 V 39 w(\))390 2752 y Ff(str)7 +b Fs(:)40 b(the)31 b(string)f(data.)390 2891 y Ff(str)p +503 2891 V 40 w(len)p Fs(:)41 b(the)30 b(string)h(length)390 +3030 y Ff(tl)t Fs(:)41 b(the)30 b(enco)s(ded)g(tag)i(and)e(length)390 +3168 y Ff(tl)p 456 3168 V 41 w(len)p Fs(:)40 b(the)31 +b(b)m(ytes)g(of)f(the)h Fl(tl)f Fs(\014eld)390 3307 y(Creates)j(the)g (DER)g(enco)s(ding)f(for)h(v)-5 b(arious)32 b(simple)h(ASN.1)g(t)m(yp)s (es)f(lik)m(e)i(strings)e(etc.)49 b(It)32 b(stores)390 -2454 y(the)k(tag)h(and)e(length)h(in)g Fk(tl)f Fr(,)i(whic)m(h)f -(should)f(ha)m(v)m(e)i(space)f(for)g(at)g(least)h Fk(ASN1_MAX_TL_SIZE) -390 2564 y Fr(b)m(ytes.)k(Initially)32 b Fk(tl_len)c -Fr(should)i(con)m(tain)h(the)g(size)g(of)g Fk(tl)e Fr(.)390 -2701 y(The)39 b(complete)i(DER)f(enco)s(ding)g(should)e(consist)i(of)g -(the)g(v)-5 b(alue)40 b(in)g Fk(tl)f Fr(app)s(ended)e(with)j(the)390 -2811 y(pro)m(vided)30 b Fk(str)f Fr(.)390 2948 y Fe(Returns:)40 -b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful)f(or)g(an)g(error)g(v)-5 -b(alue.)150 3150 y Fj(asn1)p 396 3150 37 5 v 55 w(bit)p -601 3150 V 54 w(der)3350 3349 y Fr([F)d(unction])-3599 -b Fi(void)54 b(asn1_bit_der)49 b Fh(\()p Fg(const)31 -b(unsigned)e(c)m(har)i(*)g Ff(str)p Fg(,)g(in)m(t)g Ff(bit_len)p -Fg(,)i(unsigned)565 3459 y(c)m(har)e(*)g Ff(der)p Fg(,)g(in)m(t)g(*)g -Ff(der_len)p Fh(\))390 3568 y Fg(str)7 b Fr(:)40 b(BIT)30 -b(string.)390 3705 y Fg(bit)p 507 3705 28 4 v 40 w(len)p -Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(bits)g(in)g(STR.)390 -3842 y Fg(der)7 b Fr(:)40 b(string)30 b(returned.)390 -3980 y Fg(der)p 523 3980 V 40 w(len)p Fr(:)40 b(n)m(um)m(b)s(er)29 +3417 y(the)k(tag)h(and)e(length)h(in)g Fl(tl)f Fs(,)i(whic)m(h)f +(should)f(ha)m(v)m(e)i(space)f(for)g(at)g(least)h Fl(ASN1_MAX_TL_SIZE) +390 3526 y Fs(b)m(ytes.)k(Initially)32 b Fl(tl_len)c +Fs(should)i(con)m(tain)h(the)g(size)g(of)g Fl(tl)e Fs(.)390 +3665 y(The)39 b(complete)i(DER)f(enco)s(ding)g(should)e(consist)i(of)g +(the)g(v)-5 b(alue)40 b(in)g Fl(tl)f Fs(app)s(ended)e(with)j(the)390 +3774 y(pro)m(vided)30 b Fl(str)f Fs(.)390 3913 y Fe(Returns:)40 +b Fl(ASN1_SUCCESS)27 b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 +b(alue.)150 4117 y Fk(asn1)p 396 4117 37 5 v 55 w(bit)p +601 4117 V 54 w(der)3350 4318 y Fs([F)d(unction])-3599 +b Fj(void)54 b(asn1_bit_der)49 b Fi(\()p Fh(const)34 +b(unsigned)g(c)m(har)g(*)f Fg(str)p Fh(,)h(in)m(t)f Fg(bit_len)p +Fh(,)565 4427 y(unsigned)i(c)m(har)f(*)f Fg(der)p Fh(,)g(in)m(t)h(*)f +Fg(der_len)p Fi(\))390 4537 y Ff(str)7 b Fs(:)40 b(BIT)30 +b(string.)390 4676 y Ff(bit)p 507 4676 28 4 v 40 w(len)p +Fs(:)41 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(bits)g(in)g(STR.)390 +4814 y Ff(der)7 b Fs(:)40 b(string)30 b(returned.)390 +4953 y Ff(der)p 523 4953 V 40 w(len)p Fs(:)40 b(n)m(um)m(b)s(er)29 b(of)i(meaningful)f(b)m(ytes)h(of)g(DER)f(\(der[0]..der[ans)p -2807 3980 V 41 w(len-1]\).)390 4117 y(Creates)i(a)f(length-v)-5 +2807 4953 V 41 w(len-1]\).)390 5092 y(Creates)i(a)f(length-v)-5 b(alue)33 b(DER)e(enco)s(ding)g(for)g(the)g(input)f(data)i(as)f(it)h(w) -m(ould)f(ha)m(v)m(e)h(b)s(een)f(for)g(a)390 4226 y(BIT)f(STRING.)g(The) +m(ould)f(ha)m(v)m(e)h(b)s(een)f(for)g(a)390 5201 y(BIT)f(STRING.)g(The) g(DER)h(enco)s(ded)f(data)h(will)f(b)s(e)g(copied)h(in)f -Fk(der)f Fr(.)390 4363 y(Note)j(that)f(the)f(BIT)g(STRING)g(tag)i(is)e -(not)h(included)e(in)h(the)h(output.)390 4500 y(This)41 -b(function)g(do)s(es)g(not)h(return)e(an)m(y)i(v)-5 b(alue)42 -b(b)s(ecause)f(it)i(is)e(exp)s(ected)h(that)g Fk(der_len)e -Fr(will)390 4610 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g -(the)g(string)g(plus)e(the)i(DER)g(enco)s(ding.)40 b(The)28 -b(DER)h(enco)s(ding)390 4720 y(size)i(can)g(b)s(e)f(obtained)g(using)g -Fk(asn1_length_der\(\))c Fr(.)150 4921 y Fj(asn1)p 396 -4921 37 5 v 55 w(der)p 625 4921 V 54 w(co)s(ding)3350 -5121 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_coding)d -Fh(\()p Fg(asn1)p 1407 5121 28 4 v 41 w(no)s(de)30 b -Ff(element)p Fg(,)i(const)f(c)m(har)g(*)g Ff(name)p Fg(,)g(v)m(oid)g(*) -565 5230 y Ff(ider)p Fg(,)h(in)m(t)f(*)g Ff(len)p Fg(,)g(c)m(har)g(*)f -Ff(ErrorDescription)p Fh(\))390 5340 y Fg(elemen)m(t)r -Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(elemen)m(t)p -eop end +Fl(der)f Fs(.)390 5340 y(Note)j(that)f(the)f(BIT)g(STRING)g(tag)i(is)e +(not)h(included)e(in)h(the)h(output.)p eop end %%Page: 17 20 -TeXDict begin 17 19 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(17)390 299 y Fg(name)5 -b Fr(:)39 b(the)27 b(name)h(of)f(the)g(structure)g(y)m(ou)g(w)m(an)m(t) -h(to)g(enco)s(de)f(\(it)h(m)m(ust)f(b)s(e)f(inside)h(*POINTER\).)390 -440 y Fg(ider)7 b Fr(:)39 b(v)m(ector)30 b(that)f(will)f(con)m(tain)i -(the)e(DER)h(enco)s(ding.)40 b(DER)28 b(m)m(ust)g(b)s(e)g(a)h(p)s(oin)m -(ter)f(to)h(memory)390 549 y(cells)i(already)g(allo)s(cated.)390 -690 y Fg(len)p Fr(:)49 b(n)m(um)m(b)s(er)33 b(of)h(b)m(ytes)h(of)g(*)g -Fk(ider)e Fr(:)48 b Fk(ider)34 b Fr([0]..)54 b Fk(ider)33 -b Fr([len-1],)k(Initialy)e(holds)f(the)g(sizeof)i(of)390 -799 y(der)30 b(v)m(ector.)390 940 y Fg(ErrorDescription)p -Fr(:)41 b(return)29 b(the)i(error)f(description)g(or)g(an)h(empt)m(y)f -(string)h(if)f(success.)390 1081 y(Creates)h(the)g(DER)f(enco)s(ding)g +TeXDict begin 17 19 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(17)390 299 y(This)41 +b(function)g(do)s(es)g(not)h(return)e(an)m(y)i(v)-5 b(alue)42 +b(b)s(ecause)f(it)i(is)e(exp)s(ected)h(that)g Fl(der_len)e +Fs(will)390 408 y(con)m(tain)30 b(enough)e(b)m(ytes)i(to)f(store)g(the) +g(string)g(plus)e(the)i(DER)g(enco)s(ding.)40 b(The)28 +b(DER)h(enco)s(ding)390 518 y(size)i(can)g(b)s(e)f(obtained)g(using)g +Fl(asn1_length_der\(\))c Fs(.)150 719 y Fk(asn1)p 396 +719 37 5 v 55 w(der)p 625 719 V 54 w(co)s(ding)3350 918 +y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_coding)d +Fi(\()p Fh(asn1)p 1425 918 30 5 v 45 w(no)s(de)33 b Fg(element)p +Fh(,)i(const)f(c)m(har)g(*)f Fg(name)p Fh(,)h(v)m(oid)565 +1027 y(*)f Fg(ider)p Fh(,)h(in)m(t)f(*)g Fg(len)p Fh(,)h(c)m(har)g(*)f +Fg(ErrorDescription)p Fi(\))390 1137 y Ff(elemen)m(t)r +Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(elemen)m(t)390 +1273 y Ff(name)5 b Fs(:)39 b(the)27 b(name)h(of)f(the)g(structure)g(y)m +(ou)g(w)m(an)m(t)h(to)g(enco)s(de)f(\(it)h(m)m(ust)f(b)s(e)f(inside)h +(*POINTER\).)390 1409 y Ff(ider)7 b Fs(:)39 b(v)m(ector)30 +b(that)f(will)f(con)m(tain)i(the)e(DER)h(enco)s(ding.)40 +b(DER)28 b(m)m(ust)g(b)s(e)g(a)h(p)s(oin)m(ter)f(to)h(memory)390 +1519 y(cells)i(already)g(allo)s(cated.)390 1655 y Ff(len)p +Fs(:)49 b(n)m(um)m(b)s(er)33 b(of)h(b)m(ytes)h(of)g(*)g +Fl(ider)e Fs(:)48 b Fl(ider)34 b Fs([0]..)54 b Fl(ider)33 +b Fs([len-1],)k(Initialy)e(holds)f(the)g(sizeof)i(of)390 +1765 y(der)30 b(v)m(ector.)390 1901 y Ff(ErrorDescription)p +Fs(:)41 b(return)29 b(the)i(error)f(description)g(or)g(an)h(empt)m(y)f +(string)h(if)f(success.)390 2038 y(Creates)h(the)g(DER)f(enco)s(ding)g (for)h(the)f(NAME)h(structure)f(\(inside)g(*POINTER)g(structure\).)390 -1221 y Fe(Returns:)47 b Fk(ASN1_SUCCESS)30 b Fr(if)k(DER)g(enco)s(ding) -f(OK,)g Fk(ASN1_ELEMENT_NOT_FOUND)28 b Fr(if)33 b Fk(name)g -Fr(is)390 1331 y(not)h(a)g(v)-5 b(alid)35 b(elemen)m(t,)h -Fk(ASN1_VALUE_NOT_FOUND)29 b Fr(if)34 b(there)g(is)g(an)g(elemen)m(t)h -(without)f(a)g(v)-5 b(alue,)390 1441 y Fk(ASN1_MEM_ERROR)24 -b Fr(if)29 b(the)f Fk(ider)g Fr(v)m(ector)i(isn't)e(big)h(enough)f(and) -g(in)g(this)g(case)h Fk(len)f Fr(will)h(con)m(tain)390 -1550 y(the)i(length)f(needed.)150 1756 y Fj(asn1)p 396 -1756 37 5 v 55 w(get)p 616 1756 V 54 w(length)p 1005 -1756 V 54 w(der)3350 1959 y Fr([F)-8 b(unction])-3599 -b Fi(long)54 b(asn1_get_length_der)d Fh(\()p Fg(const)31 -b(unsigned)e(c)m(har)i(*)g Ff(der)p Fg(,)g(in)m(t)g Ff(der_len)p -Fg(,)565 2068 y(in)m(t)g(*)g Ff(len)p Fh(\))390 2178 -y Fg(der)7 b Fr(:)40 b(DER)30 b(data)h(to)g(deco)s(de.)390 -2318 y Fg(der)p 523 2318 28 4 v 40 w(len)p Fr(:)40 b(Length)31 -b(of)f(DER)h(data)g(to)g(deco)s(de.)390 2459 y Fg(len)p -Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length) -f(of)h(the)g(DER)f(length)h(\014eld.)390 2600 y(Extract)g(a)g(length)g -(\014eld)f(from)g(DER)g(data.)390 2740 y Fe(Returns:)40 -b Fr(Return)29 b(the)h(deco)s(ded)f(length)h(v)-5 b(alue,)30 +2174 y Fe(Returns:)47 b Fl(ASN1_SUCCESS)30 b Fs(if)k(DER)g(enco)s(ding) +f(OK,)g Fl(ASN1_ELEMENT_NOT_FOUND)28 b Fs(if)33 b Fl(name)g +Fs(is)390 2283 y(not)h(a)g(v)-5 b(alid)35 b(elemen)m(t,)h +Fl(ASN1_VALUE_NOT_FOUND)29 b Fs(if)34 b(there)g(is)g(an)g(elemen)m(t)h +(without)f(a)g(v)-5 b(alue,)390 2393 y Fl(ASN1_MEM_ERROR)24 +b Fs(if)29 b(the)f Fl(ider)g Fs(v)m(ector)i(isn't)e(big)h(enough)f(and) +g(in)g(this)g(case)h Fl(len)f Fs(will)h(con)m(tain)390 +2503 y(the)i(length)f(needed.)150 2704 y Fk(asn1)p 396 +2704 37 5 v 55 w(get)p 616 2704 V 54 w(length)p 1005 +2704 V 54 w(der)3350 2902 y Fs([F)-8 b(unction])-3599 +b Fj(long)54 b(asn1_get_length_der)d Fi(\()p Fh(const)34 +b(unsigned)g(c)m(har)g(*)f Fg(der)p Fh(,)h(in)m(t)565 +3012 y Fg(der_len)p Fh(,)h(in)m(t)e(*)g Fg(len)p Fi(\))390 +3121 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de.)390 +3258 y Ff(der)p 523 3258 28 4 v 40 w(len)p Fs(:)40 b(Length)31 +b(of)f(DER)h(data)g(to)g(deco)s(de.)390 3394 y Ff(len)p +Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length) +f(of)h(the)g(DER)f(length)h(\014eld.)390 3530 y(Extract)g(a)g(length)g +(\014eld)f(from)g(DER)g(data.)390 3667 y Fe(Returns:)40 +b Fs(Return)29 b(the)h(deco)s(ded)f(length)h(v)-5 b(alue,)30 b(or)g(-1)g(on)g(inde\014nite)f(length,)h(or)g(-2)g(when)f(the)390 -2850 y(v)-5 b(alue)30 b(w)m(as)h(to)s(o)f(big)g(to)h(\014t)e(in)h(a)g +3776 y(v)-5 b(alue)30 b(w)m(as)h(to)s(o)f(big)g(to)h(\014t)e(in)h(a)g (in)m(t,)h(or)f(-4)g(when)f(the)h(deco)s(ded)g(length)g(v)-5 -b(alue)30 b(plus)f Fk(len)g Fr(w)m(ould)390 2960 y(exceed)i -Fk(der_len)e Fr(.)150 3165 y Fj(asn1)p 396 3165 37 5 -v 55 w(get)p 616 3165 V 54 w(tag)p 839 3165 V 53 w(der)3350 -3368 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_get_tag_der)e -Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(der)p -Fg(,)g(in)m(t)g Ff(der_len)p Fg(,)565 3478 y(unsigned)e(c)m(har)i(*)g -Ff(cls)p Fg(,)g(in)m(t)g(*)g Ff(len)p Fg(,)g(unsigned)f(long)h(*)g -Ff(tag)p Fh(\))390 3587 y Fg(der)7 b Fr(:)40 b(DER)30 -b(data)h(to)g(deco)s(de.)390 3728 y Fg(der)p 523 3728 -28 4 v 40 w(len)p Fr(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g(deco)s -(de.)390 3868 y Fg(cls)t Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 -b(con)m(taining)h(deco)s(ded)e(class.)390 4009 y Fg(len)p -Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length) -f(of)h(the)g(DER)f(T)-8 b(A)m(G)31 b(data.)390 4150 y -Fg(tag)8 b Fr(:)42 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h -(the)f(deco)s(ded)f(tag.)390 4290 y(Deco)s(de)h(the)g(class)g(and)f(T) --8 b(A)m(G)31 b(from)f(DER)h(co)s(de.)390 4431 y Fe(Returns:)40 -b Fr(Returns)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success,)h(or)f(an)h -(error.)150 4637 y Fj(asn1)p 396 4637 37 5 v 55 w(get)p -616 4637 V 54 w(length)p 1005 4637 V 54 w(b)s(er)3350 -4839 y Fr([F)-8 b(unction])-3599 b Fi(long)54 b(asn1_get_length_ber)d -Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(ber)p -Fg(,)g(in)m(t)g Ff(ber_len)p Fg(,)565 4949 y(in)m(t)g(*)g -Ff(len)p Fh(\))390 5059 y Fg(b)s(er)7 b Fr(:)39 b(BER)31 -b(data)g(to)g(deco)s(de.)390 5199 y Fg(b)s(er)p 526 5199 -28 4 v 39 w(len)p Fr(:)41 b(Length)30 b(of)h(BER)f(data)h(to)g(deco)s -(de.)390 5340 y Fg(len)p Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 -b(con)m(taining)h(the)f(length)f(of)h(the)g(BER)f(length)h(\014eld.)p -eop end +b(alue)30 b(plus)f Fl(len)g Fs(w)m(ould)390 3886 y(exceed)i +Fl(der_len)e Fs(.)150 4087 y Fk(asn1)p 396 4087 37 5 +v 55 w(get)p 616 4087 V 54 w(tag)p 839 4087 V 53 w(der)3350 +4285 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_get_tag_der)e +Fi(\()p Fh(const)34 b(unsigned)g(c)m(har)g(*)f Fg(der)p +Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)565 4395 y(unsigned)i(c)m(har)f(*)f +Fg(cls)p Fh(,)g(in)m(t)h(*)f Fg(len)p Fh(,)h(unsigned)g(long)f(*)g +Fg(tag)p Fi(\))390 4505 y Ff(der)7 b Fs(:)40 b(DER)30 +b(data)h(to)g(deco)s(de.)390 4641 y Ff(der)p 523 4641 +28 4 v 40 w(len)p Fs(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g(deco)s +(de.)390 4777 y Ff(cls)t Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 +b(con)m(taining)h(deco)s(ded)e(class.)390 4913 y Ff(len)p +Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length) +f(of)h(the)g(DER)f(T)-8 b(A)m(G)31 b(data.)390 5050 y +Ff(tag)8 b Fs(:)42 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h +(the)f(deco)s(ded)f(tag)h(\(ma)m(y)g(b)s(e)f Fl(NULL)f +Fs(\).)390 5186 y(Deco)s(de)i(the)g(class)g(and)f(T)-8 +b(A)m(G)31 b(from)f(DER)h(co)s(de.)390 5322 y Fe(Returns:)40 +b Fs(Returns)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success,)h(or)f(an)h +(error.)p eop end %%Page: 18 21 -TeXDict begin 18 20 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(18)390 299 y(Extract)31 -b(a)g(length)f(\014eld)g(from)g(BER)g(data.)41 b(The)30 -b(di\013erence)h(to)g Fk(asn1_get_length_der\(\))24 b -Fr(is)390 408 y(that)31 b(this)f(function)g(will)h(return)e(a)i(length) -g(ev)m(en)g(if)f(the)h(v)-5 b(alue)31 b(has)f(inde\014nite)g(enco)s -(ding.)390 537 y Fe(Returns:)40 b Fr(Return)27 b(the)i(deco)s(ded)g -(length)g(v)-5 b(alue,)30 b(or)e(negativ)m(e)j(v)-5 b(alue)29 -b(when)f(the)h(v)-5 b(alue)29 b(w)m(as)g(to)s(o)390 646 -y(big.)390 774 y Fe(Since:)41 b Fr(2.0)150 960 y Fj(asn1)p -396 960 37 5 v 55 w(get)p 616 960 V 54 w(o)s(ctet)p 941 -960 V 53 w(der)3350 1144 y Fr([F)-8 b(unction])-3599 -b Fi(int)53 b(asn1_get_octet_der)e Fh(\()p Fg(const)31 -b(unsigned)f(c)m(har)g(*)h Ff(der)p Fg(,)h(in)m(t)f Ff(der_len)p -Fg(,)h(in)m(t)565 1254 y(*)f Ff(ret_len)p Fg(,)i(unsigned)c(c)m(har)i -(*)f Ff(str)p Fg(,)i(in)m(t)f Ff(str_size)p Fg(,)i(in)m(t)e(*)f -Ff(str_len)p Fh(\))390 1364 y Fg(der)7 b Fr(:)40 b(DER)30 -b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(OCTET)f(SEQUENCE.)390 -1492 y Fg(der)p 523 1492 28 4 v 40 w(len)p Fr(:)40 b(The)30 -b(length)h(of)g(the)f Fk(der)g Fr(data)h(to)g(deco)s(de.)390 -1620 y Fg(ret)p 507 1620 V 40 w(len)p Fr(:)41 b(Output)29 -b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(enco)s(ded)f(length)h(of)f -(the)h(DER)f(data.)390 1748 y Fg(str)7 b Fr(:)40 b(Pre-allo)s(cated)33 -b(output)d(bu\013er)f(to)i(put)f(deco)s(ded)g(OCTET)f(SEQUENCE)g(in.) -390 1876 y Fg(str)p 503 1876 V 40 w(size)5 b Fr(:)41 -b(Length)31 b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 -2004 y Fg(str)p 503 2004 V 40 w(len)p Fr(:)57 b(Output)38 +TeXDict begin 18 20 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(18)150 299 y Fk(asn1)p +396 299 37 5 v 55 w(get)p 616 299 V 54 w(length)p 1005 +299 V 54 w(b)s(er)3350 513 y Fs([F)-8 b(unction])-3599 +b Fj(long)54 b(asn1_get_length_ber)d Fi(\()p Fh(const)34 +b(unsigned)g(c)m(har)g(*)f Fg(ber)p Fh(,)h(in)m(t)565 +623 y Fg(ber_len)p Fh(,)h(in)m(t)e(*)g Fg(len)p Fi(\))390 +733 y Ff(b)s(er)7 b Fs(:)39 b(BER)31 b(data)g(to)g(deco)s(de.)390 +885 y Ff(b)s(er)p 526 885 28 4 v 39 w(len)p Fs(:)41 b(Length)30 +b(of)h(BER)f(data)h(to)g(deco)s(de.)390 1037 y Ff(len)p +Fs(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(length) +f(of)h(the)g(BER)f(length)h(\014eld.)390 1189 y(Extract)g(a)g(length)f +(\014eld)g(from)g(BER)g(data.)41 b(The)30 b(di\013erence)h(to)g +Fl(asn1_get_length_der\(\))24 b Fs(is)390 1299 y(that)31 +b(this)f(function)g(will)h(return)e(a)i(length)g(ev)m(en)g(if)f(the)h +(v)-5 b(alue)31 b(has)f(inde\014nite)g(enco)s(ding.)390 +1451 y Fe(Returns:)40 b Fs(Return)27 b(the)i(deco)s(ded)g(length)g(v)-5 +b(alue,)30 b(or)e(negativ)m(e)j(v)-5 b(alue)29 b(when)f(the)h(v)-5 +b(alue)29 b(w)m(as)g(to)s(o)390 1561 y(big.)390 1713 +y Fe(Since:)41 b Fs(2.0)150 1930 y Fk(asn1)p 396 1930 +37 5 v 55 w(get)p 616 1930 V 54 w(o)s(ctet)p 941 1930 +V 53 w(der)3350 2144 y Fs([F)-8 b(unction])-3599 b Fj(int)53 +b(asn1_get_octet_der)e Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f +Fg(der)p Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)565 2254 y(in)m(t)g(*)g +Fg(ret_len)p Fh(,)i(unsigned)g(c)m(har)f(*)f Fg(str)p +Fh(,)h(in)m(t)f Fg(str_size)p Fh(,)i(in)m(t)e(*)g Fg(str_len)p +Fi(\))390 2364 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g +(con)m(taining)h(the)e(OCTET)f(SEQUENCE.)390 2516 y Ff(der)p +523 2516 28 4 v 40 w(len)p Fs(:)40 b(The)30 b(length)h(of)g(the)f +Fl(der)g Fs(data)h(to)g(deco)s(de.)390 2668 y Ff(ret)p +507 2668 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32 +b(con)m(taining)f(the)g(enco)s(ded)f(length)h(of)f(the)h(DER)f(data.) +390 2820 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d +(bu\013er)f(to)i(put)f(deco)s(ded)g(OCTET)f(SEQUENCE)g(in.)390 +2973 y Ff(str)p 503 2973 V 40 w(size)5 b Fs(:)41 b(Length)31 +b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 3125 +y Ff(str)p 503 3125 V 40 w(len)p Fs(:)57 b(Output)38 b(v)-5 b(ariable)40 b(con)m(taining)g(the)f(length)g(of)g(the)g(con)m -(ten)m(ts)h(of)f(the)g(OCTET)e(SE-)390 2113 y(QUENCE.)390 -2241 y(Extract)g(an)f(OCTET)e(SEQUENCE)h(from)h(DER)g(data.)58 -b(Note)37 b(that)g(this)f(function)g(exp)s(ects)390 2351 +(ten)m(ts)h(of)f(the)g(OCTET)e(SE-)390 3234 y(QUENCE.)390 +3387 y(Extract)g(an)f(OCTET)e(SEQUENCE)h(from)h(DER)g(data.)58 +b(Note)37 b(that)g(this)f(function)g(exp)s(ects)390 3496 y(the)31 b(DER)f(data)h(past)g(the)f(tag)i(\014eld,)e(i.e.,)i(the)e -(length)h(and)f(con)m(ten)m(t)i(o)s(ctets.)390 2479 y -Fe(Returns:)40 b Fr(Returns)30 b Fk(ASN1_SUCCESS)d Fr(on)j(success,)h -(or)f(an)h(error.)150 2665 y Fj(asn1)p 396 2665 37 5 -v 55 w(get)p 616 2665 V 54 w(ob)7 b(ject)p 1002 2665 -V 54 w(id)p 1158 2665 V 54 w(der)3350 2849 y Fr([F)-8 -b(unction])-3599 b Fi(int)53 b(asn1_get_object_id_de)q(r)e -Fh(\()p Fg(const)32 b(unsigned)d(c)m(har)i(*)f Ff(der)p -Fg(,)i(in)m(t)565 2959 y Ff(der_len)p Fg(,)h(in)m(t)e(*)f -Ff(ret_len)p Fg(,)j(c)m(har)e(*)g Ff(str)p Fg(,)g(in)m(t)g -Ff(str_size)p Fh(\))390 3068 y Fg(der)7 b Fr(:)40 b(DER)30 +(length)h(and)f(con)m(ten)m(t)i(o)s(ctets.)390 3649 y +Fe(Returns:)40 b Fs(Returns)30 b Fl(ASN1_SUCCESS)d Fs(on)j(success,)h +(or)f(an)h(error.)150 3866 y Fk(asn1)p 396 3866 37 5 +v 55 w(get)p 616 3866 V 54 w(ob)7 b(ject)p 1002 3866 +V 54 w(id)p 1158 3866 V 54 w(der)3350 4080 y Fs([F)-8 +b(unction])-3599 b Fj(int)53 b(asn1_get_object_id_de)q(r)e +Fi(\()p Fh(const)34 b(unsigned)h(c)m(har)f(*)f Fg(der)p +Fh(,)h(in)m(t)565 4190 y Fg(der_len)p Fh(,)h(in)m(t)e(*)g +Fg(ret_len)p Fh(,)i(c)m(har)f(*)f Fg(str)p Fh(,)h(in)m(t)f +Fg(str_size)p Fi(\))390 4299 y Ff(der)7 b Fs(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(OBJECT)g(IDENTIFIER)390 -3196 y Fg(der)p 523 3196 28 4 v 40 w(len)p Fr(:)40 b(Length)31 -b(of)f(DER)h(data)g(to)g(deco)s(de.)390 3324 y Fg(ret)p -507 3324 V 40 w(len)p Fr(:)41 b(Output)29 b(v)-5 b(ariable)32 +4451 y Ff(der)p 523 4451 28 4 v 40 w(len)p Fs(:)40 b(Length)31 +b(of)f(DER)h(data)g(to)g(deco)s(de.)390 4604 y Ff(ret)p +507 4604 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(length)g(of)f(the)h(DER)f(data.)390 -3452 y Fg(str)7 b Fr(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f +4756 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f (to)i(put)f(the)g(textual)i(ob)5 b(ject)31 b(id)f(in.)390 -3581 y Fg(str)p 503 3581 V 40 w(size)5 b Fr(:)41 b(Length)31 -b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 3709 -y(Con)m(v)m(erts)h(a)g(DER)f(enco)s(ded)g(ob)5 b(ject)32 -b(iden)m(ti\014er)e(to)h(its)g(textual)h(form.)390 3837 -y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(on)k(success,)g(or)f(an)g -(error.)150 4023 y Fj(asn1)p 396 4023 37 5 v 55 w(get)p -616 4023 V 54 w(bit)p 820 4023 V 54 w(der)3350 4207 y -Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_get_bit_der)e -Fh(\()p Fg(const)31 b(unsigned)e(c)m(har)i(*)g Ff(der)p -Fg(,)g(in)m(t)g Ff(der_len)p Fg(,)i(in)m(t)d(*)565 4316 -y Ff(ret_len)p Fg(,)j(unsigned)c(c)m(har)i(*)g Ff(str)p -Fg(,)g(in)m(t)g Ff(str_size)p Fg(,)i(in)m(t)e(*)g Ff(bit_len)p -Fh(\))390 4426 y Fg(der)7 b Fr(:)40 b(DER)30 b(data)h(to)g(deco)s(de)g -(con)m(taining)h(the)e(BIT)h(SEQUENCE.)390 4554 y Fg(der)p -523 4554 28 4 v 40 w(len)p Fr(:)40 b(Length)31 b(of)f(DER)h(data)g(to)g -(deco)s(de.)390 4682 y Fg(ret)p 507 4682 V 40 w(len)p -Fr(:)41 b(Output)29 b(v)-5 b(ariable)32 b(con)m(taining)f(the)g(length) -g(of)f(the)h(DER)f(data.)390 4810 y Fg(str)7 b Fr(:)40 -b(Pre-allo)s(cated)33 b(output)d(bu\013er)f(to)i(put)f(deco)s(ded)g -(BIT)g(SEQUENCE)f(in.)390 4938 y Fg(str)p 503 4938 V -40 w(size)5 b Fr(:)41 b(Length)31 b(of)f(pre-allo)s(cated)j(output)d -(bu\013er.)390 5066 y Fg(bit)p 507 5066 V 40 w(len)p -Fr(:)41 b(Output)29 b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(size)g -(of)g(the)f(BIT)g(SEQUENCE.)390 5194 y(Extract)h(a)g(BIT)f(SEQUENCE)f -(from)h(DER)h(data.)390 5322 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 -b Fr(on)k(success,)g(or)f(an)g(error.)p eop end +4908 y Ff(str)p 503 4908 V 40 w(size)5 b Fs(:)41 b(Length)31 +b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 5060 +y(Con)m(v)m(erts)i(a)f(DER)h(enco)s(ded)e(ob)5 b(ject)32 +b(iden)m(ti\014er)f(to)h(its)g(textual)g(form.)42 b(This)31 +b(function)g(exp)s(ects)390 5170 y(the)g(DER)f(ob)5 b(ject)31 +b(iden)m(ti\014er)g(without)f(the)h(tag.)390 5322 y Fe(Returns:)40 +b Fl(ASN1_SUCCESS)27 b Fs(on)k(success,)g(or)f(an)g(error.)p +eop end %%Page: 19 22 -TeXDict begin 19 21 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(19)150 299 y Fj(asn1)p -396 299 37 5 v 55 w(der)p 625 299 V 54 w(deco)s(ding2)3350 -497 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding2)e -Fh(\()p Fg(asn1)p 1564 497 28 4 v 41 w(no)s(de)29 b(*)i -Ff(element)p Fg(,)i(const)e(v)m(oid)g(*)f Ff(ider)p Fg(,)i(in)m(t)565 -607 y(*)f Ff(max_ider_len)p Fg(,)j(unsigned)29 b(in)m(t)i -Ff(flags)p Fg(,)h(c)m(har)f(*)g Ff(errorDescription)p -Fh(\))390 717 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 -b(to)g(an)f(ASN1)h(structure.)390 853 y Fg(ider)7 b Fr(:)40 -b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.)390 -989 y Fg(max)p 565 989 V 40 w(ider)p 757 989 V 40 w(len)p -Fr(:)37 b(p)s(oin)m(ter)22 b(to)i(an)e(in)m(teger)i(giving)f(the)g -(information)g(ab)s(out)f(the)h(maximal)g(n)m(um)m(b)s(er)390 -1099 y(of)29 b(b)m(ytes)g(o)s(ccupied)f(b)m(y)h(*)g Fk(ider)e -Fr(.)41 b(The)28 b(real)h(size)g(of)g(the)g(DER)g(enco)s(ding)f(is)h -(returned)f(through)390 1208 y(this)i(p)s(oin)m(ter.)390 -1345 y Fg(\015ags)t Fr(:)41 b(\015ags)30 b(con)m(trolling)j(the)d(b)s -(eha)m(viour)g(of)h(the)f(function.)390 1481 y Fg(errorDescription)p -Fr(:)41 b(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h -(when)d(an)h(error)g(o)s(ccurred.)390 1617 y(Fill)38 -b(the)f(structure)g(*)h Fk(element)d Fr(with)h(v)-5 b(alues)38 +TeXDict begin 19 21 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(19)150 299 y Fk(asn1)p +396 299 37 5 v 55 w(get)p 616 299 V 54 w(bit)p 820 299 +V 54 w(der)3350 500 y Fs([F)-8 b(unction])-3599 b Fj(int)53 +b(asn1_get_bit_der)e Fi(\()p Fh(const)34 b(unsigned)g(c)m(har)g(*)f +Fg(der)p Fh(,)h(in)m(t)f Fg(der_len)p Fh(,)i(in)m(t)565 +609 y(*)e Fg(ret_len)p Fh(,)i(unsigned)g(c)m(har)f(*)f +Fg(str)p Fh(,)h(in)m(t)f Fg(str_size)p Fh(,)i(in)m(t)e(*)g +Fg(bit_len)p Fi(\))390 719 y Ff(der)7 b Fs(:)40 b(DER)30 +b(data)h(to)g(deco)s(de)g(con)m(taining)h(the)e(BIT)h(SEQUENCE.)390 +858 y Ff(der)p 523 858 28 4 v 40 w(len)p Fs(:)40 b(Length)31 +b(of)f(DER)h(data)g(to)g(deco)s(de.)390 996 y Ff(ret)p +507 996 V 40 w(len)p Fs(:)41 b(Output)29 b(v)-5 b(ariable)32 +b(con)m(taining)f(the)g(length)g(of)f(the)h(DER)f(data.)390 +1135 y Ff(str)7 b Fs(:)40 b(Pre-allo)s(cated)33 b(output)d(bu\013er)f +(to)i(put)f(deco)s(ded)g(BIT)g(SEQUENCE)f(in.)390 1274 +y Ff(str)p 503 1274 V 40 w(size)5 b Fs(:)41 b(Length)31 +b(of)f(pre-allo)s(cated)j(output)d(bu\013er.)390 1413 +y Ff(bit)p 507 1413 V 40 w(len)p Fs(:)41 b(Output)29 +b(v)-5 b(ariable)31 b(con)m(taining)h(the)f(size)g(of)g(the)f(BIT)g +(SEQUENCE.)390 1551 y(Extract)h(a)g(BIT)f(SEQUENCE)f(from)h(DER)h +(data.)390 1690 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27 +b Fs(on)k(success,)g(or)f(an)g(error.)150 1894 y Fk(asn1)p +396 1894 37 5 v 55 w(der)p 625 1894 V 54 w(deco)s(ding2)3350 +2095 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding2)e +Fi(\()p Fh(asn1)p 1582 2095 30 5 v 45 w(no)s(de)33 b(*)g +Fg(element)p Fh(,)i(const)f(v)m(oid)f(*)g Fg(ider)p Fh(,)565 +2204 y(in)m(t)g(*)g Fg(max_ider_len)p Fh(,)k(unsigned)e(in)m(t)e +Fg(flags)p Fh(,)h(c)m(har)g(*)f Fg(errorDescription)p +Fi(\))390 2314 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 +b(to)g(an)f(ASN1)h(structure.)390 2452 y Ff(ider)7 b +Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.) +390 2591 y Ff(max)p 565 2591 28 4 v 40 w(ider)p 757 2591 +V 40 w(len)p Fs(:)37 b(p)s(oin)m(ter)22 b(to)i(an)e(in)m(teger)i +(giving)f(the)g(information)g(ab)s(out)f(the)h(maximal)g(n)m(um)m(b)s +(er)390 2701 y(of)29 b(b)m(ytes)g(o)s(ccupied)f(b)m(y)h(*)g +Fl(ider)e Fs(.)41 b(The)28 b(real)h(size)g(of)g(the)g(DER)g(enco)s +(ding)f(is)h(returned)f(through)390 2810 y(this)i(p)s(oin)m(ter.)390 +2949 y Ff(\015ags)t Fs(:)41 b(\015ags)30 b(con)m(trolling)j(the)d(b)s +(eha)m(viour)g(of)h(the)f(function.)390 3088 y Ff(errorDescription)p +Fs(:)41 b(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h +(when)d(an)h(error)g(o)s(ccurred.)390 3226 y(Fill)38 +b(the)f(structure)g(*)h Fl(element)d Fs(with)h(v)-5 b(alues)38 b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 b(The)36 b(structure)390 -1727 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g -Fk(asn1_create_element\(\))25 b Fr(.)390 1863 y(If)d -Fk(ASN1_DECODE_FLAG_ALLOW_P)o(ADD)o(ING)16 b Fr(\015ag)23 +3336 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g +Fl(asn1_create_element\(\))25 b Fs(.)390 3475 y(If)d +Fl(ASN1_DECODE_FLAG_ALLOW_P)o(ADD)o(ING)16 b Fs(\015ag)23 b(is)f(set)h(then)f(the)g(function)g(will)h(ignore)g(padding)390 -1973 y(after)31 b(the)h(deco)s(ded)e(DER)h(data.)43 b(Up)s(on)30 +3584 y(after)31 b(the)h(deco)s(ded)e(DER)h(data.)43 b(Up)s(on)30 b(a)i(successful)e(return)g(the)h(v)-5 b(alue)32 b(of)f(*)g -Fk(max_ider_len)390 2082 y Fr(will)g(b)s(e)e(set)i(to)g(the)g(n)m(um)m -(b)s(er)e(of)i(b)m(ytes)g(deco)s(ded.)390 2218 y(If)j -Fk(ASN1_DECODE_FLAG_STRICT_DE)o(R)29 b Fr(\015ag)35 b(is)g(set)h(then)e +Fl(max_ider_len)390 3694 y Fs(will)g(b)s(e)e(set)i(to)g(the)g(n)m(um)m +(b)s(er)e(of)i(b)m(ytes)g(deco)s(ded.)390 3833 y(If)j +Fl(ASN1_DECODE_FLAG_STRICT_DE)o(R)29 b Fs(\015ag)35 b(is)g(set)h(then)e (the)h(function)g(will)g(not)h(deco)s(de)f(an)m(y)390 -2328 y(BER-enco)s(ded)30 b(elemen)m(ts.)390 2464 y Fe(Returns:)39 -b Fk(ASN1_SUCCESS)25 b Fr(if)i(DER)h(enco)s(ding)g(OK,)f -Fk(ASN1_ELEMENT_NOT_FOUND)22 b Fr(if)28 b Fk(ELEMENT)390 -2574 y Fr(is)g Fk(NULL)e Fr(,)i(and)g Fk(ASN1_TAG_ERROR)23 -b Fr(or)28 b Fk(ASN1_DER_ERROR)c Fr(if)j(the)h(der)f(enco)s(ding)h(do)s -(esn't)f(matc)m(h)390 2684 y(the)k(structure)e(name)i(\(*)g -Fk(ELEMENT)d Fr(deleted\).)150 2885 y Fj(asn1)p 396 2885 -37 5 v 55 w(der)p 625 2885 V 54 w(deco)s(ding)3350 3083 -y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding)e -Fh(\()p Fg(asn1)p 1512 3083 28 4 v 40 w(no)s(de)30 b(*)h -Ff(element)p Fg(,)i(const)d(v)m(oid)h(*)g Ff(ider)p Fg(,)h(in)m(t)565 -3193 y Ff(ider_len)p Fg(,)h(c)m(har)e(*)g Ff(errorDescription)p -Fh(\))390 3302 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 -b(to)g(an)f(ASN1)h(structure.)390 3439 y Fg(ider)7 b -Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.) -390 3575 y Fg(ider)p 548 3575 V 40 w(len)p Fr(:)41 b(n)m(um)m(b)s(er)29 -b(of)h(b)m(ytes)h(of)g(*)f Fk(ider)g Fr(:)40 b Fk(ider)29 -b Fr([0]..)42 b Fk(ider)30 b Fr([len-1].)390 3711 y Fg -(errorDescription)p Fr(:)41 b(n)m(ull-terminated)32 b(string)e(con)m -(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)390 -3847 y(Fill)38 b(the)f(structure)g(*)h Fk(element)d Fr(with)h(v)-5 -b(alues)38 b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 -b(The)36 b(structure)390 3957 y(m)m(ust)30 b(just)g(b)s(e)g(created)h -(with)f(function)g Fk(asn1_create_element\(\))25 b Fr(.)390 -4093 y(Note)32 b(that)f(the)f(*)h Fk(element)d Fr(v)-5 -b(ariable)32 b(is)e(pro)m(vided)g(as)h(a)f(p)s(oin)m(ter)h(for)f -(historical)i(reasons.)390 4229 y Fe(Returns:)39 b Fk(ASN1_SUCCESS)25 -b Fr(if)i(DER)h(enco)s(ding)g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)22 -b Fr(if)28 b Fk(ELEMENT)390 4339 y Fr(is)g Fk(NULL)e -Fr(,)i(and)g Fk(ASN1_TAG_ERROR)23 b Fr(or)28 b Fk(ASN1_DER_ERROR)c -Fr(if)j(the)h(der)f(enco)s(ding)h(do)s(esn't)f(matc)m(h)390 -4449 y(the)k(structure)e(name)i(\(*)g Fk(ELEMENT)d Fr(deleted\).)150 -4650 y Fj(asn1)p 396 4650 37 5 v 55 w(der)p 625 4650 -V 54 w(deco)s(ding)p 1153 4650 V 55 w(elemen)m(t)3350 -4848 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_der_decoding_ele)q -(ment)f Fh(\()p Fg(asn1)p 1930 4848 28 4 v 41 w(no)s(de)30 -b(*)g Ff(structure)p Fg(,)k(const)d(c)m(har)565 4958 -y(*)g Ff(elementName)p Fg(,)j(const)d(v)m(oid)g(*)f Ff(ider)p -Fg(,)i(in)m(t)f Ff(len)p Fg(,)g(c)m(har)g(*)g Ff(errorDescription)p -Fh(\))390 5067 y Fg(structure)5 b Fr(:)40 b(p)s(oin)m(ter)31 -b(to)g(an)f(ASN1)h(structure)390 5204 y Fg(elemen)m(tName)5 -b Fr(:)43 b(name)31 b(of)f(the)h(elemen)m(t)g(to)h(\014ll)390 -5340 y Fg(ider)7 b Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g -(DER)g(enco)s(ding)f(of)g(the)h(whole)g(structure.)p +3942 y(BER-enco)s(ded)30 b(elemen)m(ts.)390 4081 y Fe(Returns:)39 +b Fl(ASN1_SUCCESS)25 b Fs(if)i(DER)h(enco)s(ding)g(OK,)f +Fl(ASN1_ELEMENT_NOT_FOUND)22 b Fs(if)28 b Fl(ELEMENT)390 +4191 y Fs(is)g Fl(NULL)e Fs(,)i(and)g Fl(ASN1_TAG_ERROR)23 +b Fs(or)28 b Fl(ASN1_DER_ERROR)c Fs(if)j(the)h(der)f(enco)s(ding)h(do)s +(esn't)f(matc)m(h)390 4300 y(the)k(structure)e(name)i(\(*)g +Fl(ELEMENT)d Fs(deleted\).)150 4504 y Fk(asn1)p 396 4504 +37 5 v 55 w(der)p 625 4504 V 54 w(deco)s(ding)3350 4705 +y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding)e +Fi(\()p Fh(asn1)p 1530 4705 30 5 v 44 w(no)s(de)34 b(*)f +Fg(element)p Fh(,)i(const)f(v)m(oid)f(*)g Fg(ider)p Fh(,)565 +4814 y(in)m(t)g Fg(ider_len)p Fh(,)j(c)m(har)e(*)f Fg(errorDescription) +p Fi(\))390 4924 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 +b(to)g(an)f(ASN1)h(structure.)390 5063 y Ff(ider)7 b +Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.) +390 5201 y Ff(ider)p 548 5201 28 4 v 40 w(len)p Fs(:)41 +b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*)f Fl(ider)g +Fs(:)40 b Fl(ider)29 b Fs([0]..)42 b Fl(ider)30 b Fs([len-1].)390 +5340 y Ff(errorDescription)p Fs(:)41 b(n)m(ull-terminated)32 +b(string)e(con)m(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)p eop end %%Page: 20 23 -TeXDict begin 20 22 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(20)390 299 y Fg(len)p -Fr(:)41 b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*der:)40 -b(der[0]..der[len-1])390 435 y Fg(errorDescription)p -Fr(:)h(n)m(ull-terminated)32 b(string)e(con)m(tains)h(details)h(when)d -(an)h(error)g(o)s(ccurred.)390 572 y(Fill)41 b(the)g(elemen)m(t)g -(named)f Fk(ELEMENTNAME)d Fr(with)j(v)-5 b(alues)40 b(of)h(a)f(DER)g -(enco)s(ding)g(string.)70 b(The)390 682 y(structure)36 -b(m)m(ust)h(just)f(b)s(e)g(created)i(with)e(function)h -Fk(asn1_create_element\(\))31 b Fr(.)60 b(The)36 b(DER)390 -791 y(v)m(ector)d(m)m(ust)e(con)m(tain)h(the)f(enco)s(ding)g(string)g -(of)g(the)h(whole)f Fk(STRUCTURE)d Fr(.)43 b(If)31 b(an)g(error)f(o)s -(ccurs)390 901 y(during)f(the)i(deco)s(ding)f(pro)s(cedure,)f(the)i(*)g -Fk(STRUCTURE)d Fr(is)i(deleted)h(and)f(set)h(equal)g(to)g -Fk(NULL)e Fr(.)390 1037 y(This)h(function)h(is)h(deprecated)f(and)g(ma) -m(y)h(just)f(b)s(e)f(an)h(alias)i(to)f(asn1)p 2820 1037 -28 4 v 40 w(der)p 2987 1037 V 40 w(deco)s(ding)f(in)g(future)390 -1147 y(v)m(ersions.)41 b(Use)31 b Fk(asn1_der_decoding\(\))25 -b Fr(instead.)390 1284 y Fe(Returns:)63 b Fk(ASN1_SUCCESS)39 -b Fr(if)j(DER)g(enco)s(ding)g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)36 -b Fr(if)42 b(ELE-)390 1393 y(MENT)24 b(is)h Fk(NULL)e -Fr(or)h Fk(elementName)d Fr(==)j(NULL,)g(and)g Fk(ASN1_TAG_ERROR)d -Fr(or)j Fk(ASN1_DER_ERROR)390 1503 y Fr(if)30 b(the)h(der)f(enco)s -(ding)g(do)s(esn't)g(matc)m(h)h(the)g(structure)f Fk(structure)e -Fr(\(*ELEMENT)i(deleted\).)150 1704 y Fj(asn1)p 396 1704 -37 5 v 55 w(der)p 625 1704 V 54 w(deco)s(ding)p 1153 -1704 V 55 w(startEnd)3350 1903 y Fr([F)-8 b(unction])-3599 -b Fi(int)53 b(asn1_der_decoding_sta)q(rtEn)q(d)f Fh(\()p -Fg(asn1)p 1983 1903 28 4 v 40 w(no)s(de)30 b Ff(element)p -Fg(,)j(const)d(v)m(oid)h(*)565 2013 y Ff(ider)p Fg(,)h(in)m(t)f -Ff(ider_len)p Fg(,)i(const)e(c)m(har)f(*)h Ff(name_element)p -Fg(,)j(in)m(t)d(*)g Ff(start)p Fg(,)h(in)m(t)f(*)g Ff(end)p -Fh(\))390 2122 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 -b(to)g(an)f(ASN1)h(elemen)m(t)390 2259 y Fg(ider)7 b -Fr(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.) -390 2395 y Fg(ider)p 548 2395 V 40 w(len)p Fr(:)41 b(n)m(um)m(b)s(er)29 -b(of)h(b)m(ytes)h(of)g(*)f Fk(ider)g Fr(:)40 b Fk(ider)29 -b Fr([0]..)42 b Fk(ider)30 b Fr([len-1])390 2532 y Fg(name)p -608 2532 V 40 w(elemen)m(t)r Fr(:)42 b(an)31 b(elemen)m(t)g(of)g(NAME)g -(structure.)390 2669 y Fg(start)r Fr(:)41 b(the)31 b(p)s(osition)f(of)h -(the)f(\014rst)g(b)m(yte)h(of)g(NAME)p 2189 2669 V 40 -w(ELEMENT)f(deco)s(ding)g(\()h Fk(ider)e Fr([*start]\))390 -2805 y Fg(end)t Fr(:)40 b(the)30 b(p)s(osition)h(of)f(the)h(last)g(b)m -(yte)g(of)g(NAME)p 2129 2805 V 40 w(ELEMENT)f(deco)s(ding)g(\()h -Fk(ider)e Fr([*end]\))390 2942 y(Find)45 b(the)h(start)g(and)f(end)g(p) -s(oin)m(t)g(of)h(an)f(elemen)m(t)i(in)e(a)h(DER)g(enco)s(ding)f -(string.)87 b(I)45 b(mean)390 3051 y(that)35 b(if)f(y)m(ou)h(ha)m(v)m -(e)h(a)e(der)g(enco)s(ding)g(and)g(y)m(ou)h(ha)m(v)m(e)g(already)g -(used)f(the)g(function)g Fk(asn1_der_)390 3161 y(decoding\(\))22 -b Fr(to)j(\014ll)g(a)g(structure,)h(it)f(ma)m(y)h(happ)s(en)d(that)i(y) -m(ou)g(w)m(an)m(t)h(to)f(\014nd)e(the)i(piece)h(of)f(string)390 -3270 y(concerning)31 b(an)f(elemen)m(t)i(of)e(the)h(structure.)390 -3407 y(One)f(example)h(is)f(the)h(sequence)g Fk(")p Fr -(tbsCerti\014cate)p Fk(")g Fr(inside)f(an)g(X509)i(certi\014cate.)390 -3544 y(Note)38 b(that)g(since)f(libtasn1)g(3.7)h(the)f -Fk(ider)f Fr(and)g Fk(ider_len)f Fr(parameters)i(can)g(b)s(e)f -(omitted,)k(if)390 3653 y(the)31 b(elemen)m(t)g(is)g(already)g(deco)s -(ded)f(using)g Fk(asn1_der_decoding\(\))25 b Fr(.)390 -3790 y Fe(Returns:)63 b Fk(ASN1_SUCCESS)39 b Fr(if)j(DER)g(enco)s(ding) -g(OK,)f Fk(ASN1_ELEMENT_NOT_FOUND)36 b Fr(if)42 b(ELE-)390 -3899 y(MENT)37 b(is)g Fk(asn1_node)e Fr(EMPTY)h(or)h -Fk(name_element)d Fr(is)j(not)g(a)h(v)-5 b(alid)37 b(elemen)m(t,)j -Fk(ASN1_TAG_)390 4009 y(ERROR)j Fr(or)h Fk(ASN1_DER_ERROR)d -Fr(if)j(the)h(der)f(enco)s(ding)g(do)s(esn't)g(matc)m(h)i(the)e -(structure)g(ELE-)390 4119 y(MENT.)150 4320 y Fj(asn1)p -396 4320 37 5 v 55 w(expand)p 836 4320 V 54 w(an)m(y)p -1080 4320 V 53 w(de\014ned)p 1517 4320 V 55 w(b)m(y)3350 -4519 y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_expand_any_defin)q -(ed_b)q(y)f Fh(\()p Fg(asn1)p 1983 4519 28 4 v 40 w(no)s(de)30 -b Ff(definitions)p Fg(,)565 4628 y(asn1)p 748 4628 V -40 w(no)s(de)g(*)h Ff(element)p Fh(\))390 4738 y Fg(de\014nitions)t -Fr(:)40 b(ASN1)31 b(de\014nitions)390 4875 y Fg(elemen)m(t)r -Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390 -5011 y(Expands)36 b(ev)m(ery)j Fk(")p Fr(ANY)f(DEFINED)g(BY)p -Fk(")g Fr(elemen)m(t)h(of)f(a)g(structure)g(created)g(from)g(a)g(DER) -390 5121 y(deco)s(ding)c(pro)s(cess)g(\(asn1)p 1314 5121 -V 41 w(der)p 1482 5121 V 40 w(deco)s(ding)g(function\).)53 -b(The)34 b(elemen)m(t)i(ANY)f(m)m(ust)f(b)s(e)g(de\014ned)390 -5230 y(b)m(y)26 b(an)f(OBJECT)g(IDENTIFIER.)h(The)f(t)m(yp)s(e)h(used)f -(to)i(expand)e(the)h(elemen)m(t)h(ANY)g(is)f(the)g(\014rst)390 -5340 y(one)31 b(follo)m(wing)h(the)e(de\014nition)g(of)h(the)f(actual)i -(v)-5 b(alue)31 b(of)f(the)h(OBJECT)e(IDENTIFIER.)p eop +TeXDict begin 20 22 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(20)390 299 y(Fill)38 +b(the)f(structure)g(*)h Fl(element)d Fs(with)h(v)-5 b(alues)38 +b(of)f(a)h(DER)f(enco)s(ding)g(string.)61 b(The)36 b(structure)390 +408 y(m)m(ust)30 b(just)g(b)s(e)g(created)h(with)f(function)g +Fl(asn1_create_element\(\))25 b Fs(.)390 543 y(Note)32 +b(that)f(the)f(*)h Fl(element)d Fs(v)-5 b(ariable)32 +b(is)e(pro)m(vided)g(as)h(a)f(p)s(oin)m(ter)h(for)f(historical)i +(reasons.)390 677 y Fe(Returns:)39 b Fl(ASN1_SUCCESS)25 +b Fs(if)i(DER)h(enco)s(ding)g(OK,)f Fl(ASN1_ELEMENT_NOT_FOUND)22 +b Fs(if)28 b Fl(ELEMENT)390 786 y Fs(is)g Fl(NULL)e Fs(,)i(and)g +Fl(ASN1_TAG_ERROR)23 b Fs(or)28 b Fl(ASN1_DER_ERROR)c +Fs(if)j(the)h(der)f(enco)s(ding)h(do)s(esn't)f(matc)m(h)390 +896 y(the)k(structure)e(name)i(\(*)g Fl(ELEMENT)d Fs(deleted\).)150 +1094 y Fk(asn1)p 396 1094 37 5 v 55 w(der)p 625 1094 +V 54 w(deco)s(ding)p 1153 1094 V 55 w(elemen)m(t)3350 +1290 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_der_decoding_ele)q +(ment)f Fi(\()p Fh(asn1)p 1948 1290 30 5 v 45 w(no)s(de)33 +b(*)h Fg(structure)p Fh(,)h(const)565 1400 y(c)m(har)f(*)f +Fg(elementName)p Fh(,)j(const)e(v)m(oid)f(*)g Fg(ider)p +Fh(,)h(in)m(t)f Fg(len)p Fh(,)h(c)m(har)g(*)565 1509 +y Fg(errorDescription)p Fi(\))390 1619 y Ff(structure)5 +b Fs(:)40 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390 +1753 y Ff(elemen)m(tName)5 b Fs(:)43 b(name)31 b(of)f(the)h(elemen)m(t) +g(to)h(\014ll)390 1887 y Ff(ider)7 b Fs(:)40 b(v)m(ector)32 +b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding)f(of)g(the)h(whole)g +(structure.)390 2021 y Ff(len)p Fs(:)41 b(n)m(um)m(b)s(er)29 +b(of)h(b)m(ytes)h(of)g(*der:)40 b(der[0]..der[len-1])390 +2155 y Ff(errorDescription)p Fs(:)h(n)m(ull-terminated)32 +b(string)e(con)m(tains)h(details)h(when)d(an)h(error)g(o)s(ccurred.)390 +2290 y(Fill)41 b(the)g(elemen)m(t)g(named)f Fl(ELEMENTNAME)d +Fs(with)j(v)-5 b(alues)40 b(of)h(a)f(DER)g(enco)s(ding)g(string.)70 +b(The)390 2399 y(structure)36 b(m)m(ust)h(just)f(b)s(e)g(created)i +(with)e(function)h Fl(asn1_create_element\(\))31 b Fs(.)60 +b(The)36 b(DER)390 2509 y(v)m(ector)d(m)m(ust)e(con)m(tain)h(the)f +(enco)s(ding)g(string)g(of)g(the)h(whole)f Fl(STRUCTURE)d +Fs(.)43 b(If)31 b(an)g(error)f(o)s(ccurs)390 2618 y(during)f(the)i +(deco)s(ding)f(pro)s(cedure,)f(the)i(*)g Fl(STRUCTURE)d +Fs(is)i(deleted)h(and)f(set)h(equal)g(to)g Fl(NULL)e +Fs(.)390 2752 y(This)h(function)h(is)h(deprecated)f(and)g(ma)m(y)h +(just)f(b)s(e)f(an)h(alias)i(to)f(asn1)p 2820 2752 28 +4 v 40 w(der)p 2987 2752 V 40 w(deco)s(ding)f(in)g(future)390 +2862 y(v)m(ersions.)41 b(Use)31 b Fl(asn1_der_decoding\(\))25 +b Fs(instead.)390 2996 y Fe(Returns:)63 b Fl(ASN1_SUCCESS)39 +b Fs(if)j(DER)g(enco)s(ding)g(OK,)f Fl(ASN1_ELEMENT_NOT_FOUND)36 +b Fs(if)42 b(ELE-)390 3106 y(MENT)24 b(is)h Fl(NULL)e +Fs(or)h Fl(elementName)d Fs(==)j(NULL,)g(and)g Fl(ASN1_TAG_ERROR)d +Fs(or)j Fl(ASN1_DER_ERROR)390 3215 y Fs(if)30 b(the)h(der)f(enco)s +(ding)g(do)s(esn't)g(matc)m(h)h(the)g(structure)f Fl(structure)e +Fs(\(*ELEMENT)i(deleted\).)150 3414 y Fk(asn1)p 396 3414 +37 5 v 55 w(der)p 625 3414 V 54 w(deco)s(ding)p 1153 +3414 V 55 w(startEnd)3350 3610 y Fs([F)-8 b(unction])-3599 +b Fj(int)53 b(asn1_der_decoding_sta)q(rtEn)q(d)f Fi(\()p +Fh(asn1)p 2001 3610 30 5 v 44 w(no)s(de)34 b Fg(element)p +Fh(,)h(const)e(v)m(oid)565 3719 y(*)d Fg(ider)p Fh(,)i(in)m(t)e +Fg(ider_len)p Fh(,)j(const)e(c)m(har)g(*)f Fg(name_element)p +Fh(,)k(in)m(t)c(*)g Fg(start)p Fh(,)i(in)m(t)f(*)f Fg(end)p +Fi(\))390 3829 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 +b(to)g(an)f(ASN1)h(elemen)m(t)390 3963 y Ff(ider)7 b +Fs(:)40 b(v)m(ector)32 b(that)f(con)m(tains)g(the)g(DER)g(enco)s(ding.) +390 4097 y Ff(ider)p 548 4097 28 4 v 40 w(len)p Fs(:)41 +b(n)m(um)m(b)s(er)29 b(of)h(b)m(ytes)h(of)g(*)f Fl(ider)g +Fs(:)40 b Fl(ider)29 b Fs([0]..)42 b Fl(ider)30 b Fs([len-1])390 +4231 y Ff(name)p 608 4231 V 40 w(elemen)m(t)r Fs(:)42 +b(an)31 b(elemen)m(t)g(of)g(NAME)g(structure.)390 4365 +y Ff(start)r Fs(:)41 b(the)31 b(p)s(osition)f(of)h(the)f(\014rst)g(b)m +(yte)h(of)g(NAME)p 2189 4365 V 40 w(ELEMENT)f(deco)s(ding)g(\()h +Fl(ider)e Fs([*start]\))390 4499 y Ff(end)t Fs(:)40 b(the)30 +b(p)s(osition)h(of)f(the)h(last)g(b)m(yte)g(of)g(NAME)p +2129 4499 V 40 w(ELEMENT)f(deco)s(ding)g(\()h Fl(ider)e +Fs([*end]\))390 4633 y(Find)45 b(the)h(start)g(and)f(end)g(p)s(oin)m(t) +g(of)h(an)f(elemen)m(t)i(in)e(a)h(DER)g(enco)s(ding)f(string.)87 +b(I)45 b(mean)390 4743 y(that)35 b(if)f(y)m(ou)h(ha)m(v)m(e)h(a)e(der)g +(enco)s(ding)g(and)g(y)m(ou)h(ha)m(v)m(e)g(already)g(used)f(the)g +(function)g Fl(asn1_der_)390 4853 y(decoding\(\))22 b +Fs(to)j(\014ll)g(a)g(structure,)h(it)f(ma)m(y)h(happ)s(en)d(that)i(y)m +(ou)g(w)m(an)m(t)h(to)f(\014nd)e(the)i(piece)h(of)f(string)390 +4962 y(concerning)31 b(an)f(elemen)m(t)i(of)e(the)h(structure.)390 +5096 y(One)f(example)h(is)f(the)h(sequence)g Fl(")p Fs +(tbsCerti\014cate)p Fl(")g Fs(inside)f(an)g(X509)i(certi\014cate.)390 +5230 y(Note)38 b(that)g(since)f(libtasn1)g(3.7)h(the)f +Fl(ider)f Fs(and)g Fl(ider_len)f Fs(parameters)i(can)g(b)s(e)f +(omitted,)k(if)390 5340 y(the)31 b(elemen)m(t)g(is)g(already)g(deco)s +(ded)f(using)g Fl(asn1_der_decoding\(\))25 b Fs(.)p eop end %%Page: 21 24 -TeXDict begin 21 23 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(21)390 299 y Fe(Returns:)55 -b Fk(ASN1_SUCCESS)35 b Fr(if)j(Substitution)f(OK,)g Fk -(ASN1_ERROR_TYPE_ANY)c Fr(if)k(some)i Fk(")p Fr(ANY)390 -408 y(DEFINED)34 b(BY)p Fk(")f Fr(elemen)m(t)i(couldn't)e(b)s(e)g -(expanded)f(due)g(to)i(a)f(problem)g(in)g(OBJECT)p 3504 -408 28 4 v 39 w(ID)g(-)p Fk(>)390 518 y Fr(TYPE)d(asso)s(ciation,)i(or) -f(other)f(error)g(co)s(des)h(dep)s(ending)e(on)h(DER)g(deco)s(ding.)150 -715 y Fj(asn1)p 396 715 37 5 v 55 w(expand)p 836 715 -V 54 w(o)s(ctet)p 1161 715 V 53 w(string)3350 910 y Fr([F)-8 -b(unction])-3599 b Fi(int)53 b(asn1_expand_octet_str)q(ing)f -Fh(\()p Fg(asn1)p 1878 910 28 4 v 41 w(no)s(de)29 b Ff(definitions)p -Fg(,)34 b(asn1)p 2946 910 V 40 w(no)s(de)565 1020 y(*)d -Ff(element)p Fg(,)i(const)d(c)m(har)h(*)g Ff(octetName)p -Fg(,)i(const)e(c)m(har)g(*)g Ff(objectName)p Fh(\))390 -1129 y Fg(de\014nitions)t Fr(:)40 b(ASN1)31 b(de\014nitions)390 -1263 y Fg(elemen)m(t)r Fr(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h -(structure)390 1396 y Fg(o)s(ctetName)5 b Fr(:)43 b(name)30 -b(of)h(the)g(OCTECT)d(STRING)i(\014eld)g(to)h(expand.)390 -1530 y Fg(ob)5 b(jectName)g Fr(:)45 b(name)31 b(of)h(the)g(OBJECT)e -(IDENTIFIER)h(\014eld)g(to)i(use)e(to)h(de\014ne)f(the)g(t)m(yp)s(e)h -(for)390 1639 y(expansion.)390 1773 y(Expands)23 b(an)h -Fk(")p Fr(OCTET)e(STRING)p Fk(")i Fr(elemen)m(t)h(of)g(a)f(structure)g -(created)h(from)f(a)h(DER)f(deco)s(ding)390 1882 y(pro)s(cess)39 -b(\(the)h Fk(asn1_der_decoding\(\))34 b Fr(function\).)68 -b(The)39 b(t)m(yp)s(e)h(used)f(for)g(expansion)g(is)h(the)390 -1992 y(\014rst)c(one)h(follo)m(wing)h(the)f(de\014nition)g(of)f(the)h -(actual)i(v)-5 b(alue)37 b(of)g(the)g(OBJECT)e(IDENTIFIER)390 -2101 y(indicated)c(b)m(y)f(OBJECTNAME.)390 2235 y Fe(Returns:)36 -b Fk(ASN1_SUCCESS)18 b Fr(if)j(substitution)g(OK,)g Fk -(ASN1_ELEMENT_NOT_FOUND)15 b Fr(if)22 b Fk(objectName)390 -2345 y Fr(or)j Fk(octetName)e Fr(are)j(not)f(correct,)j -Fk(ASN1_VALUE_NOT_VALID)20 b Fr(if)25 b(it)h(w)m(asn't)g(p)s(ossible)f -(to)h(\014nd)e(the)390 2454 y(t)m(yp)s(e)31 b(to)g(use)f(for)g +TeXDict begin 21 23 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(21)390 299 y Fe(Returns:)63 +b Fl(ASN1_SUCCESS)39 b Fs(if)j(DER)g(enco)s(ding)g(OK,)f +Fl(ASN1_ELEMENT_NOT_FOUND)36 b Fs(if)42 b(ELE-)390 408 +y(MENT)37 b(is)g Fl(asn1_node)e Fs(EMPTY)h(or)h Fl(name_element)d +Fs(is)j(not)g(a)h(v)-5 b(alid)37 b(elemen)m(t,)j Fl(ASN1_TAG_)390 +518 y(ERROR)j Fs(or)h Fl(ASN1_DER_ERROR)d Fs(if)j(the)h(der)f(enco)s +(ding)g(do)s(esn't)g(matc)m(h)i(the)e(structure)g(ELE-)390 +628 y(MENT.)150 831 y Fk(asn1)p 396 831 37 5 v 55 w(expand)p +836 831 V 54 w(an)m(y)p 1080 831 V 53 w(de\014ned)p 1517 +831 V 55 w(b)m(y)3350 1032 y Fs([F)-8 b(unction])-3599 +b Fj(int)53 b(asn1_expand_any_defin)q(ed_b)q(y)f Fi(\()p +Fh(asn1)p 2001 1032 30 5 v 44 w(no)s(de)34 b Fg(definitions)p +Fh(,)565 1142 y(asn1)p 766 1142 V 44 w(no)s(de)g(*)f +Fg(element)p Fi(\))390 1251 y Ff(de\014nitions)t Fs(:)40 +b(ASN1)31 b(de\014nitions)390 1390 y Ff(elemen)m(t)r +Fs(:)42 b(p)s(oin)m(ter)31 b(to)g(an)f(ASN1)h(structure)390 +1529 y(Expands)36 b(ev)m(ery)j Fl(")p Fs(ANY)f(DEFINED)g(BY)p +Fl(")g Fs(elemen)m(t)h(of)f(a)g(structure)g(created)g(from)g(a)g(DER) +390 1638 y(deco)s(ding)c(pro)s(cess)g(\(asn1)p 1314 1638 +28 4 v 41 w(der)p 1482 1638 V 40 w(deco)s(ding)g(function\).)53 +b(The)34 b(elemen)m(t)i(ANY)f(m)m(ust)f(b)s(e)g(de\014ned)390 +1748 y(b)m(y)26 b(an)f(OBJECT)g(IDENTIFIER.)h(The)f(t)m(yp)s(e)h(used)f +(to)i(expand)e(the)h(elemen)m(t)h(ANY)g(is)f(the)g(\014rst)390 +1858 y(one)31 b(follo)m(wing)h(the)e(de\014nition)g(of)h(the)f(actual)i +(v)-5 b(alue)31 b(of)f(the)h(OBJECT)e(IDENTIFIER.)390 +1996 y Fe(Returns:)55 b Fl(ASN1_SUCCESS)35 b Fs(if)j(Substitution)f +(OK,)g Fl(ASN1_ERROR_TYPE_ANY)c Fs(if)k(some)i Fl(")p +Fs(ANY)390 2106 y(DEFINED)34 b(BY)p Fl(")f Fs(elemen)m(t)i(couldn't)e +(b)s(e)g(expanded)f(due)g(to)i(a)f(problem)g(in)g(OBJECT)p +3504 2106 V 39 w(ID)g(-)p Fl(>)390 2216 y Fs(TYPE)d(asso)s(ciation,)i +(or)f(other)f(error)g(co)s(des)h(dep)s(ending)e(on)h(DER)g(deco)s +(ding.)150 2419 y Fk(asn1)p 396 2419 37 5 v 55 w(expand)p +836 2419 V 54 w(o)s(ctet)p 1161 2419 V 53 w(string)3350 +2620 y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_expand_octet_str)q +(ing)f Fi(\()p Fh(asn1)p 1896 2620 30 5 v 44 w(no)s(de)34 +b Fg(definitions)p Fh(,)565 2730 y(asn1)p 766 2730 V +44 w(no)s(de)e(*)f Fg(element)p Fh(,)i(const)f(c)m(har)g(*)f +Fg(octetName)p Fh(,)j(const)e(c)m(har)g(*)f Fg(objectName)p +Fi(\))390 2839 y Ff(de\014nitions)t Fs(:)40 b(ASN1)31 +b(de\014nitions)390 2978 y Ff(elemen)m(t)r Fs(:)42 b(p)s(oin)m(ter)31 +b(to)g(an)f(ASN1)h(structure)390 3117 y Ff(o)s(ctetName)5 +b Fs(:)43 b(name)30 b(of)h(the)g(OCTECT)d(STRING)i(\014eld)g(to)h +(expand.)390 3255 y Ff(ob)5 b(jectName)g Fs(:)45 b(name)31 +b(of)h(the)g(OBJECT)e(IDENTIFIER)h(\014eld)g(to)i(use)e(to)h(de\014ne)f +(the)g(t)m(yp)s(e)h(for)390 3365 y(expansion.)390 3504 +y(Expands)23 b(an)h Fl(")p Fs(OCTET)e(STRING)p Fl(")i +Fs(elemen)m(t)h(of)g(a)f(structure)g(created)h(from)f(a)h(DER)f(deco)s +(ding)390 3613 y(pro)s(cess)39 b(\(the)h Fl(asn1_der_decoding\(\))34 +b Fs(function\).)68 b(The)39 b(t)m(yp)s(e)h(used)f(for)g(expansion)g +(is)h(the)390 3723 y(\014rst)c(one)h(follo)m(wing)h(the)f(de\014nition) +g(of)f(the)h(actual)i(v)-5 b(alue)37 b(of)g(the)g(OBJECT)e(IDENTIFIER) +390 3833 y(indicated)c(b)m(y)f(OBJECTNAME.)390 3971 y +Fe(Returns:)36 b Fl(ASN1_SUCCESS)18 b Fs(if)j(substitution)g(OK,)g +Fl(ASN1_ELEMENT_NOT_FOUND)15 b Fs(if)22 b Fl(objectName)390 +4081 y Fs(or)j Fl(octetName)e Fs(are)j(not)f(correct,)j +Fl(ASN1_VALUE_NOT_VALID)20 b Fs(if)25 b(it)h(w)m(asn't)g(p)s(ossible)f +(to)h(\014nd)e(the)390 4190 y(t)m(yp)s(e)31 b(to)g(use)f(for)g (expansion,)g(or)h(other)f(errors)g(dep)s(ending)f(on)h(DER)h(deco)s -(ding.)150 2651 y Fj(asn1)p 396 2651 37 5 v 55 w(deco)s(de)p -818 2651 V 54 w(simple)p 1214 2651 V 55 w(der)3350 2846 -y Fr([F)-8 b(unction])-3599 b Fi(int)53 b(asn1_decode_simple_de)q(r)e -Fh(\()p Fg(unsigned)30 b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned) -565 2956 y(c)m(har)f(*)g Ff(der)p Fg(,)h(unsigned)d(in)m(t)j -Ff(_der_len)p Fg(,)h(const)e(unsigned)f(c)m(har)h(**)g -Ff(str)p Fg(,)h(unsigned)d(in)m(t)j(*)565 3065 y Ff(str_len)p -Fh(\))390 3175 y Fg(et)m(yp)s(e)5 b Fr(:)41 b(The)30 +(ding.)150 4394 y Fk(asn1)p 396 4394 37 5 v 55 w(deco)s(de)p +818 4394 V 54 w(simple)p 1214 4394 V 55 w(der)3350 4595 +y Fs([F)-8 b(unction])-3599 b Fj(int)53 b(asn1_decode_simple_de)q(r)e +Fi(\()p Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned) +565 4705 y(c)m(har)f(*)f Fg(der)p Fh(,)h(unsigned)h(in)m(t)e +Fg(_der_len)p Fh(,)i(const)f(unsigned)h(c)m(har)f(**)f +Fg(str)p Fh(,)h(unsigned)565 4814 y(in)m(t)g(*)g Fg(str_len)p +Fi(\))390 4924 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p -2444 3175 28 4 v 41 w(ETYPE)p 2805 3175 V 39 w(\))390 -3308 y Fg(der)7 b Fr(:)40 b(the)30 b(enco)s(ded)g(string)p -396 3442 V 430 3442 a Fg(der)p 563 3442 V 40 w(len)p -Fr(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390 -3575 y Fg(str)7 b Fr(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390 -3709 y Fg(str)p 503 3709 V 40 w(len)p Fr(:)41 b(the)30 -b(length)h(of)g(the)f(data)390 3842 y(Deco)s(des)35 b(a)f(simple)g(DER) -g(enco)s(ded)f(t)m(yp)s(e)h(\(e.g.)52 b(a)35 b(string,)f(whic)m(h)g(is) -g(not)g(constructed\).)51 b(The)390 3952 y(output)30 -b(is)g(a)h(p)s(oin)m(ter)g(inside)f(the)g Fk(der)g Fr(.)390 -4085 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 b Fr(if)k(successful)f(or)g -(an)g(error)g(v)-5 b(alue.)150 4283 y Fj(asn1)p 396 4283 -37 5 v 55 w(deco)s(de)p 818 4283 V 54 w(simple)p 1214 -4283 V 55 w(b)s(er)3350 4477 y Fr([F)d(unction])-3599 -b Fi(int)53 b(asn1_decode_simple_be)q(r)e Fh(\()p Fg(unsigned)30 -b(in)m(t)h Ff(etype)p Fg(,)h(const)f(unsigned)565 4587 -y(c)m(har)g(*)g Ff(der)p Fg(,)g(unsigned)e(in)m(t)i Ff(_der_len)p -Fg(,)i(unsigned)d(c)m(har)g(**)h Ff(str)p Fg(,)h(unsigned)d(in)m(t)i(*) -565 4696 y Ff(str_len)p Fg(,)i(unsigned)c(in)m(t)i(*)g -Ff(ber_len)p Fh(\))390 4806 y Fg(et)m(yp)s(e)5 b Fr(:)41 -b(The)30 b(t)m(yp)s(e)h(of)f(the)h(string)f(to)h(b)s(e)f(enco)s(ded)g -(\(ASN1)p 2444 4806 28 4 v 41 w(ETYPE)p 2805 4806 V 39 -w(\))390 4940 y Fg(der)7 b Fr(:)40 b(the)30 b(enco)s(ded)g(string)p -396 5073 V 430 5073 a Fg(der)p 563 5073 V 40 w(len)p -Fr(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390 -5206 y Fg(str)7 b Fr(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390 -5340 y Fg(str)p 503 5340 V 40 w(len)p Fr(:)41 b(the)30 -b(length)h(of)g(the)f(data)p eop end +2444 4924 28 4 v 41 w(ETYPE)p 2805 4924 V 39 w(\))390 +5062 y Ff(der)7 b Fs(:)40 b(the)30 b(enco)s(ded)g(string)p +396 5201 V 430 5201 a Ff(der)p 563 5201 V 40 w(len)p +Fs(:)40 b(the)31 b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390 +5340 y Ff(str)7 b Fs(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)p +eop end %%Page: 22 25 -TeXDict begin 22 24 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(22)390 299 y Fg(b)s(er)p -526 299 28 4 v 39 w(len)p Fr(:)41 b(the)30 b(total)j(length)d(o)s -(ccupied)h(b)m(y)f(BER)g(\(ma)m(y)i(b)s(e)d Fk(NULL)h -Fr(\))390 435 y(Deco)s(des)37 b(a)g(BER)g(enco)s(ded)f(t)m(yp)s(e.)60 +TeXDict begin 22 24 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(22)390 299 y Ff(str)p +503 299 28 4 v 40 w(len)p Fs(:)41 b(the)30 b(length)h(of)g(the)f(data) +390 463 y(Deco)s(des)35 b(a)f(simple)g(DER)g(enco)s(ded)f(t)m(yp)s(e)h +(\(e.g.)52 b(a)35 b(string,)f(whic)m(h)g(is)g(not)g(constructed\).)51 +b(The)390 573 y(output)30 b(is)g(a)h(p)s(oin)m(ter)g(inside)f(the)g +Fl(der)g Fs(.)390 737 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27 +b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150 +966 y Fk(asn1)p 396 966 37 5 v 55 w(deco)s(de)p 818 966 +V 54 w(simple)p 1214 966 V 55 w(b)s(er)3350 1192 y Fs([F)d(unction]) +-3599 b Fj(int)53 b(asn1_decode_simple_be)q(r)e Fi(\()p +Fh(unsigned)35 b(in)m(t)f Fg(etype)p Fh(,)g(const)g(unsigned)565 +1302 y(c)m(har)g(*)f Fg(der)p Fh(,)h(unsigned)g(in)m(t)g +Fg(_der_len)p Fh(,)h(unsigned)g(c)m(har)f(**)e Fg(str)p +Fh(,)i(unsigned)h(in)m(t)e(*)565 1411 y Fg(str_len)p +Fh(,)i(unsigned)g(in)m(t)e(*)g Fg(ber_len)p Fi(\))390 +1521 y Ff(et)m(yp)s(e)5 b Fs(:)41 b(The)30 b(t)m(yp)s(e)h(of)f(the)h +(string)f(to)h(b)s(e)f(enco)s(ded)g(\(ASN1)p 2444 1521 +28 4 v 41 w(ETYPE)p 2805 1521 V 39 w(\))390 1685 y Ff(der)7 +b Fs(:)40 b(the)30 b(enco)s(ded)g(string)p 396 1849 V +430 1849 a Ff(der)p 563 1849 V 40 w(len)p Fs(:)40 b(the)31 +b(b)m(ytes)g(of)f(the)h(enco)s(ded)f(string)390 2014 +y Ff(str)7 b Fs(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(the)g(data)390 +2178 y Ff(str)p 503 2178 V 40 w(len)p Fs(:)41 b(the)30 +b(length)h(of)g(the)f(data)390 2342 y Ff(b)s(er)p 526 +2342 V 39 w(len)p Fs(:)41 b(the)30 b(total)j(length)d(o)s(ccupied)h(b)m +(y)f(BER)g(\(ma)m(y)i(b)s(e)d Fl(NULL)h Fs(\))390 2506 +y(Deco)s(des)37 b(a)g(BER)g(enco)s(ded)f(t)m(yp)s(e.)60 b(The)36 b(output)g(is)g(an)h(allo)s(cated)h(v)-5 b(alue)37 -b(of)g(the)g(data.)60 b(This)390 545 y(deco)s(des)30 +b(of)g(the)g(data.)60 b(This)390 2616 y(deco)s(des)30 b(BER)h(STRINGS)e(only)-8 b(.)41 b(Other)30 b(t)m(yp)s(es)h(are)f(deco) -s(ded)g(as)h(DER.)390 681 y Fe(Returns:)40 b Fk(ASN1_SUCCESS)27 -b Fr(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150 -917 y Fq(4.4)68 b(Error)45 b(handling)g(functions)150 -1141 y Fj(asn1)p 396 1141 37 5 v 55 w(p)s(error)3350 -1339 y Fr([F)-8 b(unction])-3599 b Fi(void)54 b(asn1_perror)48 -b Fh(\()p Fg(in)m(t)32 b Ff(error)p Fh(\))390 1449 y -Fg(error)7 b Fr(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h -(libtasn1)g(function.)390 1585 y(Prin)m(ts)26 b(a)g(string)h(to)f +s(ded)g(as)h(DER.)390 2780 y Fe(Returns:)40 b Fl(ASN1_SUCCESS)27 +b Fs(if)k(successful)f(or)g(an)g(error)g(v)-5 b(alue.)150 +3065 y Fr(4.4)68 b(Error)45 b(handling)g(functions)150 +3289 y Fk(asn1)p 396 3289 37 5 v 55 w(p)s(error)3350 +3516 y Fs([F)-8 b(unction])-3599 b Fj(void)54 b(asn1_perror)48 +b Fi(\()p Fh(in)m(t)34 b Fg(error)p Fi(\))390 3625 y +Ff(error)7 b Fs(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h +(libtasn1)g(function.)390 3790 y(Prin)m(ts)26 b(a)g(string)h(to)f (stderr)g(with)g(a)g(description)g(of)h(an)f(error.)38 -b(This)26 b(function)g(is)g(lik)m(e)h Fk(perror\(\))390 -1695 y Fr(.)41 b(The)30 b(only)g(di\013erence)h(is)f(that)h(it)g +b(This)26 b(function)g(is)g(lik)m(e)h Fl(perror\(\))390 +3899 y Fs(.)41 b(The)30 b(only)g(di\013erence)h(is)f(that)h(it)g (accepts)h(an)e(error)g(returned)f(b)m(y)i(a)f(libtasn1)h(function.)390 -1831 y Fe(Since:)41 b Fr(1.6)150 2033 y Fj(asn1)p 396 -2033 V 55 w(strerror)3350 2231 y Fr([F)-8 b(unction])-3599 -b Fi(const)54 b(char)f(*)g(asn1_strerror)c Fh(\()p Fg(in)m(t)32 -b Ff(error)p Fh(\))390 2341 y Fg(error)7 b Fr(:)40 b(is)30 +4063 y Fe(Since:)41 b Fs(1.6)150 4292 y Fk(asn1)p 396 +4292 V 55 w(strerror)3350 4519 y Fs([F)-8 b(unction])-3599 +b Fj(const)54 b(char)f(*)g(asn1_strerror)c Fi(\()p Fh(in)m(t)34 +b Fg(error)p Fi(\))390 4628 y Ff(error)7 b Fs(:)40 b(is)30 b(an)h(error)f(returned)f(b)m(y)h(a)h(libtasn1)g(function.)390 -2477 y(Returns)i(a)h(string)g(with)f(a)h(description)g(of)g(an)g +4792 y(Returns)i(a)h(string)g(with)f(a)h(description)g(of)g(an)g (error.)50 b(This)33 b(function)h(is)g(similar)g(to)g(strerror.)390 -2587 y(The)c(only)h(di\013erence)g(is)g(that)g(it)g(accepts)h(an)e +4902 y(The)c(only)h(di\013erence)g(is)g(that)g(it)g(accepts)h(an)e (error)g(\(n)m(um)m(b)s(er\))g(returned)g(b)m(y)g(a)h(libtasn1)h(func-) -390 2696 y(tion.)390 2833 y Fe(Returns:)40 b Fr(P)m(oin)m(ter)32 +390 5012 y(tion.)390 5176 y Fe(Returns:)40 b Fs(P)m(oin)m(ter)32 b(to)f(static)h(zero-terminated)g(string)f(describing)f(error)g(co)s -(de.)390 2969 y Fe(Since:)41 b Fr(1.6)150 3205 y Fq(4.5)68 -b(Auxilliary)46 b(functions)150 3429 y Fj(asn1)p 396 -3429 V 55 w(\014nd)p 655 3429 V 54 w(no)s(de)3350 3627 -y Fr([F)-8 b(unction])-3599 b Fi(asn1_node)55 b(asn1_find_node)50 -b Fh(\()p Fg(asn1)p 1669 3627 28 4 v 40 w(no)s(de)30 -b Ff(pointer)p Fg(,)j(const)e(c)m(har)f(*)h Ff(name)p -Fh(\))390 3737 y Fg(p)s(oin)m(ter)7 b Fr(:)40 b(NODE)p -1021 3737 V 40 w(ASN)31 b(elemen)m(t)g(p)s(oin)m(ter.)390 -3873 y Fg(name)5 b Fr(:)41 b(n)m(ull)30 b(terminated)h(string)f(with)g -(the)h(elemen)m(t's)h(name)e(to)i(\014nd.)390 4010 y(Searc)m(hes)g(for) -g(an)g(elemen)m(t)h(called)g Fk(name)e Fr(starting)h(from)f -Fk(pointer)f Fr(.)45 b(The)31 b(name)h(is)g(comp)s(osed)390 -4119 y(b)m(y)39 b(di\013eren)m(ts)g(iden)m(ti\014ers)g(separated)g(b)m -(y)f(dots.)66 b(When)39 b(*)g Fk(pointer)e Fr(has)h(a)i(name,)h(the)e -(\014rst)390 4229 y(iden)m(ti\014er)26 b(m)m(ust)g(b)s(e)g(the)g(name)g -(of)g(*)h Fk(pointer)d Fr(,)j(otherwise)g(it)f(m)m(ust)g(b)s(e)g(the)g -(name)g(of)g(one)h(c)m(hild)390 4339 y(of)k(*)f Fk(pointer)f -Fr(.)390 4475 y Fe(Returns:)40 b Fr(the)31 b(searc)m(h)g(result,)f(or)h -Fk(NULL)e Fr(if)h(not)h(found.)150 4676 y Fj(asn1)p 396 -4676 37 5 v 55 w(c)m(hec)m(k)p 744 4676 V 52 w(v)m(ersion)3350 -4875 y Fr([F)-8 b(unction])-3599 b Fi(const)54 b(char)f(*)g -(asn1_check_version)e Fh(\()p Fg(const)31 b(c)m(har)g(*)g -Ff(req_version)p Fh(\))390 4984 y Fg(req)p 520 4984 28 -4 v 40 w(v)m(ersion)p Fr(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s -(er,)e(or)i Fk(NULL)e Fr(.)390 5121 y(Chec)m(k)e(that)h(the)f(v)m -(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g(requested)f -(one)i(and)e(return)g(the)390 5230 y(v)m(ersion)j(string;)g(return)d -Fk(NULL)h Fr(if)h(the)h(condition)f(is)g(not)h(satis\014ed.)40 -b(If)27 b(a)i Fk(NULL)e Fr(is)h(passed)f(to)i(this)390 -5340 y(function,)h(no)h(c)m(hec)m(k)h(is)e(done,)g(but)g(the)h(v)m -(ersion)f(string)h(is)f(simply)g(returned.)p eop end +(de.)390 5340 y Fe(Since:)41 b Fs(1.6)p eop end %%Page: 23 26 -TeXDict begin 23 25 bop 150 -116 a Fr(Chapter)30 b(4:)41 -b(F)-8 b(unction)31 b(reference)2313 b(23)390 299 y(See)31 -b Fk(ASN1_VERSION)c Fr(for)j(a)h(suitable)f Fk(req_version)e -Fr(string.)390 433 y Fe(Returns:)43 b Fr(V)-8 b(ersion)32 -b(string)g(of)g(run-time)f(library)-8 b(,)33 b(or)e Fk(NULL)g -Fr(if)h(the)g(run-time)f(library)g(do)s(es)h(not)390 -543 y(meet)f(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.)p +TeXDict begin 23 25 bop 150 -116 a Fs(Chapter)30 b(4:)41 +b(F)-8 b(unction)31 b(reference)2313 b(23)150 299 y Fr(4.5)68 +b(Auxilliary)46 b(functions)150 523 y Fk(asn1)p 396 523 +37 5 v 55 w(\014nd)p 655 523 V 54 w(no)s(de)3350 720 +y Fs([F)-8 b(unction])-3599 b Fj(asn1_node)55 b(asn1_find_node)50 +b Fi(\()p Fh(asn1)p 1687 720 30 5 v 44 w(no)s(de)34 b +Fg(pointer)p Fh(,)h(const)f(c)m(har)g(*)f Fg(name)p Fi(\))390 +829 y Ff(p)s(oin)m(ter)7 b Fs(:)40 b(NODE)p 1021 829 +28 4 v 40 w(ASN)31 b(elemen)m(t)g(p)s(oin)m(ter.)390 +964 y Ff(name)5 b Fs(:)41 b(n)m(ull)30 b(terminated)h(string)f(with)g +(the)h(elemen)m(t's)h(name)e(to)i(\014nd.)390 1098 y(Searc)m(hes)g(for) +g(an)g(elemen)m(t)h(called)g Fl(name)e Fs(starting)h(from)f +Fl(pointer)f Fs(.)45 b(The)31 b(name)h(is)g(comp)s(osed)390 +1208 y(b)m(y)41 b(di\013eren)m(t)h(iden)m(ti\014ers)f(separated)g(b)m +(y)g(dots.)73 b(When)41 b(*)h Fl(pointer)d Fs(has)i(a)g(name,)j(the)e +(\014rst)390 1318 y(iden)m(ti\014er)26 b(m)m(ust)g(b)s(e)g(the)g(name)g +(of)g(*)h Fl(pointer)d Fs(,)j(otherwise)g(it)f(m)m(ust)g(b)s(e)g(the)g +(name)g(of)g(one)h(c)m(hild)390 1427 y(of)k(*)f Fl(pointer)f +Fs(.)390 1562 y Fe(Returns:)40 b Fs(the)31 b(searc)m(h)g(result,)f(or)h +Fl(NULL)e Fs(if)h(not)h(found.)150 1761 y Fk(asn1)p 396 +1761 37 5 v 55 w(c)m(hec)m(k)p 744 1761 V 52 w(v)m(ersion)3350 +1958 y Fs([F)-8 b(unction])-3599 b Fj(const)54 b(char)f(*)g +(asn1_check_version)e Fi(\()p Fh(const)34 b(c)m(har)g(*)f +Fg(req_version)p Fi(\))390 2067 y Ff(req)p 520 2067 28 +4 v 40 w(v)m(ersion)p Fs(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s +(er,)e(or)i Fl(NULL)e Fs(.)390 2202 y(Chec)m(k)e(that)h(the)f(v)m +(ersion)g(of)g(the)g(library)g(is)g(at)g(minim)m(um)g(the)g(requested)f +(one)i(and)e(return)g(the)390 2311 y(v)m(ersion)j(string;)g(return)d +Fl(NULL)h Fs(if)h(the)h(condition)f(is)g(not)h(satis\014ed.)40 +b(If)27 b(a)i Fl(NULL)e Fs(is)h(passed)f(to)i(this)390 +2421 y(function,)h(no)h(c)m(hec)m(k)h(is)e(done,)g(but)g(the)h(v)m +(ersion)f(string)h(is)f(simply)g(returned.)390 2555 y(See)h +Fl(ASN1_VERSION)c Fs(for)j(a)h(suitable)f Fl(req_version)e +Fs(string.)390 2690 y Fe(Returns:)43 b Fs(V)-8 b(ersion)32 +b(string)g(of)g(run-time)f(library)-8 b(,)33 b(or)e Fl(NULL)g +Fs(if)h(the)g(run-time)f(library)g(do)s(es)h(not)390 +2800 y(meet)f(the)g(required)e(v)m(ersion)i(n)m(um)m(b)s(er.)p eop end %%Page: 24 27 -TeXDict begin 24 26 bop 150 -116 a Fr(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2140 b(24)150 299 y Fn(App)t(endix)52 -b(A)81 b(Cop)l(ying)52 b(Information)150 608 y Fq(A.1)67 +TeXDict begin 24 26 bop 3659 -116 a Fs(24)150 299 y Fo(App)t(endix)52 +b(A)81 b(Cop)l(ying)52 b(Information)150 613 y Fr(A.1)67 b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)1359 -767 y Fr(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 -898 y(Cop)m(yrigh)m(t)842 895 y(c)817 898 y Fo(\015)e -Fr(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31 -b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 1007 -y Fk(http://fsf.org/)390 1227 y Fr(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f +772 y Fs(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 +902 y(Cop)m(yrigh)m(t)842 899 y(c)817 902 y Fp(\015)e +Fs(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31 +b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 1012 +y Fl(http://fsf.org/)390 1231 y Fs(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f (to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390 -1336 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f -(is)f(not)h(allo)m(w)m(ed.)199 1467 y(0.)61 b(PREAMBLE)330 -1597 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g +1341 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f +(is)f(not)h(allo)m(w)m(ed.)199 1471 y(0.)61 b(PREAMBLE)330 +1601 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g (a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330 -1707 y(useful)29 b(do)s(cumen)m(t)h Fg(free)36 b Fr(in)29 +1710 y(useful)29 b(do)s(cumen)m(t)h Ff(free)36 b Fs(in)29 b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j -(the)e(e\013ectiv)m(e)j(freedom)330 1817 y(to)f(cop)m(y)g(and)f +(the)e(e\013ectiv)m(e)j(freedom)330 1820 y(to)f(cop)m(y)g(and)f (redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i -(either)f(commercially)h(or)e(non-)330 1926 y(commercially)-8 +(either)f(commercially)h(or)e(non-)330 1929 y(commercially)-8 b(.)56 b(Secondarily)-8 b(,)36 b(this)f(License)g(preserv)m(es)g(for)f -(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2036 +(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2039 y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i(while)e(not)g(b)s(eing)g (considered)g(resp)s(onsible)f(for)h(mo)s(di\014cations)330 -2145 y(made)30 b(b)m(y)h(others.)330 2276 y(This)22 b(License)i(is)f(a) +2149 y(made)30 b(b)m(y)h(others.)330 2279 y(This)22 b(License)i(is)f(a) h(kind)e(of)i(\\cop)m(yleft",)j(whic)m(h)c(means)g(that)h(deriv)-5 b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)s(cumen)m(t)330 -2385 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g +2388 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g (sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)h(Public)330 -2495 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed) -e(for)g(free)h(soft)m(w)m(are.)330 2626 y(W)-8 b(e)31 +2498 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed) +e(for)g(free)h(soft)m(w)m(are.)330 2628 y(W)-8 b(e)31 b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f(order)g(to)i(use)e(it)h (for)f(man)m(uals)h(for)f(free)h(soft)m(w)m(are,)h(b)s(ecause)330 -2735 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:) +2738 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:) 65 b(a)42 b(free)h(program)f(should)f(come)i(with)f(man)m(uals)330 -2845 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w) +2847 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w) m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i(is)f(not)g(limited)g -(to)330 2954 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g +(to)330 2957 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g (for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g(of)g(sub)5 -b(ject)30 b(matter)i(or)330 3064 y(whether)f(it)h(is)f(published)f(as)i +b(ject)30 b(matter)i(or)330 3066 y(whether)f(it)h(is)f(published)f(as)i (a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8 b(e)32 b(recommend)f(this)h -(License)g(principally)f(for)330 3174 y(w)m(orks)f(whose)h(purp)s(ose)d -(is)j(instruction)f(or)g(reference.)199 3304 y(1.)61 -b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3435 y(This)39 +(License)g(principally)f(for)330 3176 y(w)m(orks)f(whose)h(purp)s(ose)d +(is)j(instruction)f(or)g(reference.)199 3306 y(1.)61 +b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3436 y(This)39 b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g(other)g(w)m(ork,)i -(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3544 +(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3546 y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m(ying) h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330 -3654 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f +3655 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f (a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d -(in)330 3764 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j +(in)330 3765 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j (conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330 -3873 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h +3874 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h (or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g -(a)h(licensee,)i(and)330 3983 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40 +(a)h(licensee,)i(and)330 3984 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40 b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8 b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330 -4092 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop) -m(yrigh)m(t)j(la)m(w.)330 4223 y(A)i(\\Mo)s(di\014ed)f(V)-8 +4094 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop) +m(yrigh)m(t)j(la)m(w.)330 4224 y(A)i(\\Mo)s(di\014ed)f(V)-8 b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f (con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4333 y(a)k(p)s(ortion)f (of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s -(di\014cations)f(and/or)h(translated)g(in)m(to)330 4442 +(di\014cations)f(and/or)h(translated)g(in)m(to)330 4443 y(another)31 b(language.)330 4573 y(A)26 b(\\Secondary)g(Section")h(is) f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f (the)g(Do)s(cumen)m(t)330 4682 y(that)c(deals)g(exclusiv)m(ely)h(with)e @@ -7661,7 +7673,7 @@ b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i (commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s (osition)f(regarding)330 5340 y(them.)p eop end %%Page: 25 28 -TeXDict begin 25 27 bop 150 -116 a Fr(App)s(endix)29 +TeXDict begin 25 27 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(Cop)m(ying)h(Information)2140 b(25)330 299 y(The)25 b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g (Sections)g(whose)f(titles)i(are)f(designated,)i(as)330 @@ -7757,7 +7769,7 @@ b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330 5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)p eop end %%Page: 26 29 -TeXDict begin 26 28 bop 150 -116 a Fr(App)s(endix)29 +TeXDict begin 26 28 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(Cop)m(ying)h(Information)2140 b(26)199 299 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an) @@ -7846,7 +7858,7 @@ b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s (di\014ed)e(V)-8 b(ersion:)p eop end %%Page: 27 30 -TeXDict begin 27 29 bop 150 -116 a Fr(App)s(endix)29 +TeXDict begin 27 29 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(Cop)m(ying)h(Information)2140 b(27)357 299 y(A.)60 b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m (ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the) @@ -7929,7 +7941,7 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5230 y(If)h(the)g(Mo)s(di\014ed)g (Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h (Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end %%Page: 28 31 -TeXDict begin 28 30 bop 150 -116 a Fr(App)s(endix)29 +TeXDict begin 28 30 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(Cop)m(ying)h(Information)2140 b(28)330 299 y(y)m(our)32 b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e (in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330 @@ -8019,7 +8031,7 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330 5340 y(that)d(do)s(cumen)m(t.)p eop end %%Page: 29 32 -TeXDict begin 29 31 bop 150 -116 a Fr(App)s(endix)29 +TeXDict begin 29 31 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(Cop)m(ying)h(Information)2140 b(29)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 @@ -8107,7 +8119,7 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g (the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f (an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end %%Page: 30 33 -TeXDict begin 30 32 bop 150 -116 a Fr(App)s(endix)29 +TeXDict begin 30 32 bop 150 -116 a Fs(App)s(endix)29 b(A:)h(Cop)m(ying)h(Information)2140 b(30)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 @@ -8116,8 +8128,8 @@ b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F) g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h (in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m (y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i -(concerns.)330 762 y(See)c Fk(http://www.gnu.org/copy)o(left)o(/)p -Fr(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m +(concerns.)330 762 y(See)c Fl(http://www.gnu.org/copy)o(left)o(/)p +Fs(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m (en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39 b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45 b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g @@ -8173,10 +8185,10 @@ g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g (time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is) 330 4005 y(eligible)h(for)e(relicensing.)p eop end %%Page: 31 34 -TeXDict begin 31 33 bop 150 -116 a Fr(App)s(endix)29 -b(A:)h(Cop)m(ying)h(Information)2140 b(31)150 299 y Fq(ADDENDUM:)45 +TeXDict begin 31 33 bop 150 -116 a Fs(App)s(endix)29 +b(A:)h(Cop)m(ying)h(Information)2140 b(31)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts) -150 458 y Fr(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m +150 458 y Fs(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m (t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f(cop)m(y)i(of)f(the) f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g (follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h(notices)g(just)f @@ -8190,7 +8202,7 @@ y(Permission)i(is)e(granted)g(to)g(copy,)h(distribute)g(and/or)g (no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468 1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h (in)f(the)g(section)g(entitled)h(``GNU)468 1203 y(Free)g(Documentation) -h(License''.)275 1337 y Fr(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5 +h(License''.)275 1337 y Fs(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)41 b(Sections,)i(F)-8 b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6 b(.)22 b(.)g(.)12 @@ -8198,7 +8210,7 @@ b(T)-8 b(exts.")31 b(line)g(with)f(this:)547 1559 y Fd(with)40 b(the)g(Invariant)h(Sections)g(being)g Fc(list)f(their)g(titles)p Fd(,)h(with)547 1646 y(the)f(Front-Cover)i(Texts)e(being)g Fc(list)p Fd(,)h(and)f(with)g(the)g(Back-Cover)h(Texts)547 -1733 y(being)f Fc(list)p Fd(.)275 1868 y Fr(If)34 b(y)m(ou)i(ha)m(v)m +1733 y(being)f Fc(list)p Fd(.)275 1868 y Fs(If)34 b(y)m(ou)i(ha)m(v)m (e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150 1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e @@ -8210,135 +8222,140 @@ b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150 b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m (w)m(are.)p eop end %%Page: 32 35 -TeXDict begin 32 34 bop 150 -116 a Fr(Concept)31 b(Index)2927 -b(32)150 299 y Fn(Concept)52 b(Index)150 638 y Fq(A)150 -757 y Fb(ASN.1)25 b(sc)n(hema)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(2)150 846 y(asn1Co)r(ding)27 -b(program)10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 -b Fb(5)150 935 y(asn1Deco)r(ding)27 b(program)8 b Fa(:)14 -b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(6)150 1023 y(asn1P)n(arser)27 -b(program)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 -b Fb(5)150 1281 y Fq(F)150 1400 y Fb(FDL,)26 b(GNU)f(F)-6 -b(ree)25 b(Do)r(cumen)n(tation)h(License)20 b Fa(:)13 -b(:)g(:)g(:)g(:)h(:)f(:)45 b Fb(22)150 1489 y(F)-6 b(uture)25 -b(dev)n(elopmen)n(ts)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 -b Fb(4)150 1746 y Fq(H)150 1866 y Fb(Header)26 b(\014le)f(libtasn1.h)18 -b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fb(4)2025 -638 y Fq(M)2025 760 y Fb(Main)26 b(t)n(yp)r(e)f(asn1)p -2550 760 24 4 v 34 w(no)r(de)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)46 b Fb(4)2025 1023 y Fq(P)2025 1145 y Fb(P)n(orting)12 -b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(1)2025 1408 y Fq(S)2025 -1530 y Fb(Supp)r(orted)24 b(ASN.1)h(t)n(yp)r(es,)h(list)g(of)14 -b Fa(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)41 b Fb(2)2025 1793 y Fq(T)2025 1915 y Fb(threads)13 -b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(1)p eop end +TeXDict begin 32 34 bop 3659 -116 a Fs(32)150 299 y Fo(Concept)52 +b(Index)146 638 y Fr(A)150 759 y Fb(asn1Co)r(ding)27 +b(program)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31 +b Fb(5)150 848 y(asn1Deco)r(ding)c(program)14 b Fa(:)g(:)f(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)29 b Fb(6)150 936 y(asn1P)n(arser)e(program)13 +b Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b +Fb(5)150 1025 y(ASN.1)e(sc)n(hema)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(2)146 1293 +y Fr(F)150 1414 y Fb(FDL,)26 b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n +(tation)h(License)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)22 +b Fb(24)150 1503 y(F)-6 b(uture)25 b(dev)n(elopmen)n(ts)15 +b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(4)146 +1785 y Fr(H)150 1906 y Fb(Header)c(\014le)f(libtasn1.h)7 +b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)22 b Fb(4)2021 +638 y Fr(M)2025 756 y Fb(Main)k(t)n(yp)r(e)f(asn1)p 2550 +756 24 4 v 34 w(no)r(de)7 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)23 b Fb(4)2021 1021 y Fr(P)2025 1140 y Fb(P)n(orting)18 +b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(1)2021 1405 y Fr(S)2025 +1523 y Fb(Supp)r(orted)24 b(ASN.1)h(t)n(yp)r(es,)h(list)g(of)21 +b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)35 b Fb(2)2021 1788 y Fr(T)2025 1906 y Fb(threads)19 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(1)p eop end %%Page: 33 36 -TeXDict begin 33 35 bop 150 -116 a Fr(F)-8 b(unction)31 -b(and)f(Data)i(Index)2503 b(33)150 299 y Fn(F)-13 b(unction)52 -b(and)h(Data)i(Index)150 610 y Fd(asn1_array2tree)13 -b Fa(:)k(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fb(8)150 697 y Fd(asn1_bit_der)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(15)150 785 y -Fd(asn1_check_version)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 -b Fb(21)150 872 y Fd(asn1_copy_node)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g +TeXDict begin 33 35 bop 3659 -116 a Fs(33)150 299 y Fo(F)-13 +b(unction)52 b(and)h(Data)i(Index)150 610 y Fd(asn1_array2tree)23 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fb(9)150 697 y Fd(asn1_bit_der)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(16)150 785 +y Fd(asn1_check_version)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(10)150 959 y Fd(asn1_create_element)25 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(9)150 -1046 y Fd(asn1_decode_simple_der)10 b Fa(:)19 b(:)13 +24 b Fb(23)150 872 y Fd(asn1_copy_node)f Fa(:)13 b(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(11)150 959 y Fd +(asn1_create_element)7 b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 +b Fb(10)150 1046 y Fd(asn1_decode_simple_ber)16 b Fa(:)j(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)31 b Fb(22)150 1133 y Fd(asn1_decode_simple_der)16 +b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 1220 y Fd(asn1_delete_element)9 +b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(9)150 +1308 y Fd(asn1_delete_structure)i Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 +b Fb(9)150 1395 y Fd(asn1_delete_structure2)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)37 b Fb(20)150 1133 y Fd(asn1_delete_element)25 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(8)150 -1220 y Fd(asn1_delete_structure)15 b Fa(:)j(:)13 b(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fb(8)150 1308 y Fd(asn1_delete_structure2)13 b Fa(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)40 b Fb(8)150 1395 y Fd(asn1_der_coding)11 -b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fb(15)150 1482 y Fd(asn1_der_decoding)6 b Fa(:)17 b(:)c(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)32 b Fb(18)150 1569 y Fd(asn1_der_decoding_element) -26 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)46 b Fb(18)150 1656 y Fd(asn1_der_decoding_startEnd)18 -b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -44 b Fb(19)150 1743 y Fd(asn1_der_decoding2)25 b Fa(:)13 -b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(17)150 1831 y -Fd(asn1_dup_node)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)43 b Fb(10)150 1918 y Fd(asn1_encode_simple_der)10 -b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(15)150 2005 y Fd -(asn1_expand_any_defined_by)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(19)150 2092 y -Fd(asn1_expand_octet_string)28 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(19)150 -2179 y Fd(asn1_find_node)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)40 b Fb(21)2025 610 y Fd(asn1_find_structure_from_oid)15 -b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -42 b Fb(9)2025 697 y Fd(asn1_get_bit_der)9 b Fa(:)16 -b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(17)2025 -785 y Fd(asn1_get_length_ber)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 -b Fb(16)2025 872 y Fd(asn1_get_length_der)18 b Fa(:)f(:)c(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)34 b Fb(9)150 1482 y Fd(asn1_der_coding)17 +b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 +b Fb(17)150 1569 y Fd(asn1_der_decoding)12 b Fa(:)17 +b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(19)150 +1656 y Fd(asn1_der_decoding_element)9 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 +b Fb(20)150 1743 y Fd(asn1_der_decoding_startEnd)7 b +Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)21 b Fb(20)150 1831 y Fd(asn1_der_decoding2)10 +b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(19)150 +1918 y Fd(asn1_dup_node)h Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)37 b Fb(11)150 2005 y Fd(asn1_encode_simple_der)16 +b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)31 b Fb(16)150 2092 y Fd +(asn1_expand_any_defined_by)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(21)150 +2179 y Fd(asn1_expand_octet_string)11 b Fa(:)19 b(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)26 b Fb(21)150 2267 y Fd(asn1_find_node)d Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 +b Fb(23)2025 610 y Fd(asn1_find_structure_from_oid)19 +b Fa(:)f(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 +b Fb(10)2025 697 y Fd(asn1_get_bit_der)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)45 b Fb(16)2025 959 y Fd(asn1_get_octet_der)25 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(17)2025 -1046 y Fd(asn1_get_tag_der)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)35 b Fb(16)2025 1133 y Fd(asn1_length_der)11 +g(:)g(:)g(:)h(:)f(:)29 b Fb(19)2025 785 y Fd(asn1_get_length_ber)7 +b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(18)2025 +872 y Fd(asn1_get_length_der)7 b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +22 b Fb(17)2025 959 y Fd(asn1_get_object_id_der)16 b +Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(18)2025 1046 y Fd(asn1_get_octet_der)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fb(14)2025 1220 y Fd(asn1_number_of_elements)10 b Fa(:)18 -b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)37 b Fb(9)2025 1308 y Fd(asn1_octet_der)14 -b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fb(14)2025 1395 y Fd(asn1_parser2array)8 b Fa(:)17 -b(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(7)2025 -1482 y Fd(asn1_parser2tree)11 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)38 b Fb(7)2025 1569 y Fd(asn1_perror)24 -b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -48 b Fb(20)2025 1656 y Fd(asn1_print_structure)18 b Fa(:)f(:)c(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)45 b Fb(9)2025 1743 y Fd(asn1_read_node_value)16 -b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(14)2025 1831 y Fd(asn1_read_tag)16 -b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 -b Fb(14)2025 1918 y Fd(asn1_read_value)11 b Fa(:)17 b(:)c(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(12)2025 2005 y Fd -(asn1_read_value_type)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fb(13)2025 2092 y Fd(asn1_strerror)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(20)2025 2179 y -Fd(asn1_write_value)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)35 b Fb(10)p eop end +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(18)2025 +1133 y Fd(asn1_get_tag_der)15 b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)29 b Fb(17)2025 1220 y Fd(asn1_length_der)17 +b Fa(:)g(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 +b Fb(15)2025 1308 y Fd(asn1_number_of_elements)14 b Fa(:)k(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)28 b Fb(10)2025 1395 y Fd(asn1_octet_der)23 b +Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 +b Fb(16)2025 1482 y Fd(asn1_parser2array)14 b Fa(:)j(:)c(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)29 b Fb(8)2025 1569 y Fd(asn1_parser2tree)17 +b Fa(:)f(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)32 +b Fb(8)2025 1656 y Fd(asn1_perror)10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(22)2025 +1743 y Fd(asn1_print_structure)h Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 +b Fb(10)2025 1831 y Fd(asn1_read_node_value)26 b Fa(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(15)2025 1918 y Fd(asn1_read_tag)25 +b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 +b Fb(15)2025 2005 y Fd(asn1_read_value)17 b Fa(:)g(:)c(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(13)2025 2092 y Fd(asn1_read_value_type) +26 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(14)2025 2179 +y Fd(asn1_strerror)25 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)37 b Fb(22)2025 2267 y Fd(asn1_write_value)15 +b Fa(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29 b +Fb(11)p eop end %%Trailer userdict /end-hook known{end-hook}if diff --git a/doc/libtasn1.texi b/doc/libtasn1.texi index 7fabd21..6f86f0a 100644 --- a/doc/libtasn1.texi +++ b/doc/libtasn1.texi @@ -15,7 +15,7 @@ This manual is for GNU Libtasn1 which is a library for Abstract Syntax Notation One (ASN.1) and Distinguished Encoding Rules (DER) manipulation. -Copyright @copyright{} 2001-2015 Free Software Foundation, Inc. +Copyright @copyright{} 2001-2019 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/man/asn1_array2tree.3 b/doc/man/asn1_array2tree.3 index 90120e0..e85cfca 100644 --- a/doc/man/asn1_array2tree.3 +++ b/doc/man/asn1_array2tree.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_array2tree" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_array2tree" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_array2tree \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_bit_der.3 b/doc/man/asn1_bit_der.3 index 9f1553f..9309c75 100644 --- a/doc/man/asn1_bit_der.3 +++ b/doc/man/asn1_bit_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_bit_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_bit_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_bit_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_check_version.3 b/doc/man/asn1_check_version.3 index 4d567af..5d348ec 100644 --- a/doc/man/asn1_check_version.3 +++ b/doc/man/asn1_check_version.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_check_version" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_check_version" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_check_version \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_copy_node.3 b/doc/man/asn1_copy_node.3 index 45dbb94..0f3e560 100644 --- a/doc/man/asn1_copy_node.3 +++ b/doc/man/asn1_copy_node.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_copy_node" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_copy_node" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_copy_node \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_create_element.3 b/doc/man/asn1_create_element.3 index 31ec7d6..75f090e 100644 --- a/doc/man/asn1_create_element.3 +++ b/doc/man/asn1_create_element.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_create_element" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_create_element" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_create_element \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_decode_simple_ber.3 b/doc/man/asn1_decode_simple_ber.3 index ee34c13..f4e9545 100644 --- a/doc/man/asn1_decode_simple_ber.3 +++ b/doc/man/asn1_decode_simple_ber.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_decode_simple_ber" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_decode_simple_ber" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_decode_simple_ber \- API function .SH SYNOPSIS @@ -20,7 +20,7 @@ the length of the data .IP "unsigned int * ber_len" 12 the total length occupied by BER (may be \fBNULL\fP) .SH "DESCRIPTION" -Decodes a BER encoded type. The output is an allocated value +Decodes a BER encoded type. The output is an allocated value of the data. This decodes BER STRINGS only. Other types are decoded as DER. .SH "RETURNS" diff --git a/doc/man/asn1_decode_simple_der.3 b/doc/man/asn1_decode_simple_der.3 index 4b2a831..63afecb 100644 --- a/doc/man/asn1_decode_simple_der.3 +++ b/doc/man/asn1_decode_simple_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_decode_simple_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_decode_simple_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_decode_simple_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_delete_element.3 b/doc/man/asn1_delete_element.3 index 7925087..9f20521 100644 --- a/doc/man/asn1_delete_element.3 +++ b/doc/man/asn1_delete_element.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_delete_element" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_delete_element" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_delete_element \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_delete_structure.3 b/doc/man/asn1_delete_structure.3 index 7b15c2a..da4d69e 100644 --- a/doc/man/asn1_delete_structure.3 +++ b/doc/man/asn1_delete_structure.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_delete_structure" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_delete_structure" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_delete_structure \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_delete_structure2.3 b/doc/man/asn1_delete_structure2.3 index c1e1b26..c92f32f 100644 --- a/doc/man/asn1_delete_structure2.3 +++ b/doc/man/asn1_delete_structure2.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_delete_structure2" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_delete_structure2" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_delete_structure2 \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_der_coding.3 b/doc/man/asn1_der_coding.3 index 7880f70..2e7d196 100644 --- a/doc/man/asn1_der_coding.3 +++ b/doc/man/asn1_der_coding.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_der_coding" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_der_coding" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_der_coding \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_der_decoding.3 b/doc/man/asn1_der_decoding.3 index 84cd185..ca5db75 100644 --- a/doc/man/asn1_der_decoding.3 +++ b/doc/man/asn1_der_decoding.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_der_decoding" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_der_decoding" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_der_decoding \- API function .SH SYNOPSIS @@ -19,7 +19,7 @@ error occurred. .SH "DESCRIPTION" Fill the structure * \fIelement\fP with values of a DER encoding string. The structure must just be created with function -\fBasn1_create_element()\fP. +\fBasn1_create_element()\fP. Note that the * \fIelement\fP variable is provided as a pointer for historical reasons. diff --git a/doc/man/asn1_der_decoding2.3 b/doc/man/asn1_der_decoding2.3 index d88bc21..6468b15 100644 --- a/doc/man/asn1_der_decoding2.3 +++ b/doc/man/asn1_der_decoding2.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_der_decoding2" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_der_decoding2" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_der_decoding2 \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_der_decoding_element.3 b/doc/man/asn1_der_decoding_element.3 index 7c020de..08f007d 100644 --- a/doc/man/asn1_der_decoding_element.3 +++ b/doc/man/asn1_der_decoding_element.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_der_decoding_element" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_der_decoding_element" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_der_decoding_element \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_der_decoding_startEnd.3 b/doc/man/asn1_der_decoding_startEnd.3 index 1974fa4..7cbf616 100644 --- a/doc/man/asn1_der_decoding_startEnd.3 +++ b/doc/man/asn1_der_decoding_startEnd.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_der_decoding_startEnd" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_der_decoding_startEnd" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_der_decoding_startEnd \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_dup_node.3 b/doc/man/asn1_dup_node.3 index 5a86b2e..d0d67b2 100644 --- a/doc/man/asn1_dup_node.3 +++ b/doc/man/asn1_dup_node.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_dup_node" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_dup_node" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_dup_node \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_encode_simple_der.3 b/doc/man/asn1_encode_simple_der.3 index 62c2a25..0af0904 100644 --- a/doc/man/asn1_encode_simple_der.3 +++ b/doc/man/asn1_encode_simple_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_encode_simple_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_encode_simple_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_encode_simple_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_expand_any_defined_by.3 b/doc/man/asn1_expand_any_defined_by.3 index aa0e79e..df13a21 100644 --- a/doc/man/asn1_expand_any_defined_by.3 +++ b/doc/man/asn1_expand_any_defined_by.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_expand_any_defined_by" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_expand_any_defined_by" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_expand_any_defined_by \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_expand_octet_string.3 b/doc/man/asn1_expand_octet_string.3 index 8cc34a7..173645c 100644 --- a/doc/man/asn1_expand_octet_string.3 +++ b/doc/man/asn1_expand_octet_string.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_expand_octet_string" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_expand_octet_string" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_expand_octet_string \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_find_node.3 b/doc/man/asn1_find_node.3 index eb61677..8ef20e0 100644 --- a/doc/man/asn1_find_node.3 +++ b/doc/man/asn1_find_node.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_find_node" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_find_node" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_find_node \- API function .SH SYNOPSIS @@ -13,7 +13,7 @@ NODE_ASN element pointer. null terminated string with the element's name to find. .SH "DESCRIPTION" Searches for an element called \fIname\fP starting from \fIpointer\fP . The -name is composed by differents identifiers separated by dots. When +name is composed by different identifiers separated by dots. When * \fIpointer\fP has a name, the first identifier must be the name of * \fIpointer\fP , otherwise it must be the name of one child of * \fIpointer\fP . .SH "RETURNS" diff --git a/doc/man/asn1_find_structure_from_oid.3 b/doc/man/asn1_find_structure_from_oid.3 index 0e71339..d850500 100644 --- a/doc/man/asn1_find_structure_from_oid.3 +++ b/doc/man/asn1_find_structure_from_oid.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_find_structure_from_oid" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_find_structure_from_oid" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_find_structure_from_oid \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_get_bit_der.3 b/doc/man/asn1_get_bit_der.3 index 9e60ea8..8b40416 100644 --- a/doc/man/asn1_get_bit_der.3 +++ b/doc/man/asn1_get_bit_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_get_bit_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_get_bit_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_get_bit_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_get_length_ber.3 b/doc/man/asn1_get_length_ber.3 index 289ae44..ba2d0ba 100644 --- a/doc/man/asn1_get_length_ber.3 +++ b/doc/man/asn1_get_length_ber.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_get_length_ber" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_get_length_ber" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_get_length_ber \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_get_length_der.3 b/doc/man/asn1_get_length_der.3 index b2157af..7a396ab 100644 --- a/doc/man/asn1_get_length_der.3 +++ b/doc/man/asn1_get_length_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_get_length_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_get_length_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_get_length_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_get_object_id_der.3 b/doc/man/asn1_get_object_id_der.3 index fdef87a..35dd4b6 100644 --- a/doc/man/asn1_get_object_id_der.3 +++ b/doc/man/asn1_get_object_id_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_get_object_id_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_get_object_id_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_get_object_id_der \- API function .SH SYNOPSIS @@ -18,7 +18,8 @@ Pre\-allocated output buffer to put the textual object id in. .IP "int str_size" 12 Length of pre\-allocated output buffer. .SH "DESCRIPTION" -Converts a DER encoded object identifier to its textual form. +Converts a DER encoded object identifier to its textual form. This +function expects the DER object identifier without the tag. .SH "RETURNS" \fBASN1_SUCCESS\fP on success, or an error. .SH COPYRIGHT diff --git a/doc/man/asn1_get_octet_der.3 b/doc/man/asn1_get_octet_der.3 index 22fe3d8..8180a42 100644 --- a/doc/man/asn1_get_octet_der.3 +++ b/doc/man/asn1_get_octet_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_get_octet_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_get_octet_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_get_octet_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_get_tag_der.3 b/doc/man/asn1_get_tag_der.3 index c39ca94..88c882c 100644 --- a/doc/man/asn1_get_tag_der.3 +++ b/doc/man/asn1_get_tag_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_get_tag_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_get_tag_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_get_tag_der \- API function .SH SYNOPSIS @@ -16,7 +16,7 @@ Output variable containing decoded class. .IP "int * len" 12 Output variable containing the length of the DER TAG data. .IP "unsigned long * tag" 12 -Output variable containing the decoded tag. +Output variable containing the decoded tag (may be \fBNULL\fP). .SH "DESCRIPTION" Decode the class and TAG from DER code. .SH "RETURNS" diff --git a/doc/man/asn1_length_der.3 b/doc/man/asn1_length_der.3 index 6bae394..b8646b1 100644 --- a/doc/man/asn1_length_der.3 +++ b/doc/man/asn1_length_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_length_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_length_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_length_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_number_of_elements.3 b/doc/man/asn1_number_of_elements.3 index 414d293..86fe2d1 100644 --- a/doc/man/asn1_number_of_elements.3 +++ b/doc/man/asn1_number_of_elements.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_number_of_elements" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_number_of_elements" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_number_of_elements \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_octet_der.3 b/doc/man/asn1_octet_der.3 index 1f40633..6f0233d 100644 --- a/doc/man/asn1_octet_der.3 +++ b/doc/man/asn1_octet_der.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_octet_der" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_octet_der" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_octet_der \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_parser2array.3 b/doc/man/asn1_parser2array.3 index 38929fc..0b718b6 100644 --- a/doc/man/asn1_parser2array.3 +++ b/doc/man/asn1_parser2array.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_parser2array" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_parser2array" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_parser2array \- API function .SH SYNOPSIS @@ -27,7 +27,7 @@ included in \fIinputFileName\fP file. If \fIinputFileName\fP is will be "xx_asn1_tab". .SH "RETURNS" \fBASN1_SUCCESS\fP if the file has a correct syntax and every -identifier is known, \fBASN1_FILE_NOT_FOUND\fP if an error occured +identifier is known, \fBASN1_FILE_NOT_FOUND\fP if an error occurred while opening \fIinputFileName\fP , \fBASN1_SYNTAX_ERROR\fP if the syntax is not correct, \fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is an identifier that is not defined, \fBASN1_NAME_TOO_LONG\fP if in the diff --git a/doc/man/asn1_parser2tree.3 b/doc/man/asn1_parser2tree.3 index c29b411..361db5c 100644 --- a/doc/man/asn1_parser2tree.3 +++ b/doc/man/asn1_parser2tree.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_parser2tree" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_parser2tree" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_parser2tree \- API function .SH SYNOPSIS @@ -22,7 +22,7 @@ needed to manage the definitions included in \fIfile\fP file. .SH "RETURNS" \fBASN1_SUCCESS\fP if the file has a correct syntax and every identifier is known, \fBASN1_ELEMENT_NOT_EMPTY\fP if \fIdefinitions\fP not -\fBNULL\fP, \fBASN1_FILE_NOT_FOUND\fP if an error occured while +\fBNULL\fP, \fBASN1_FILE_NOT_FOUND\fP if an error occurred while opening \fIfile\fP , \fBASN1_SYNTAX_ERROR\fP if the syntax is not correct, \fBASN1_IDENTIFIER_NOT_FOUND\fP if in the file there is an identifier that is not defined, \fBASN1_NAME_TOO_LONG\fP if in the diff --git a/doc/man/asn1_perror.3 b/doc/man/asn1_perror.3 index 7dd11ba..12b47f6 100644 --- a/doc/man/asn1_perror.3 +++ b/doc/man/asn1_perror.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_perror" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_perror" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_perror \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_print_structure.3 b/doc/man/asn1_print_structure.3 index f259828..32cb706 100644 --- a/doc/man/asn1_print_structure.3 +++ b/doc/man/asn1_print_structure.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_print_structure" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_print_structure" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_print_structure \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_read_node_value.3 b/doc/man/asn1_read_node_value.3 index 590d1ac..5ba1925 100644 --- a/doc/man/asn1_read_node_value.3 +++ b/doc/man/asn1_read_node_value.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_read_node_value" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_read_node_value" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_read_node_value \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_read_tag.3 b/doc/man/asn1_read_tag.3 index c9c967d..2ab97cd 100644 --- a/doc/man/asn1_read_tag.3 +++ b/doc/man/asn1_read_tag.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_read_tag" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_read_tag" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_read_tag \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_read_value.3 b/doc/man/asn1_read_value.3 index 49f8ce4..62ebe39 100644 --- a/doc/man/asn1_read_value.3 +++ b/doc/man/asn1_read_value.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_read_value" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_read_value" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_read_value \- API function .SH SYNOPSIS @@ -18,7 +18,7 @@ pointer to memory cells already allocated (may be \fBNULL\fP). number of bytes of *value: value[0]..value[len\-1]. Initialy holds the sizeof value. .SH "DESCRIPTION" -Returns the value of one element inside a structure. +Returns the value of one element inside a structure. If an element is OPTIONAL and this returns \fBASN1_ELEMENT_NOT_FOUND\fP, it means that this element wasn't present in the der encoding that created the structure. The first element @@ -72,7 +72,8 @@ encoding of the structure actually used. \fBASN1_VALUE_NOT_FOUND\fP if there isn't any value for the element selected, and \fBASN1_MEM_ERROR\fP if The value vector isn't big enough to store the result, and in this case \fIlen\fP will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero\-length +this function may return \fBASN1_SUCCESS\fP even if the provided \fIlen\fP is zero. .SH COPYRIGHT Copyright \(co 2006-2015 Free Software Foundation, Inc.. .br diff --git a/doc/man/asn1_read_value_type.3 b/doc/man/asn1_read_value_type.3 index 8cb2ec9..e147c85 100644 --- a/doc/man/asn1_read_value_type.3 +++ b/doc/man/asn1_read_value_type.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_read_value_type" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_read_value_type" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_read_value_type \- API function .SH SYNOPSIS @@ -20,7 +20,7 @@ holds the sizeof value. .IP "unsigned int * etype" 12 The type of the value read (ASN1_ETYPE) .SH "DESCRIPTION" -Returns the type and value of one element inside a structure. +Returns the type and value of one element inside a structure. If an element is OPTIONAL and this returns \fBASN1_ELEMENT_NOT_FOUND\fP, it means that this element wasn't present in the der encoding that created the structure. The first element @@ -74,7 +74,8 @@ encoding of the structure actually used. \fBASN1_VALUE_NOT_FOUND\fP if there isn't any value for the element selected, and \fBASN1_MEM_ERROR\fP if The value vector isn't big enough to store the result, and in this case \fIlen\fP will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero\-length +this function may return \fBASN1_SUCCESS\fP even if the provided \fIlen\fP is zero. .SH COPYRIGHT Copyright \(co 2006-2015 Free Software Foundation, Inc.. .br diff --git a/doc/man/asn1_strerror.3 b/doc/man/asn1_strerror.3 index 9c33edd..4d1840e 100644 --- a/doc/man/asn1_strerror.3 +++ b/doc/man/asn1_strerror.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_strerror" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_strerror" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_strerror \- API function .SH SYNOPSIS diff --git a/doc/man/asn1_write_value.3 b/doc/man/asn1_write_value.3 index bd35336..f560ef1 100644 --- a/doc/man/asn1_write_value.3 +++ b/doc/man/asn1_write_value.3 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by gdoc. -.TH "asn1_write_value" 3 "4.8" "libtasn1" "libtasn1" +.TH "asn1_write_value" 3 "4.13" "libtasn1" "libtasn1" .SH NAME asn1_write_value \- API function .SH SYNOPSIS diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am index c3a1def..ef6bf98 100644 --- a/doc/reference/Makefile.am +++ b/doc/reference/Makefile.am @@ -1,7 +1,28 @@ -## Process this file with automake to produce Makefile.in - -# We require automake 1.6 at least. -AUTOMAKE_OPTIONS = 1.6 +# -*- mode: makefile -*- +# +# Makefile.am - template makefile for gtk-doc module +# Copyright (C) 2007-2017 Stefan Sauer +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the above copyright owner gives unlimited +# permission to copy, distribute and modify this Makefile.am template. +# You need not follow the terms of the GNU General Public License when +# using or distributing such Makefile.am files, even though portions of +# the text of the Makefile.am appear in them. The GNU General Public +# License (GPL) does govern all other use of the material that constitutes +# the Makefile.am template. # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to @@ -14,9 +35,8 @@ DOC_MODULE=$(PACKAGE) # Uncomment for versioned docs and specify the version of the module, e.g. '2'. #DOC_MODULE_VERSION=2 - -# The top-level SGML file. You can change this if you want to. -DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml +# The top-level XML file. +DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml # Directories containing the source code. # gtk-doc will search all .c and .h files beneath these paths @@ -24,25 +44,21 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml # e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk DOC_SOURCE_DIR=$(top_srcdir)/lib -# Extra options to pass to gtkdoc-scangobj. Not normally needed. +# Extra options to pass to gtkdoc-scangobj. Normally not needed. SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS=--ignore-decorators=ASN1_API -# Extra options to supply to gtkdoc-mkdb. +# Extra options to supply to gtkdoc-mkdb # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml MKDB_OPTIONS=--xml-mode --output-format=xml -# Extra options to supply to gtkdoc-mktmpl -# e.g. MKTMPL_OPTIONS=--only-section-tmpl -MKTMPL_OPTIONS= - # Extra options to supply to gtkdoc-mkhtml MKHTML_OPTIONS= -# Extra options to supply to gtkdoc-fixref. Not normally needed. +# Extra options to supply to gtkdoc-fixref. Normally not needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS= @@ -64,13 +80,12 @@ IGNORE_HFILES=element.h gstr.h int.h parser_aux.h structure.h gllib # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES= -# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). -# e.g. content_files=running.sgml building.sgml changes-2.0.sgml +# Extra files that are included by $(DOC_MAIN_SGML_FILE). +# e.g. content_files=running.xml building.xml changes-2.0.xml content_files= -# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded -# These files must be listed here *and* in content_files -# e.g. expand_content_files=running.sgml +# Files where gtk-doc abbrevations (#GtkWidget) are expanded +# e.g. expand_content_files=running.xml expand_content_files= # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. @@ -84,19 +99,10 @@ GTKDOC_LIBS= # This includes the standard gtk-doc make rules, copied by gtkdocize. include $(top_srcdir)/gtk-doc.make -# Other files to distribute -# e.g. EXTRA_DIST += version.xml.in -EXTRA_DIST += - -# Files not to distribute -# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types -# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt -#DISTCLEANFILES += - -# Comment this out if you want 'make check' to test you doc status +# Comment this out if you don't want 'make check' to test you doc status # and run some sanity checks if ENABLE_GTK_DOC -TESTS_ENVIRONMENT = cd $(srcdir) && \ +TESTS_ENVIRONMENT = \ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) #TESTS = $(GTKDOC_CHECK) diff --git a/doc/reference/Makefile.in b/doc/reference/Makefile.in index cac282f..4bdd9b2 100644 --- a/doc/reference/Makefile.in +++ b/doc/reference/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -15,6 +15,55 @@ @SET_MAKE@ # -*- mode: makefile -*- +# +# Makefile.am - template makefile for gtk-doc module +# Copyright (C) 2007-2017 Stefan Sauer +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the above copyright owner gives unlimited +# permission to copy, distribute and modify this Makefile.am template. +# You need not follow the terms of the GNU General Public License when +# using or distributing such Makefile.am files, even though portions of +# the text of the Makefile.am appear in them. The GNU General Public +# License (GPL) does govern all other use of the material that constitutes +# the Makefile.am template. + +# This is a blank Makefile.am for using gtk-doc. +# Copy this to your project's API docs directory and modify the variables to +# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples +# of using the various options. + +# -*- mode: makefile -*- +# +# gtk-doc.make - make rules for gtk-doc +# Copyright (C) 2003 James Henstridge +# 2004-2007 Damon Chaplin +# 2007-2017 Stefan Sauer +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. #################################### # Everything below here is generic # @@ -95,62 +144,43 @@ build_triplet = @build@ host_triplet = @host@ subdir = doc/reference ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \ - $(top_srcdir)/lib/glm4/ld-version-script.m4 \ - $(top_srcdir)/lib/glm4/minmax.m4 \ - $(top_srcdir)/lib/glm4/string_h.m4 \ - $(top_srcdir)/lib/glm4/strverscmp.m4 \ - $(top_srcdir)/lib/glm4/visibility.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/absolute-header.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/extern-inline.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ - $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/largefile.m4 \ - $(top_srcdir)/gl/m4/limits-h.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/msvc-inval.m4 \ - $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ - $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ - $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \ - $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/valgrind-tests.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/warn-on-use.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \ - $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/update-header-version.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ + $(top_srcdir)/m4/ax_ac_print_to_file.m4 \ + $(top_srcdir)/m4/ax_add_am_macro_static.m4 \ + $(top_srcdir)/m4/ax_am_macros_static.m4 \ + $(top_srcdir)/m4/ax_check_gnu_make.m4 \ + $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_file_escapes.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \ + $(top_srcdir)/m4-gl/__inline.m4 \ + $(top_srcdir)/m4-gl/absolute-header.m4 \ + $(top_srcdir)/m4-gl/extensions.m4 \ + $(top_srcdir)/m4-gl/extern-inline.m4 \ + $(top_srcdir)/m4-gl/gnulib-common.m4 \ + $(top_srcdir)/m4-gl/gnulib-comp.m4 \ + $(top_srcdir)/m4-gl/include_next.m4 \ + $(top_srcdir)/m4-gl/ld-version-script.m4 \ + $(top_srcdir)/m4-gl/limits-h.m4 \ + $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \ + $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \ + $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \ + $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \ + $(top_srcdir)/m4-gl/strverscmp.m4 \ + $(top_srcdir)/m4-gl/sys_types_h.m4 \ + $(top_srcdir)/m4-gl/valgrind-tests.m4 \ + $(top_srcdir)/m4-gl/visibility.m4 \ + $(top_srcdir)/m4-gl/warn-on-use.m4 \ + $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = version.xml +CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -172,8 +202,7 @@ am__can_run_installinfo = \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \ - $(top_srcdir)/gtk-doc.make +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/gtk-doc.make DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -182,6 +211,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ AS = @AS@ +ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@ +ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@ +ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@ +ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -195,6 +228,11 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ +CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ +CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ +CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ +CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ +CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ @@ -208,86 +246,13 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CHDIR = @GNULIB_CHDIR@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ -GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ -GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GCOV = @GCOV@ +GENHTML = @GENHTML@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ -GNULIB_FGETC = @GNULIB_FGETC@ -GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPURGE = @GNULIB_FPURGE@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREAD = @GNULIB_FREAD@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSCANF = @GNULIB_FSCANF@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSTAT = @GNULIB_FSTAT@ -GNULIB_FSTATAT = @GNULIB_FSTATAT@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETC = @GNULIB_GETC@ -GNULIB_GETCHAR = @GNULIB_GETCHAR@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LINKAT = @GNULIB_LINKAT@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ @@ -302,66 +267,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MBTOWC = @GNULIB_MBTOWC@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKFIFO = @GNULIB_MKFIFO@ -GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ -GNULIB_MKNOD = @GNULIB_MKNOD@ -GNULIB_MKNODAT = @GNULIB_MKNODAT@ -GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ -GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ -GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -GNULIB_PCLOSE = @GNULIB_PCLOSE@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PIPE = @GNULIB_PIPE@ -GNULIB_PIPE2 = @GNULIB_PIPE2@ -GNULIB_POPEN = @GNULIB_POPEN@ -GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_PREAD = @GNULIB_PREAD@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PTSNAME = @GNULIB_PTSNAME@ -GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_PWRITE = @GNULIB_PWRITE@ -GNULIB_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RANDOM = @GNULIB_RANDOM@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READ = @GNULIB_READ@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_READLINKAT = @GNULIB_READLINKAT@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_REALPATH = @GNULIB_REALPATH@ -GNULIB_REMOVE = @GNULIB_REMOVE@ -GNULIB_RENAME = @GNULIB_RENAME@ -GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANF = @GNULIB_SCANF@ -GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STAT = @GNULIB_STAT@ -GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -373,196 +284,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_SYMLINK = @GNULIB_SYMLINK@ -GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ -GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TIMEGM = @GNULIB_TIMEGM@ -GNULIB_TIME_R = @GNULIB_TIME_R@ -GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNLINK = @GNULIB_UNLINK@ -GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ -GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_USLEEP = @GNULIB_USLEEP@ -GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VFSCANF = @GNULIB_VFSCANF@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSCANF = @GNULIB_VSCANF@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ -HAVE_ATOLL = @HAVE_ATOLL@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ -HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ -HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ -HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ -HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ -HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ -HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ -HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ -HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_DUP3 = @HAVE_DUP3@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FACCESSAT = @HAVE_FACCESSAT@ -HAVE_FCHDIR = @HAVE_FCHDIR@ -HAVE_FCHMODAT = @HAVE_FCHMODAT@ -HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ -HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSTATAT = @HAVE_FSTATAT@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_FUTIMENS = @HAVE_FUTIMENS@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETGROUPS = @HAVE_GETGROUPS@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ -HAVE_GRANTPT = @HAVE_GRANTPT@ -HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDIRAT = @HAVE_MKDIRAT@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_MKFIFO = @HAVE_MKFIFO@ -HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ -HAVE_MKNOD = @HAVE_MKNOD@ -HAVE_MKNODAT = @HAVE_MKNODAT@ -HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ -HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ -HAVE_MKSTEMP = @HAVE_MKSTEMP@ -HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ -HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_PCLOSE = @HAVE_PCLOSE@ -HAVE_PIPE = @HAVE_PIPE@ -HAVE_PIPE2 = @HAVE_PIPE2@ -HAVE_POPEN = @HAVE_POPEN@ -HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ -HAVE_PREAD = @HAVE_PREAD@ -HAVE_PTSNAME = @HAVE_PTSNAME@ -HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ -HAVE_PWRITE = @HAVE_PWRITE@ -HAVE_QSORT_R = @HAVE_QSORT_R@ -HAVE_RANDOM = @HAVE_RANDOM@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_READLINKAT = @HAVE_READLINKAT@ -HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYMLINK = @HAVE_SYMLINK@ -HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_TIMEGM = @HAVE_TIMEGM@ -HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNLINKAT = @HAVE_UNLINKAT@ -HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_USLEEP = @HAVE_USLEEP@ -HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE__EXIT = @HAVE__EXIT@ HELP2MAN = @HELP2MAN@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -572,52 +342,34 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ -LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ -LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIMITS_H = @LIMITS_H@ LIPO = @LIPO@ LN_S = @LN_S@ -LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ -NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ -NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ -NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ -NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -633,91 +385,13 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_CALLOC = @REPLACE_CALLOC@ -REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_DUP = @REPLACE_DUP@ -REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FPURGE = @REPLACE_FPURGE@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FSTAT = @REPLACE_FSTAT@ -REPLACE_FSTATAT = @REPLACE_FSTATAT@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ -REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETDELIM = @REPLACE_GETDELIM@ -REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ -REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ -REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_GMTIME = @REPLACE_GMTIME@ -REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LINK = @REPLACE_LINK@ -REPLACE_LINKAT = @REPLACE_LINKAT@ -REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MALLOC = @REPLACE_MALLOC@ -REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKFIFO = @REPLACE_MKFIFO@ -REPLACE_MKNOD = @REPLACE_MKNOD@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_POPEN = @REPLACE_POPEN@ -REPLACE_PREAD = @REPLACE_PREAD@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PTSNAME = @REPLACE_PTSNAME@ -REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_PWRITE = @REPLACE_PWRITE@ -REPLACE_QSORT_R = @REPLACE_QSORT_R@ -REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ -REPLACE_READ = @REPLACE_READ@ -REPLACE_READLINK = @REPLACE_READLINK@ -REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ -REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMOVE = @REPLACE_REMOVE@ -REPLACE_RENAME = @REPLACE_RENAME@ -REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ -REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SLEEP = @REPLACE_SLEEP@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STAT = @REPLACE_STAT@ -REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -729,48 +403,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ -REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ -REPLACE_SYMLINK = @REPLACE_SYMLINK@ -REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ -REPLACE_UNLINK = @REPLACE_UNLINK@ -REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ -REPLACE_UNSETENV = @REPLACE_UNSETENV@ -REPLACE_USLEEP = @REPLACE_USLEEP@ -REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCTOMB = @REPLACE_WCTOMB@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDARG_H = @STDARG_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ -UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ -WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ YACC = @YACC@ YFLAGS = @YFLAGS@ @@ -809,14 +457,11 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ +ifGNUmake = @ifGNUmake@ +ifnGNUmake = @ifnGNUmake@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -lgltests_WITNESS = @lgltests_WITNESS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ @@ -838,22 +483,14 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -# We require automake 1.6 at least. -AUTOMAKE_OPTIONS = 1.6 - -# This is a blank Makefile.am for using gtk-doc. -# Copy this to your project's API docs directory and modify the variables to -# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples -# of using the various options. - # The name of the module, e.g. 'glib'. DOC_MODULE = $(PACKAGE) # Uncomment for versioned docs and specify the version of the module, e.g. '2'. #DOC_MODULE_VERSION=2 -# The top-level SGML file. You can change this if you want to. -DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml +# The top-level XML file. +DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml # Directories containing the source code. # gtk-doc will search all .c and .h files beneath these paths @@ -861,25 +498,21 @@ DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml # e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk DOC_SOURCE_DIR = $(top_srcdir)/lib -# Extra options to pass to gtkdoc-scangobj. Not normally needed. +# Extra options to pass to gtkdoc-scangobj. Normally not needed. SCANGOBJ_OPTIONS = # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS = --ignore-decorators=ASN1_API -# Extra options to supply to gtkdoc-mkdb. +# Extra options to supply to gtkdoc-mkdb # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml MKDB_OPTIONS = --xml-mode --output-format=xml -# Extra options to supply to gtkdoc-mktmpl -# e.g. MKTMPL_OPTIONS=--only-section-tmpl -MKTMPL_OPTIONS = - # Extra options to supply to gtkdoc-mkhtml MKHTML_OPTIONS = -# Extra options to supply to gtkdoc-fixref. Not normally needed. +# Extra options to supply to gtkdoc-fixref. Normally not needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS = @@ -901,13 +534,12 @@ IGNORE_HFILES = element.h gstr.h int.h parser_aux.h structure.h gllib # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES = -# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). -# e.g. content_files=running.sgml building.sgml changes-2.0.sgml +# Extra files that are included by $(DOC_MAIN_SGML_FILE). +# e.g. content_files=running.xml building.xml changes-2.0.xml content_files = -# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded -# These files must be listed here *and* in content_files -# e.g. expand_content_files=running.sgml +# Files where gtk-doc abbrevations (#GtkWidget) are expanded +# e.g. expand_content_files=running.xml expand_content_files = # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. @@ -933,19 +565,18 @@ GPATH = $(srcdir) TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE) SETUP_FILES = \ $(content_files) \ + $(expand_content_files) \ $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt \ $(DOC_MODULE)-overrides.txt +EXTRA_DIST = \ + $(HTML_IMAGES) \ + $(SETUP_FILES) -# This includes the standard gtk-doc make rules, copied by gtkdocize. - -# Other files to distribute -# e.g. EXTRA_DIST += version.xml.in -EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) -DOC_STAMPS = setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \ +DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \ html-build.stamp pdf-build.stamp \ - tmpl.stamp sgml.stamp html.stamp pdf.stamp + sgml.stamp html.stamp pdf.stamp SCANOBJ_FILES = \ $(DOC_MODULE).args \ @@ -959,20 +590,48 @@ REPORT_FILES = \ $(DOC_MODULE)-undeclared.txt \ $(DOC_MODULE)-unused.txt -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) -@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = -@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp -@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = -@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp +CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test +@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = +@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp +@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = +@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp -# Files not to distribute -# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types -# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt -#DISTCLEANFILES += +#### setup #### +GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_@AM_V@) +GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_@AM_DEFAULT_V@) +GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build"; + +#### scan #### +GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_@AM_V@) +GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_@AM_DEFAULT_V@) +GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files"; +GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_@AM_V@) +GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@) +GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects"; + +#### xml #### +GTK_DOC_V_XML = $(GTK_DOC_V_XML_@AM_V@) +GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_@AM_DEFAULT_V@) +GTK_DOC_V_XML_0 = @echo " DOC Building XML"; + +#### html #### +GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_@AM_V@) +GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_@AM_DEFAULT_V@) +GTK_DOC_V_HTML_0 = @echo " DOC Building HTML"; +GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_@AM_V@) +GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_@AM_DEFAULT_V@) +GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references"; -# Comment this out if you want 'make check' to test you doc status +#### pdf #### +GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_@AM_V@) +GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_@AM_DEFAULT_V@) +GTK_DOC_V_PDF_0 = @echo " DOC Building PDF"; + +# This includes the standard gtk-doc make rules, copied by gtkdocize. + +# Comment this out if you don't want 'make check' to test you doc status # and run some sanity checks -@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = cd $(srcdir) && \ +@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = \ @ENABLE_GTK_DOC_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ @ENABLE_GTK_DOC_TRUE@ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) @@ -988,16 +647,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__c exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/reference/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/reference/Makefile + $(AUTOMAKE) --foreign doc/reference/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_srcdir)/gtk-doc.make $(am__empty): @@ -1009,8 +668,6 @@ $(top_srcdir)/configure: $(am__configure_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo @@ -1024,7 +681,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1059,6 +719,7 @@ distdir: $(DISTFILES) dist-hook check-am: all-am check: check-am +@ENABLE_GTK_DOC_FALSE@all-local: all-am: Makefile all-local installdirs: install: install-am @@ -1178,133 +839,113 @@ uninstall-am: uninstall-local .PRECIOUS: Makefile -@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) -@ENABLE_GTK_DOC_FALSE@all-local: +gtkdoc-check.test: Makefile + $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \ + echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \ + chmod +x $@ + +all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) +.PHONY: all-gtk-doc + +@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) $(REPORT_FILES): sgml-build.stamp -#### setup #### - setup-build.stamp: - -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - echo ' DOC Preparing build'; \ - files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ - if test "x$$files" != "x" ; then \ - for file in $$files ; do \ - test -f $(abs_srcdir)/$$file && \ - cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \ - done; \ - fi; \ - test -d $(abs_srcdir)/tmpl && \ - { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \ - chmod -R u+w $(abs_builddir)/tmpl; } \ + -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ + files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \ + if test "x$$files" != "x" ; then \ + for file in $$files ; do \ + destdir=`dirname $(abs_builddir)/$$file`; \ + test -d "$$destdir" || mkdir -p "$$destdir"; \ + test -f $(abs_srcdir)/$$file && \ + cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ + done; \ + fi; \ fi - @touch setup-build.stamp - -#### scan #### + $(AM_V_at)touch setup-build.stamp -scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) - @echo ' DOC Scanning header files' - @_source_dir='' ; \ +scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB) + $(GTK_DOC_V_SCAN)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ - _source_dir="$${_source_dir} --source-dir=$$i" ; \ + _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) - @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ - echo " DOC Introspecting gobjects"; \ - scanobj_options=""; \ - gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ - if test "x$(V)" = "x1"; then \ - scanobj_options="--verbose"; \ - fi; \ + $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ + scanobj_options=""; \ + gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ + if test "$$?" = "0"; then \ + if test "x$(V)" = "x1"; then \ + scanobj_options="--verbose"; \ fi; \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ - gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ + fi; \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ + gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ else \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ fi - @touch scan-build.stamp + $(AM_V_at)touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true -#### templates #### - -tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo ' DOC Rebuilding template files' - @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) - @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - if test -w $(abs_srcdir) ; then \ - cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \ - fi \ - fi - @touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -$(srcdir)/tmpl/*.sgml: - @true - -#### xml #### - -sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) - @echo ' DOC Building XML' - @-chmod -R u+w $(srcdir) - @_source_dir='' ; \ +sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent + $(GTK_DOC_V_XML)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ - _source_dir="$${_source_dir} --source-dir=$$i" ; \ + _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) - @touch sgml-build.stamp + $(AM_V_at)touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true -#### html #### +$(DOC_MAIN_SGML_FILE): sgml-build.stamp + @true -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo ' DOC Building HTML' - @rm -rf html - @mkdir html - @mkhtml_options=""; \ +xml/gtkdocentities.ent: Makefile + $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \ + echo "<!ENTITY package \"$(PACKAGE)\">"; \ + echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \ + echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \ + echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \ + echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \ + echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \ + echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \ + ) > $@ + +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files) + $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ + mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ if test "x$(V)" = "x1"; then \ mkhtml_options="$$mkhtml_options --verbose"; \ fi; \ fi; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \ fi; \ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) -@test "x$(HTML_IMAGES)" = "x" || \ for file in $(HTML_IMAGES) ; do \ - if test -f $(abs_srcdir)/$$file ; then \ - cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ - fi; \ - if test -f $(abs_builddir)/$$file ; then \ - cp $(abs_builddir)/$$file $(abs_builddir)/html; \ - fi; \ + test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ + test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \ + test -f $$file && cp $$file $(abs_builddir)/html; \ done; - @echo ' DOC Fixing cross-references' - @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - @touch html-build.stamp - -#### pdf #### + $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + $(AM_V_at)touch html-build.stamp -pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo ' DOC Building PDF' - @rm -f $(DOC_MODULE).pdf - @mkpdf_options=""; \ +pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files) + $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ + mkpdf_options=""; \ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ if test "x$(V)" = "x1"; then \ mkpdf_options="$$mkpdf_options --verbose"; \ fi; \ @@ -1319,23 +960,28 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) done; \ fi; \ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) - @touch pdf-build.stamp + $(AM_V_at)touch pdf-build.stamp ############## clean-local: @rm -f *~ *.bak @rm -rf .libs + @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \ + rm -f $(DOC_MODULE).types; \ + fi + @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \ + rm -f $(DOC_MODULE)-sections.txt; \ + fi distclean-local: @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \ - rm -rf tmpl; \ + rm -f $(SETUP_FILES) $(DOC_MODULE).types; \ fi -maintainer-clean-local: clean +maintainer-clean-local: @rm -rf xml html install-data-local: @@ -1371,15 +1017,15 @@ uninstall-local: # # Require gtk-doc when making dist # -@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc: -@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc: -@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist" -@ENABLE_GTK_DOC_FALSE@ @false - -dist-hook: dist-check-gtkdoc dist-hook-local - @mkdir $(distdir)/tmpl +@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs +@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc: +@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***" +@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***" +@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***" +@HAVE_GTK_DOC_FALSE@ @false + +dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local @mkdir $(distdir)/html - @-cp ./tmpl/*.sgml $(distdir)/tmpl @cp ./html/* $(distdir)/html @-cp ./$(DOC_MODULE).pdf $(distdir)/ @-cp ./$(DOC_MODULE).types $(distdir)/ diff --git a/doc/reference/html/ix03.html b/doc/reference/html/api-index-1-6.html index ffd51d7..f91ff0d 100644 --- a/doc/reference/html/ix03.html +++ b/doc/reference/html/api-index-1-6.html @@ -2,13 +2,13 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Index of new symbols in 1.6: GNU Libtasn1 API Reference Manual</title> +<title>Index of new API in 1.6: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="prev" href="ix02.html" title="Index of deprecated symbols"> -<link rel="next" href="ix04.html" title="Index of new symbols in 2.0"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API"> +<link rel="next" href="api-index-2-0.html" title="Index of new API in 2.0"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -16,15 +16,15 @@ <td width="100%" align="left" class="shortcuts"></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><img src="up-insensitive.png" width="16" height="16" border="0"></td> -<td><a accesskey="p" href="ix02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ix04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="api-index-2-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="index"> <div class="titlepage"><div><div><h1 class="title"> -<a name="id-1.5"></a>Index of new symbols in 1.6</h1></div></div></div> -<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div> +<a name="api-index-1-6"></a>Index of new API in 1.6</h1></div></div></div> +<a name="idx"></a> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/ix04.html b/doc/reference/html/api-index-2-0.html index 316a9f9..961c1bb 100644 --- a/doc/reference/html/ix04.html +++ b/doc/reference/html/api-index-2-0.html @@ -2,12 +2,12 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Index of new symbols in 2.0: GNU Libtasn1 API Reference Manual</title> +<title>Index of new API in 2.0: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="prev" href="ix03.html" title="Index of new symbols in 1.6"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="prev" href="api-index-1-6.html" title="Index of new API in 1.6"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -15,15 +15,15 @@ <td width="100%" align="left" class="shortcuts"></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><img src="up-insensitive.png" width="16" height="16" border="0"></td> -<td><a accesskey="p" href="ix03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="p" href="api-index-1-6.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><img src="right-insensitive.png" width="16" height="16" border="0"></td> </tr></table> <div class="index"> <div class="titlepage"><div><div><h1 class="title"> -<a name="id-1.6"></a>Index of new symbols in 2.0</h1></div></div></div> -<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div> +<a name="api-index-2-0"></a>Index of new API in 2.0</h1></div></div></div> +<a name="idx"></a> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/api-index-full.html b/doc/reference/html/api-index-full.html index 066e19e..8f25b51 100644 --- a/doc/reference/html/api-index-full.html +++ b/doc/reference/html/api-index-full.html @@ -2,13 +2,13 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>API Index: GNU Libtasn1 API Reference Manual</title> +<title>API Index: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="prev" href="libtasn1-libtasn1.html" title="libtasn1"> -<link rel="next" href="ix02.html" title="Index of deprecated symbols"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="prev" href="object-tree.html" title="Object Hierarchy"> +<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -40,8 +40,8 @@ <a class="shortcut" href="#idxV">V</a></span></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><img src="up-insensitive.png" width="16" height="16" border="0"></td> -<td><a accesskey="p" href="libtasn1-libtasn1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ix02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="index"> <div class="titlepage"><div><div><h1 class="title"> @@ -254,6 +254,10 @@ <a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-VISIBLE-STRING:CAPS" title="ASN1_TAG_VISIBLE_STRING">ASN1_TAG_VISIBLE_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a> </dt> <dd></dd> +<dt> +<a class="link" href="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS" title="ASN1_TIME_ENCODING_ERROR">ASN1_TIME_ENCODING_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a> +</dt> +<dd></dd> <a name="idxV"></a><h3 class="title">V</h3> <dt> <a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-FOUND:CAPS" title="ASN1_VALUE_NOT_FOUND">ASN1_VALUE_NOT_FOUND</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a> @@ -269,6 +273,6 @@ <dd></dd> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/intro.html b/doc/reference/html/ch01.html index aadd9b2..130512e 100644 --- a/doc/reference/html/intro.html +++ b/doc/reference/html/ch01.html @@ -2,13 +2,13 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 API Reference Manual</title> +<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="prev" href="index.html" title="GNU Libtasn1 API Reference Manual"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="prev" href="index.html" title="GNU Libtasn1 Reference Manual"> <link rel="next" href="libtasn1-libtasn1.html" title="libtasn1"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -21,9 +21,9 @@ </tr></table> <div class="chapter"> <div class="titlepage"><div><div><h1 class="title"> -<a name="intro"></a>GNU Libtasn1 API Reference Manual</h1></div></div></div> +<a name="id-1.2"></a>GNU Libtasn1 API Reference Manual</h1></div></div></div> <div class="toc"><dl class="toc"><dt> -<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"></span> +<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"> — GNU ASN.1 library</span> </dt></dl></div> <p> This document describes the GNU Libtasn1 library developed for @@ -37,6 +37,6 @@ </p> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/ix02.html b/doc/reference/html/deprecated-api-index.html index dc6a585..de6e230 100644 --- a/doc/reference/html/ix02.html +++ b/doc/reference/html/deprecated-api-index.html @@ -2,13 +2,13 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Index of deprecated symbols: GNU Libtasn1 API Reference Manual</title> +<title>Index of deprecated API: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="up" href="index.html" title="GNU Libtasn1 API Reference Manual"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual"> <link rel="prev" href="api-index-full.html" title="API Index"> -<link rel="next" href="ix03.html" title="Index of new symbols in 1.6"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="next" href="api-index-1-6.html" title="Index of new API in 1.6"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -17,14 +17,14 @@ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><img src="up-insensitive.png" width="16" height="16" border="0"></td> <td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ix03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="api-index-1-6.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="index"> <div class="titlepage"><div><div><h1 class="title"> -<a name="id-1.4"></a>Index of deprecated symbols</h1></div></div></div> -<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div> +<a name="deprecated-api-index"></a>Index of deprecated API</h1></div></div></div> +<a name="idx"></a> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png Binary files differindex c989d46..e80e202 100644 --- a/doc/reference/html/home.png +++ b/doc/reference/html/home.png diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html index a799e43..e91eeb4 100644 --- a/doc/reference/html/index.html +++ b/doc/reference/html/index.html @@ -2,21 +2,20 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 API Reference Manual</title> +<title>GNU Libtasn1 Reference Manual: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="next" href="intro.html" title="GNU Libtasn1 API Reference Manual"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="next" href="ch01.html" title="GNU Libtasn1 API Reference Manual"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div class="book"> <div class="titlepage"> <div> -<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libtasn1 API Reference Manual</p></th></tr></table></div> +<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libtasn1 Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for GNU Libtasn1 4.10 -. + for GNU Libtasn1 4.14. The latest version of this documentation can be found on-line at <a class="ulink" href="https://www.gnu.org/software/libtasn1/reference/" target="_top">https://www.gnu.org/software/libtasn1/reference/</a>. </p></div> @@ -24,17 +23,18 @@ <hr> </div> <div class="toc"><dl class="toc"> -<dt><span class="chapter"><a href="intro.html">GNU Libtasn1 API Reference Manual</a></span></dt> +<dt><span class="chapter"><a href="ch01.html">GNU Libtasn1 API Reference Manual</a></span></dt> <dd><dl><dt> -<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"></span> +<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"> — GNU ASN.1 library</span> </dt></dl></dd> +<dt><span class="chapter"><a href="object-tree.html">Object Hierarchy</a></span></dt> <dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt> -<dt><span class="index"><a href="ix02.html">Index of deprecated symbols</a></span></dt> -<dt><span class="index"><a href="ix03.html">Index of new symbols in 1.6</a></span></dt> -<dt><span class="index"><a href="ix04.html">Index of new symbols in 2.0</a></span></dt> +<dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt> +<dt><span class="index"><a href="api-index-1-6.html">Index of new API in 1.6</a></span></dt> +<dt><span class="index"><a href="api-index-2-0.html">Index of new API in 2.0</a></span></dt> </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/left-insensitive.png b/doc/reference/html/left-insensitive.png Binary files differindex b1148fb..fea007e 100644 --- a/doc/reference/html/left-insensitive.png +++ b/doc/reference/html/left-insensitive.png diff --git a/doc/reference/html/left.png b/doc/reference/html/left.png Binary files differindex c164913..193905f 100644 --- a/doc/reference/html/left.png +++ b/doc/reference/html/left.png diff --git a/doc/reference/html/libtasn1-libtasn1.html b/doc/reference/html/libtasn1-libtasn1.html index 6ae8d41..f0ae073 100644 --- a/doc/reference/html/libtasn1-libtasn1.html +++ b/doc/reference/html/libtasn1-libtasn1.html @@ -2,13 +2,13 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>libtasn1: GNU Libtasn1 API Reference Manual</title> +<title>libtasn1: GNU Libtasn1 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="up" href="intro.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="prev" href="intro.html" title="GNU Libtasn1 API Reference Manual"> -<link rel="next" href="api-index-full.html" title="API Index"> -<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="ch01.html" title="GNU Libtasn1 API Reference Manual"> +<link rel="prev" href="ch01.html" title="GNU Libtasn1 API Reference Manual"> +<link rel="next" href="object-tree.html" title="Object Hierarchy"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -18,16 +18,16 @@ <a href="#libtasn1-libtasn1.description" class="shortcut">Description</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> -<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="intro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="libtasn1-libtasn1"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="libtasn1-libtasn1.top_of_page"></a>libtasn1</span></h2> -<p>libtasn1</p> +<p>libtasn1 — GNU ASN.1 library</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> @@ -121,6 +121,10 @@ </tr> <tr> <td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS" title="ASN1_TIME_ENCODING_ERROR">ASN1_TIME_ENCODING_ERROR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS" title="ASN1_PRINT_NAME">ASN1_PRINT_NAME</a></td> </tr> <tr> @@ -252,8 +256,10 @@ </div> <div class="refsect1"> <a name="libtasn1-libtasn1.description"></a><h2>Description</h2> -<p> -</p> +<p>The Libtasn1 library provides Abstract Syntax Notation One (ASN.1, as +specified by the X.680 ITU-T recommendation) parsing and structures +management, and Distinguished Encoding Rules (DER, as per X.690) +encoding and decoding functions.</p> </div> <div class="refsect1"> <a name="libtasn1-libtasn1.functions_details"></a><h2>Functions</h2> @@ -265,420 +271,327 @@ <a name="ASN1-API:CAPS"></a><h3>ASN1_API</h3> <pre class="programlisting">#define ASN1_API __attribute__((__visibility__("default"))) </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-VERSION:CAPS"></a><h3>ASN1_VERSION</h3> -<pre class="programlisting">#define ASN1_VERSION "4.10" +<pre class="programlisting">#define ASN1_VERSION "4.14" </pre> -<p> -</p> +<p>Version of the library as a string.</p> </div> <hr> <div class="refsect2"> <a name="ASN1-SUCCESS:CAPS"></a><h3>ASN1_SUCCESS</h3> <pre class="programlisting">#define ASN1_SUCCESS 0 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-FILE-NOT-FOUND:CAPS"></a><h3>ASN1_FILE_NOT_FOUND</h3> <pre class="programlisting">#define ASN1_FILE_NOT_FOUND 1 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-ELEMENT-NOT-FOUND:CAPS"></a><h3>ASN1_ELEMENT_NOT_FOUND</h3> <pre class="programlisting">#define ASN1_ELEMENT_NOT_FOUND 2 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-IDENTIFIER-NOT-FOUND:CAPS"></a><h3>ASN1_IDENTIFIER_NOT_FOUND</h3> <pre class="programlisting">#define ASN1_IDENTIFIER_NOT_FOUND 3 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-DER-ERROR:CAPS"></a><h3>ASN1_DER_ERROR</h3> <pre class="programlisting">#define ASN1_DER_ERROR 4 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-VALUE-NOT-FOUND:CAPS"></a><h3>ASN1_VALUE_NOT_FOUND</h3> <pre class="programlisting">#define ASN1_VALUE_NOT_FOUND 5 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-GENERIC-ERROR:CAPS"></a><h3>ASN1_GENERIC_ERROR</h3> <pre class="programlisting">#define ASN1_GENERIC_ERROR 6 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-VALUE-NOT-VALID:CAPS"></a><h3>ASN1_VALUE_NOT_VALID</h3> <pre class="programlisting">#define ASN1_VALUE_NOT_VALID 7 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-ERROR:CAPS"></a><h3>ASN1_TAG_ERROR</h3> <pre class="programlisting">#define ASN1_TAG_ERROR 8 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-IMPLICIT:CAPS"></a><h3>ASN1_TAG_IMPLICIT</h3> <pre class="programlisting">#define ASN1_TAG_IMPLICIT 9 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-ERROR-TYPE-ANY:CAPS"></a><h3>ASN1_ERROR_TYPE_ANY</h3> <pre class="programlisting">#define ASN1_ERROR_TYPE_ANY 10 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-SYNTAX-ERROR:CAPS"></a><h3>ASN1_SYNTAX_ERROR</h3> <pre class="programlisting">#define ASN1_SYNTAX_ERROR 11 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-MEM-ERROR:CAPS"></a><h3>ASN1_MEM_ERROR</h3> <pre class="programlisting">#define ASN1_MEM_ERROR 12 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-MEM-ALLOC-ERROR:CAPS"></a><h3>ASN1_MEM_ALLOC_ERROR</h3> <pre class="programlisting">#define ASN1_MEM_ALLOC_ERROR 13 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-DER-OVERFLOW:CAPS"></a><h3>ASN1_DER_OVERFLOW</h3> <pre class="programlisting">#define ASN1_DER_OVERFLOW 14 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-NAME-TOO-LONG:CAPS"></a><h3>ASN1_NAME_TOO_LONG</h3> <pre class="programlisting">#define ASN1_NAME_TOO_LONG 15 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-ARRAY-ERROR:CAPS"></a><h3>ASN1_ARRAY_ERROR</h3> <pre class="programlisting">#define ASN1_ARRAY_ERROR 16 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-ELEMENT-NOT-EMPTY:CAPS"></a><h3>ASN1_ELEMENT_NOT_EMPTY</h3> <pre class="programlisting">#define ASN1_ELEMENT_NOT_EMPTY 17 </pre> -<p> -</p> +</div> +<hr> +<div class="refsect2"> +<a name="ASN1-TIME-ENCODING-ERROR:CAPS"></a><h3>ASN1_TIME_ENCODING_ERROR</h3> +<pre class="programlisting">#define ASN1_TIME_ENCODING_ERROR 18 +</pre> </div> <hr> <div class="refsect2"> <a name="ASN1-PRINT-NAME:CAPS"></a><h3>ASN1_PRINT_NAME</h3> <pre class="programlisting">#define ASN1_PRINT_NAME 1 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-PRINT-NAME-TYPE:CAPS"></a><h3>ASN1_PRINT_NAME_TYPE</h3> <pre class="programlisting">#define ASN1_PRINT_NAME_TYPE 2 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-PRINT-NAME-TYPE-VALUE:CAPS"></a><h3>ASN1_PRINT_NAME_TYPE_VALUE</h3> <pre class="programlisting">#define ASN1_PRINT_NAME_TYPE_VALUE 3 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-PRINT-ALL:CAPS"></a><h3>ASN1_PRINT_ALL</h3> <pre class="programlisting">#define ASN1_PRINT_ALL 4 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-CLASS-UNIVERSAL:CAPS"></a><h3>ASN1_CLASS_UNIVERSAL</h3> <pre class="programlisting">#define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */ </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-CLASS-APPLICATION:CAPS"></a><h3>ASN1_CLASS_APPLICATION</h3> <pre class="programlisting">#define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */ </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-CLASS-CONTEXT-SPECIFIC:CAPS"></a><h3>ASN1_CLASS_CONTEXT_SPECIFIC</h3> <pre class="programlisting">#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */ </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-CLASS-PRIVATE:CAPS"></a><h3>ASN1_CLASS_PRIVATE</h3> <pre class="programlisting">#define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */ </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-CLASS-STRUCTURED:CAPS"></a><h3>ASN1_CLASS_STRUCTURED</h3> <pre class="programlisting">#define ASN1_CLASS_STRUCTURED 0x20 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-BOOLEAN:CAPS"></a><h3>ASN1_TAG_BOOLEAN</h3> <pre class="programlisting">#define ASN1_TAG_BOOLEAN 0x01 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-INTEGER:CAPS"></a><h3>ASN1_TAG_INTEGER</h3> <pre class="programlisting">#define ASN1_TAG_INTEGER 0x02 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-SEQUENCE:CAPS"></a><h3>ASN1_TAG_SEQUENCE</h3> <pre class="programlisting">#define ASN1_TAG_SEQUENCE 0x10 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-SET:CAPS"></a><h3>ASN1_TAG_SET</h3> <pre class="programlisting">#define ASN1_TAG_SET 0x11 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-OCTET-STRING:CAPS"></a><h3>ASN1_TAG_OCTET_STRING</h3> <pre class="programlisting">#define ASN1_TAG_OCTET_STRING 0x04 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-BIT-STRING:CAPS"></a><h3>ASN1_TAG_BIT_STRING</h3> <pre class="programlisting">#define ASN1_TAG_BIT_STRING 0x03 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-UTCTime"></a><h3>ASN1_TAG_UTCTime</h3> <pre class="programlisting">#define ASN1_TAG_UTCTime 0x17 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-GENERALIZEDTime"></a><h3>ASN1_TAG_GENERALIZEDTime</h3> <pre class="programlisting">#define ASN1_TAG_GENERALIZEDTime 0x18 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-OBJECT-ID:CAPS"></a><h3>ASN1_TAG_OBJECT_ID</h3> <pre class="programlisting">#define ASN1_TAG_OBJECT_ID 0x06 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-ENUMERATED:CAPS"></a><h3>ASN1_TAG_ENUMERATED</h3> <pre class="programlisting">#define ASN1_TAG_ENUMERATED 0x0A </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-NULL:CAPS"></a><h3>ASN1_TAG_NULL</h3> <pre class="programlisting">#define ASN1_TAG_NULL 0x05 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-GENERALSTRING:CAPS"></a><h3>ASN1_TAG_GENERALSTRING</h3> <pre class="programlisting">#define ASN1_TAG_GENERALSTRING 0x1B </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-NUMERIC-STRING:CAPS"></a><h3>ASN1_TAG_NUMERIC_STRING</h3> <pre class="programlisting">#define ASN1_TAG_NUMERIC_STRING 0x12 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-IA5-STRING:CAPS"></a><h3>ASN1_TAG_IA5_STRING</h3> <pre class="programlisting">#define ASN1_TAG_IA5_STRING 0x16 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-TELETEX-STRING:CAPS"></a><h3>ASN1_TAG_TELETEX_STRING</h3> <pre class="programlisting">#define ASN1_TAG_TELETEX_STRING 0x14 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-PRINTABLE-STRING:CAPS"></a><h3>ASN1_TAG_PRINTABLE_STRING</h3> <pre class="programlisting">#define ASN1_TAG_PRINTABLE_STRING 0x13 </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-UNIVERSAL-STRING:CAPS"></a><h3>ASN1_TAG_UNIVERSAL_STRING</h3> <pre class="programlisting">#define ASN1_TAG_UNIVERSAL_STRING 0x1C </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-BMP-STRING:CAPS"></a><h3>ASN1_TAG_BMP_STRING</h3> <pre class="programlisting">#define ASN1_TAG_BMP_STRING 0x1E </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-UTF8-STRING:CAPS"></a><h3>ASN1_TAG_UTF8_STRING</h3> <pre class="programlisting">#define ASN1_TAG_UTF8_STRING 0x0C </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="ASN1-TAG-VISIBLE-STRING:CAPS"></a><h3>ASN1_TAG_VISIBLE_STRING</h3> <pre class="programlisting">#define ASN1_TAG_VISIBLE_STRING 0x1A </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="asn1-node-st"></a><h3>asn1_node_st</h3> -<pre class="programlisting"> typedef struct asn1_node_st asn1_node_st; +<pre class="programlisting">typedef struct asn1_node_st asn1_node_st; </pre> -<p> -</p> </div> <hr> <div class="refsect2"> <a name="asn1-node"></a><h3>asn1_node</h3> -<pre class="programlisting"> typedef asn1_node_st *asn1_node; +<pre class="programlisting">typedef asn1_node_st *asn1_node; </pre> -<p> -</p> +<p>Structure definition used for the node of the tree +that represents an ASN.1 DEFINITION.</p> </div> <hr> <div class="refsect2"> <a name="ASN1-MAX-NAME-SIZE:CAPS"></a><h3>ASN1_MAX_NAME_SIZE</h3> <pre class="programlisting">#define ASN1_MAX_NAME_SIZE 64 </pre> -<p> -</p> +<p>Maximum number of characters of a name +inside a file with ASN1 definitions.</p> </div> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.25</div> +<hr>Generated by GTK-Doc V1.28</div> </body> </html>
\ No newline at end of file diff --git a/doc/reference/html/libtasn1.devhelp2 b/doc/reference/html/libtasn1.devhelp2 index dcb8a42..53e56c1 100644 --- a/doc/reference/html/libtasn1.devhelp2 +++ b/doc/reference/html/libtasn1.devhelp2 @@ -1,13 +1,14 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> -<book xmlns="http://www.devhelp.net/book" title="GNU Libtasn1 API Reference Manual" link="index.html" author="" name="libtasn1" version="2" language="c" online="https://www.gnu.org/software/libtasn1/reference/"> +<book xmlns="http://www.devhelp.net/book" title="GNU Libtasn1 Reference Manual" link="index.html" author="" name="libtasn1" version="2" language="c" online="https://www.gnu.org/software/libtasn1/reference/"> <chapters> - <sub name="GNU Libtasn1 API Reference Manual" link="intro.html"> + <sub name="GNU Libtasn1 API Reference Manual" link="ch01.html"> <sub name="libtasn1" link="libtasn1-libtasn1.html"/> </sub> + <sub name="Object Hierarchy" link="object-tree.html"/> <sub name="API Index" link="api-index-full.html"/> - <sub name="Index of deprecated symbols" link="ix02.html"/> - <sub name="Index of new symbols in 1.6" link="ix03.html"/> - <sub name="Index of new symbols in 2.0" link="ix04.html"/> + <sub name="Index of deprecated API" link="deprecated-api-index.html"/> + <sub name="Index of new API in 1.6" link="api-index-1-6.html"/> + <sub name="Index of new API in 2.0" link="api-index-2-0.html"/> </chapters> <functions> <keyword type="macro" name="ASN1_API" link="libtasn1-libtasn1.html#ASN1-API:CAPS"/> @@ -30,6 +31,7 @@ <keyword type="macro" name="ASN1_NAME_TOO_LONG" link="libtasn1-libtasn1.html#ASN1-NAME-TOO-LONG:CAPS"/> <keyword type="macro" name="ASN1_ARRAY_ERROR" link="libtasn1-libtasn1.html#ASN1-ARRAY-ERROR:CAPS"/> <keyword type="macro" name="ASN1_ELEMENT_NOT_EMPTY" link="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-EMPTY:CAPS"/> + <keyword type="macro" name="ASN1_TIME_ENCODING_ERROR" link="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS"/> <keyword type="macro" name="ASN1_PRINT_NAME" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS"/> <keyword type="macro" name="ASN1_PRINT_NAME_TYPE" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE:CAPS"/> <keyword type="macro" name="ASN1_PRINT_NAME_TYPE_VALUE" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE-VALUE:CAPS"/> diff --git a/doc/reference/html/object-tree.html b/doc/reference/html/object-tree.html new file mode 100644 index 0000000..cc68dfa --- /dev/null +++ b/doc/reference/html/object-tree.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Object Hierarchy: GNU Libtasn1 Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual"> +<link rel="prev" href="libtasn1-libtasn1.html" title="libtasn1"> +<link rel="next" href="api-index-full.html" title="API Index"> +<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="libtasn1-libtasn1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="object-tree"></a>Object Hierarchy</h1></div></div></div> +<pre class="screen"> + +</pre> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.28</div> +</body> +</html>
\ No newline at end of file diff --git a/doc/reference/html/right-insensitive.png b/doc/reference/html/right-insensitive.png Binary files differindex c1efa27..ef7d866 100644 --- a/doc/reference/html/right-insensitive.png +++ b/doc/reference/html/right-insensitive.png diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png Binary files differindex 83361a6..07fefed 100644 --- a/doc/reference/html/right.png +++ b/doc/reference/html/right.png diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css index 3675420..4be4ede 100644 --- a/doc/reference/html/style.css +++ b/doc/reference/html/style.css @@ -30,6 +30,10 @@ body vertical-align: top; } +span.nowrap { + white-space: nowrap; +} + div.gallery-float { float: left; diff --git a/doc/reference/html/up-insensitive.png b/doc/reference/html/up-insensitive.png Binary files differindex 13e1a4f..99528f8 100644 --- a/doc/reference/html/up-insensitive.png +++ b/doc/reference/html/up-insensitive.png diff --git a/doc/reference/html/up.png b/doc/reference/html/up.png Binary files differindex 67a9054..aa6a2ae 100644 --- a/doc/reference/html/up.png +++ b/doc/reference/html/up.png diff --git a/doc/reference/libtasn1-docs.sgml b/doc/reference/libtasn1-docs.xml index 3a7f351..accdb85 100644 --- a/doc/reference/libtasn1-docs.sgml +++ b/doc/reference/libtasn1-docs.xml @@ -3,19 +3,20 @@ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'"> - <!ENTITY version SYSTEM "version.xml"> + <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent"> + %gtkdocentities; ]> <book id="index"> <bookinfo> - <title>GNU Libtasn1 API Reference Manual</title> + <title>&package_name; Reference Manual</title> <releaseinfo> - for GNU Libtasn1 &version;. + for &package_string;. The latest version of this documentation can be found on-line at <ulink role="online-location" url="https://www.gnu.org/software/libtasn1/reference/">https://www.gnu.org/software/libtasn1/reference/</ulink>. </releaseinfo> </bookinfo> - <chapter id="intro"> + <chapter> <title>GNU Libtasn1 API Reference Manual</title> <para> @@ -30,20 +31,30 @@ https://www.gnu.org/software/libtasn1/</ulink>. </para> - <xi:include href="xml/libtasn1.xml"/> + <xi:include href="xml/libtasn1.xml"/> </chapter> + <chapter id="object-tree"> + <title>Object Hierarchy</title> + <xi:include href="xml/tree_index.sgml"/> + </chapter> <index id="api-index-full"> <title>API Index</title> <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include> </index> - <index role="deprecated"> - <title>Index of deprecated symbols</title> + <index id="deprecated-api-index" role="deprecated"> + <title>Index of deprecated API</title> + <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include> </index> - <index role="1.6"> - <title>Index of new symbols in 1.6</title> + <index id="api-index-1-6" role="1.6"> + <title>Index of new API in 1.6</title> + <xi:include href="xml/api-index-1.6.xml"><xi:fallback /></xi:include> </index> - <index role="2.0"> - <title>Index of new symbols in 2.0</title> + <index id="api-index-2-0" role="2.0"> + <title>Index of new API in 2.0</title> + <xi:include href="xml/api-index-2.0.xml"><xi:fallback /></xi:include> </index> + <!-- enable this when you use gobject introspection annotations + <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include> + --> </book> diff --git a/doc/reference/libtasn1-sections.txt b/doc/reference/libtasn1-sections.txt index 6708469..c9acb7b 100644 --- a/doc/reference/libtasn1-sections.txt +++ b/doc/reference/libtasn1-sections.txt @@ -20,6 +20,7 @@ ASN1_DER_OVERFLOW ASN1_NAME_TOO_LONG ASN1_ARRAY_ERROR ASN1_ELEMENT_NOT_EMPTY +ASN1_TIME_ENCODING_ERROR ASN1_PRINT_NAME ASN1_PRINT_NAME_TYPE ASN1_PRINT_NAME_TYPE_VALUE @@ -52,93 +53,5 @@ ASN1_TAG_VISIBLE_STRING asn1_node_st asn1_node ASN1_MAX_NAME_SIZE -asn1_static_node -ASN1_ETYPE_INVALID -ASN1_ETYPE_CONSTANT -ASN1_ETYPE_IDENTIFIER -ASN1_ETYPE_INTEGER -ASN1_ETYPE_BOOLEAN -ASN1_ETYPE_SEQUENCE -ASN1_ETYPE_BIT_STRING -ASN1_ETYPE_OCTET_STRING -ASN1_ETYPE_TAG -ASN1_ETYPE_DEFAULT -ASN1_ETYPE_SIZE -ASN1_ETYPE_SEQUENCE_OF -ASN1_ETYPE_OBJECT_ID -ASN1_ETYPE_ANY -ASN1_ETYPE_SET -ASN1_ETYPE_SET_OF -ASN1_ETYPE_DEFINITIONS -ASN1_ETYPE_CHOICE -ASN1_ETYPE_IMPORTS -ASN1_ETYPE_NULL -ASN1_ETYPE_ENUMERATED -ASN1_ETYPE_GENERALSTRING -ASN1_ETYPE_NUMERIC_STRING -ASN1_ETYPE_IA5_STRING -ASN1_ETYPE_TELETEX_STRING -ASN1_ETYPE_PRINTABLE_STRING -ASN1_ETYPE_UNIVERSAL_STRING -ASN1_ETYPE_BMP_STRING -ASN1_ETYPE_UTF8_STRING -ASN1_ETYPE_VISIBLE_STRING -ASN1_ETYPE_UTC_TIME -ASN1_ETYPE_GENERALIZED_TIME -ASN1_DELETE_FLAG_ZEROIZE -ASN1_DECODE_FLAG_ALLOW_PADDING -asn1_data_node_st -ASN1_MAX_ERROR_DESCRIPTION_SIZE -asn1_parser2tree -asn1_parser2array -asn1_array2tree -asn1_print_structure -asn1_create_element -asn1_delete_structure -asn1_delete_structure2 -asn1_delete_element -asn1_write_value -asn1_read_value -asn1_read_value_type -asn1_read_node_value -asn1_number_of_elements -asn1_der_coding -asn1_der_decoding2 -asn1_der_decoding -asn1_der_decoding_element -asn1_der_decoding_startEnd -asn1_expand_any_defined_by -asn1_expand_octet_string -asn1_read_tag -asn1_find_structure_from_oid -asn1_check_version -asn1_strerror -asn1_perror -ASN1_MAX_TAG_SIZE -ASN1_MAX_LENGTH_SIZE -ASN1_MAX_TL_SIZE -asn1_get_length_der -asn1_get_length_ber -asn1_length_der -asn1_decode_simple_der -asn1_encode_simple_der -asn1_find_node -asn1_copy_node -asn1_dup_node -asn1_get_tag_der -asn1_octet_der -asn1_get_octet_der -asn1_bit_der -asn1_get_bit_der -asn1_retCode -node_asn_struct -node_asn -ASN1_TYPE -ASN1_TYPE_EMPTY -static_struct_asn -ASN1_ARRAY_TYPE -asn1_static_node_t -node_data_struct -ASN1_DATA_NODE </SECTION> diff --git a/doc/reference/tmpl/libtasn1-unused.sgml b/doc/reference/tmpl/libtasn1-unused.sgml deleted file mode 100644 index 5f0881f..0000000 --- a/doc/reference/tmpl/libtasn1-unused.sgml +++ /dev/null @@ -1,693 +0,0 @@ -<!-- ##### MACRO ASN1_ARRAY_TYPE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_DATA_NODE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_DECODE_FLAG_ALLOW_PADDING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_DELETE_FLAG_ZEROIZE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_ANY ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_BIT_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_BMP_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_BOOLEAN ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_CHOICE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_CONSTANT ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_DEFAULT ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_DEFINITIONS ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_ENUMERATED ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_GENERALIZED_TIME ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_GENERALSTRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_IA5_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_IDENTIFIER ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_IMPORTS ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_INTEGER ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_INVALID ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_NULL ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_NUMERIC_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_OBJECT_ID ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_OCTET_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_PRINTABLE_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_SEQUENCE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_SEQUENCE_OF ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_SET ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_SET_OF ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_SIZE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_TAG ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_TELETEX_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_UNIVERSAL_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_UTC_TIME ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_UTF8_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_ETYPE_VISIBLE_STRING ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_MAX_ERROR_DESCRIPTION_SIZE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_MAX_LENGTH_SIZE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_MAX_TAG_SIZE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_MAX_TL_SIZE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_TYPE ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_TYPE_EMPTY ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION asn1_array2tree ##### --> -<para> - -</para> - -@array: -@definitions: -@errorDescription: -@Returns: - -<!-- ##### FUNCTION asn1_bit_der ##### --> -<para> - -</para> - -@str: -@bit_len: -@der: -@der_len: - -<!-- ##### FUNCTION asn1_check_version ##### --> -<para> - -</para> - -@req_version: -@Returns: - -<!-- ##### FUNCTION asn1_copy_node ##### --> -<para> - -</para> - -@dst: -@dst_name: -@src: -@src_name: -@Returns: - -<!-- ##### FUNCTION asn1_create_element ##### --> -<para> - -</para> - -@definitions: -@source_name: -@element: -@Returns: - -<!-- ##### TYPEDEF asn1_data_node_st ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION asn1_decode_simple_der ##### --> -<para> - -</para> - -@etype: -@der: -@der_len: -@str: -@str_len: -@Returns: - -<!-- ##### FUNCTION asn1_delete_element ##### --> -<para> - -</para> - -@structure: -@element_name: -@Returns: - -<!-- ##### FUNCTION asn1_delete_structure ##### --> -<para> - -</para> - -@structure: -@Returns: - -<!-- ##### FUNCTION asn1_delete_structure2 ##### --> -<para> - -</para> - -@structure: -@flags: -@Returns: - -<!-- ##### FUNCTION asn1_der_coding ##### --> -<para> - -</para> - -@element: -@name: -@ider: -@len: -@ErrorDescription: -@Returns: - -<!-- ##### FUNCTION asn1_der_decoding ##### --> -<para> - -</para> - -@element: -@ider: -@len: -@errorDescription: -@Returns: - -<!-- ##### FUNCTION asn1_der_decoding2 ##### --> -<para> - -</para> - -@element: -@ider: -@max_ider_len: -@flags: -@errorDescription: -@Returns: - -<!-- ##### FUNCTION asn1_der_decoding_element ##### --> -<para> - -</para> - -@structure: -@elementName: -@ider: -@len: -@errorDescription: -@Returns: - -<!-- ##### FUNCTION asn1_der_decoding_startEnd ##### --> -<para> - -</para> - -@element: -@ider: -@len: -@name_element: -@start: -@end: -@Returns: - -<!-- ##### FUNCTION asn1_dup_node ##### --> -<para> - -</para> - -@src: -@src_name: -@Returns: - -<!-- ##### FUNCTION asn1_encode_simple_der ##### --> -<para> - -</para> - -@etype: -@str: -@str_len: -@tl: -@tl_len: -@Returns: - -<!-- ##### FUNCTION asn1_expand_any_defined_by ##### --> -<para> - -</para> - -@definitions: -@element: -@Returns: - -<!-- ##### FUNCTION asn1_expand_octet_string ##### --> -<para> - -</para> - -@definitions: -@element: -@octetName: -@objectName: -@Returns: - -<!-- ##### FUNCTION asn1_find_node ##### --> -<para> - -</para> - -@pointer: -@name: -@Returns: - -<!-- ##### FUNCTION asn1_find_structure_from_oid ##### --> -<para> - -</para> - -@definitions: -@oidValue: -@Returns: - -<!-- ##### FUNCTION asn1_get_bit_der ##### --> -<para> - -</para> - -@der: -@der_len: -@ret_len: -@str: -@str_size: -@bit_len: -@Returns: - -<!-- ##### FUNCTION asn1_get_length_ber ##### --> -<para> - -</para> - -@ber: -@ber_len: -@len: -@Returns: - -<!-- ##### FUNCTION asn1_get_length_der ##### --> -<para> - -</para> - -@der: -@der_len: -@len: -@Returns: - -<!-- ##### FUNCTION asn1_get_octet_der ##### --> -<para> - -</para> - -@der: -@der_len: -@ret_len: -@str: -@str_size: -@str_len: -@Returns: - -<!-- ##### FUNCTION asn1_get_tag_der ##### --> -<para> - -</para> - -@der: -@der_len: -@cls: -@len: -@tag: -@Returns: - -<!-- ##### FUNCTION asn1_length_der ##### --> -<para> - -</para> - -@len: -@der: -@der_len: - -<!-- ##### FUNCTION asn1_number_of_elements ##### --> -<para> - -</para> - -@element: -@name: -@num: -@Returns: - -<!-- ##### FUNCTION asn1_octet_der ##### --> -<para> - -</para> - -@str: -@str_len: -@der: -@der_len: - -<!-- ##### FUNCTION asn1_parser2array ##### --> -<para> - -</para> - -@inputFileName: -@outputFileName: -@vectorName: -@error_desc: -@Returns: - -<!-- ##### FUNCTION asn1_parser2tree ##### --> -<para> - -</para> - -@file: -@definitions: -@error_desc: -@Returns: - -<!-- ##### FUNCTION asn1_perror ##### --> -<para> - -</para> - -@error: - -<!-- ##### FUNCTION asn1_print_structure ##### --> -<para> - -</para> - -@out: -@structure: -@name: -@mode: - -<!-- ##### FUNCTION asn1_read_node_value ##### --> -<para> - -</para> - -@node: -@data: -@Returns: - -<!-- ##### FUNCTION asn1_read_tag ##### --> -<para> - -</para> - -@root: -@name: -@tagValue: -@classValue: -@Returns: - -<!-- ##### FUNCTION asn1_read_value ##### --> -<para> - -</para> - -@root: -@name: -@ivalue: -@len: -@Returns: - -<!-- ##### FUNCTION asn1_read_value_type ##### --> -<para> - -</para> - -@root: -@name: -@ivalue: -@len: -@etype: -@Returns: - -<!-- ##### TYPEDEF asn1_retCode ##### --> -<para> - -</para> - - -<!-- ##### TYPEDEF asn1_static_node ##### --> -<para> - -</para> - - -<!-- ##### MACRO asn1_static_node_t ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION asn1_strerror ##### --> -<para> - -</para> - -@error: -@Returns: - -<!-- ##### FUNCTION asn1_write_value ##### --> -<para> - -</para> - -@node_root: -@name: -@ivalue: -@len: -@Returns: - -<!-- ##### MACRO node_asn ##### --> -<para> - -</para> - - -<!-- ##### MACRO node_asn_struct ##### --> -<para> - -</para> - - -<!-- ##### MACRO node_data_struct ##### --> -<para> - -</para> - - -<!-- ##### MACRO static_struct_asn ##### --> -<para> - -</para> - - diff --git a/doc/reference/tmpl/libtasn1.sgml b/doc/reference/tmpl/libtasn1.sgml deleted file mode 100644 index d8edbe4..0000000 --- a/doc/reference/tmpl/libtasn1.sgml +++ /dev/null @@ -1,384 +0,0 @@ -<!-- ##### SECTION Title ##### --> -libtasn1 - -<!-- ##### SECTION Short_Description ##### --> - - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO ASN1_API ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_VERSION ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_SUCCESS ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_FILE_NOT_FOUND ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_ELEMENT_NOT_FOUND ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_IDENTIFIER_NOT_FOUND ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_DER_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_VALUE_NOT_FOUND ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_GENERIC_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_VALUE_NOT_VALID ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_IMPLICIT ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_ERROR_TYPE_ANY ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_SYNTAX_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_MEM_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_MEM_ALLOC_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_DER_OVERFLOW ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_NAME_TOO_LONG ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_ARRAY_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_ELEMENT_NOT_EMPTY ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_PRINT_NAME ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_PRINT_NAME_TYPE ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_PRINT_NAME_TYPE_VALUE ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_PRINT_ALL ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_CLASS_UNIVERSAL ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_CLASS_APPLICATION ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_CLASS_CONTEXT_SPECIFIC ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_CLASS_PRIVATE ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_CLASS_STRUCTURED ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_BOOLEAN ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_INTEGER ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_SEQUENCE ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_SET ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_OCTET_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_BIT_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_UTCTime ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_GENERALIZEDTime ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_OBJECT_ID ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_ENUMERATED ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_NULL ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_GENERALSTRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_NUMERIC_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_IA5_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_TELETEX_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_PRINTABLE_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_UNIVERSAL_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_BMP_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_UTF8_STRING ##### --> -<para> - -</para> - - - -<!-- ##### MACRO ASN1_TAG_VISIBLE_STRING ##### --> -<para> - -</para> - - - -<!-- ##### TYPEDEF asn1_node_st ##### --> -<para> - -</para> - - -<!-- ##### TYPEDEF asn1_node ##### --> -<para> - -</para> - - -<!-- ##### MACRO ASN1_MAX_NAME_SIZE ##### --> -<para> - -</para> - - - diff --git a/doc/reference/version.xml.in b/doc/reference/version.xml.in deleted file mode 100644 index d78bda9..0000000 --- a/doc/reference/version.xml.in +++ /dev/null @@ -1 +0,0 @@ -@VERSION@ diff --git a/doc/stamp-vti b/doc/stamp-vti index d8ea4a0..68715d6 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 4 April 2016 -@set UPDATED-MONTH April 2016 -@set EDITION 4.13 -@set VERSION 4.13 +@set UPDATED 29 March 2019 +@set UPDATED-MONTH March 2019 +@set EDITION 4.14 +@set VERSION 4.14 diff --git a/doc/texi/ASN1.c.texi b/doc/texi/ASN1.c.texi index 5b6b08a..6c2dc1d 100644 --- a/doc/texi/ASN1.c.texi +++ b/doc/texi/ASN1.c.texi @@ -15,7 +15,7 @@ needed to manage the definitions included in @code{file} file. @strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every identifier is known, @code{ASN1_ELEMENT_NOT_EMPTY} if @code{definitions} not -@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occured while +@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occurred while opening @code{file} , @code{ASN1_SYNTAX_ERROR} if the syntax is not correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is an identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the @@ -45,7 +45,7 @@ included in @code{inputFileName} file. If @code{inputFileName} is will be "xx_asn1_tab". @strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every -identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occured +identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occurred while opening @code{inputFileName} , @code{ASN1_SYNTAX_ERROR} if the syntax is not correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is an identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the diff --git a/doc/texi/asn1_decode_simple_ber.texi b/doc/texi/asn1_decode_simple_ber.texi index c992986..3163a16 100644 --- a/doc/texi/asn1_decode_simple_ber.texi +++ b/doc/texi/asn1_decode_simple_ber.texi @@ -13,7 +13,7 @@ @var{ber_len}: the total length occupied by BER (may be @code{NULL} ) -Decodes a BER encoded type. The output is an allocated value +Decodes a BER encoded type. The output is an allocated value of the data. This decodes BER STRINGS only. Other types are decoded as DER. diff --git a/doc/texi/asn1_der_decoding.texi b/doc/texi/asn1_der_decoding.texi index ff3574d..ec83535 100644 --- a/doc/texi/asn1_der_decoding.texi +++ b/doc/texi/asn1_der_decoding.texi @@ -12,7 +12,7 @@ error occurred. Fill the structure * @code{element} with values of a DER encoding string. The structure must just be created with function -@code{asn1_create_element()} . +@code{asn1_create_element()} . Note that the * @code{element} variable is provided as a pointer for historical reasons. diff --git a/doc/texi/asn1_find_node.texi b/doc/texi/asn1_find_node.texi index e5be7c4..9ff06f1 100644 --- a/doc/texi/asn1_find_node.texi +++ b/doc/texi/asn1_find_node.texi @@ -6,7 +6,7 @@ @var{name}: null terminated string with the element's name to find. Searches for an element called @code{name} starting from @code{pointer} . The -name is composed by differents identifiers separated by dots. When +name is composed by different identifiers separated by dots. When * @code{pointer} has a name, the first identifier must be the name of * @code{pointer} , otherwise it must be the name of one child of * @code{pointer} . diff --git a/doc/texi/asn1_get_object_id_der.texi b/doc/texi/asn1_get_object_id_der.texi index a9ef147..8f541e8 100644 --- a/doc/texi/asn1_get_object_id_der.texi +++ b/doc/texi/asn1_get_object_id_der.texi @@ -11,7 +11,8 @@ @var{str_size}: Length of pre-allocated output buffer. -Converts a DER encoded object identifier to its textual form. +Converts a DER encoded object identifier to its textual form. This +function expects the DER object identifier without the tag. @strong{Returns:} @code{ASN1_SUCCESS} on success, or an error. @end deftypefun diff --git a/doc/texi/asn1_get_tag_der.texi b/doc/texi/asn1_get_tag_der.texi index a63ad3b..34fcd54 100644 --- a/doc/texi/asn1_get_tag_der.texi +++ b/doc/texi/asn1_get_tag_der.texi @@ -9,7 +9,7 @@ @var{len}: Output variable containing the length of the DER TAG data. -@var{tag}: Output variable containing the decoded tag. +@var{tag}: Output variable containing the decoded tag (may be @code{NULL} ). Decode the class and TAG from DER code. diff --git a/doc/texi/asn1_parser2array.texi b/doc/texi/asn1_parser2array.texi index d345e73..84c9012 100644 --- a/doc/texi/asn1_parser2array.texi +++ b/doc/texi/asn1_parser2array.texi @@ -20,7 +20,7 @@ included in @code{inputFileName} file. If @code{inputFileName} is will be "xx_asn1_tab". @strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every -identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occured +identifier is known, @code{ASN1_FILE_NOT_FOUND} if an error occurred while opening @code{inputFileName} , @code{ASN1_SYNTAX_ERROR} if the syntax is not correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is an identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the diff --git a/doc/texi/asn1_parser2tree.texi b/doc/texi/asn1_parser2tree.texi index c545fe6..5087cd2 100644 --- a/doc/texi/asn1_parser2tree.texi +++ b/doc/texi/asn1_parser2tree.texi @@ -15,7 +15,7 @@ needed to manage the definitions included in @code{file} file. @strong{Returns:} @code{ASN1_SUCCESS} if the file has a correct syntax and every identifier is known, @code{ASN1_ELEMENT_NOT_EMPTY} if @code{definitions} not -@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occured while +@code{NULL} , @code{ASN1_FILE_NOT_FOUND} if an error occurred while opening @code{file} , @code{ASN1_SYNTAX_ERROR} if the syntax is not correct, @code{ASN1_IDENTIFIER_NOT_FOUND} if in the file there is an identifier that is not defined, @code{ASN1_NAME_TOO_LONG} if in the diff --git a/doc/texi/asn1_read_value.texi b/doc/texi/asn1_read_value.texi index b6bb18c..f1ea8b6 100644 --- a/doc/texi/asn1_read_value.texi +++ b/doc/texi/asn1_read_value.texi @@ -11,7 +11,7 @@ pointer to memory cells already allocated (may be @code{NULL} ). @var{len}: number of bytes of *value: value[0]..value[len-1]. Initialy holds the sizeof value. -Returns the value of one element inside a structure. +Returns the value of one element inside a structure. If an element is OPTIONAL and this returns @code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present in the der encoding that created the structure. The first element @@ -65,6 +65,7 @@ encoding of the structure actually used. @code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough to store the result, and in this case @code{len} will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero-length +this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero. @end deftypefun diff --git a/doc/texi/asn1_read_value_type.texi b/doc/texi/asn1_read_value_type.texi index 8f50f4e..9393761 100644 --- a/doc/texi/asn1_read_value_type.texi +++ b/doc/texi/asn1_read_value_type.texi @@ -13,7 +13,7 @@ holds the sizeof value. @var{etype}: The type of the value read (ASN1_ETYPE) -Returns the type and value of one element inside a structure. +Returns the type and value of one element inside a structure. If an element is OPTIONAL and this returns @code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present in the der encoding that created the structure. The first element @@ -67,6 +67,7 @@ encoding of the structure actually used. @code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough to store the result, and in this case @code{len} will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero-length +this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero. @end deftypefun diff --git a/doc/texi/decoding.c.texi b/doc/texi/decoding.c.texi index b9a3003..2eacc3d 100644 --- a/doc/texi/decoding.c.texi +++ b/doc/texi/decoding.c.texi @@ -25,7 +25,7 @@ when the decoded length value plus @code{len} would exceed @code{der_len} . @var{len}: Output variable containing the length of the DER TAG data. -@var{tag}: Output variable containing the decoded tag. +@var{tag}: Output variable containing the decoded tag (may be @code{NULL} ). Decode the class and TAG from DER code. @@ -86,7 +86,8 @@ content octets. @var{str_size}: Length of pre-allocated output buffer. -Converts a DER encoded object identifier to its textual form. +Converts a DER encoded object identifier to its textual form. This +function expects the DER object identifier without the tag. @strong{Returns:} @code{ASN1_SUCCESS} on success, or an error. @end deftypefun @@ -157,7 +158,7 @@ error occurred. Fill the structure * @code{element} with values of a DER encoding string. The structure must just be created with function -@code{asn1_create_element()} . +@code{asn1_create_element()} . Note that the * @code{element} variable is provided as a pointer for historical reasons. @@ -309,7 +310,7 @@ The output is a pointer inside the @code{der} . @var{ber_len}: the total length occupied by BER (may be @code{NULL} ) -Decodes a BER encoded type. The output is an allocated value +Decodes a BER encoded type. The output is an allocated value of the data. This decodes BER STRINGS only. Other types are decoded as DER. diff --git a/doc/texi/element.c.texi b/doc/texi/element.c.texi index 6e40405..9f793e5 100644 --- a/doc/texi/element.c.texi +++ b/doc/texi/element.c.texi @@ -122,7 +122,7 @@ pointer to memory cells already allocated (may be @code{NULL} ). @var{len}: number of bytes of *value: value[0]..value[len-1]. Initialy holds the sizeof value. -Returns the value of one element inside a structure. +Returns the value of one element inside a structure. If an element is OPTIONAL and this returns @code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present in the der encoding that created the structure. The first element @@ -176,7 +176,8 @@ encoding of the structure actually used. @code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough to store the result, and in this case @code{len} will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero-length +this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero. @end deftypefun @subheading asn1_read_value_type @@ -194,7 +195,7 @@ holds the sizeof value. @var{etype}: The type of the value read (ASN1_ETYPE) -Returns the type and value of one element inside a structure. +Returns the type and value of one element inside a structure. If an element is OPTIONAL and this returns @code{ASN1_ELEMENT_NOT_FOUND} , it means that this element wasn't present in the der encoding that created the structure. The first element @@ -248,7 +249,8 @@ encoding of the structure actually used. @code{ASN1_VALUE_NOT_FOUND} if there isn't any value for the element selected, and @code{ASN1_MEM_ERROR} if The value vector isn't big enough to store the result, and in this case @code{len} will contain the number of -bytes needed. +bytes needed. On the occasion that the stored data are of zero-length +this function may return @code{ASN1_SUCCESS} even if the provided @code{len} is zero. @end deftypefun @subheading asn1_read_tag diff --git a/doc/texi/parser_aux.c.texi b/doc/texi/parser_aux.c.texi index e5be7c4..9ff06f1 100644 --- a/doc/texi/parser_aux.c.texi +++ b/doc/texi/parser_aux.c.texi @@ -6,7 +6,7 @@ @var{name}: null terminated string with the element's name to find. Searches for an element called @code{name} starting from @code{pointer} . The -name is composed by differents identifiers separated by dots. When +name is composed by different identifiers separated by dots. When * @code{pointer} has a name, the first identifier must be the name of * @code{pointer} , otherwise it must be the name of one child of * @code{pointer} . diff --git a/doc/version.texi b/doc/version.texi index d8ea4a0..68715d6 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 4 April 2016 -@set UPDATED-MONTH April 2016 -@set EDITION 4.13 -@set VERSION 4.13 +@set UPDATED 29 March 2019 +@set UPDATED-MONTH March 2019 +@set EDITION 4.14 +@set VERSION 4.14 |