X-Git-Url: http://git.silcnet.org/gitweb/?p=website.git;a=blobdiff_plain;f=docs%2Ftoolkit%2Fmanual%2Fsilcasn1-SilcAsn1Options.html;fp=docs%2Ftoolkit%2Fmanual%2Fsilcasn1-SilcAsn1Options.html;h=0b281c07c603795edfaf0be51f64a699331bc8bb;hp=0000000000000000000000000000000000000000;hb=80b80cef93d9dff6acc4bc8e3a522c55fcdc3fca;hpb=43e53f529ca5c7d2ddb7cee8e76e273631e6f1e2 diff --git a/docs/toolkit/manual/silcasn1-SilcAsn1Options.html b/docs/toolkit/manual/silcasn1-SilcAsn1Options.html new file mode 100644 index 0000000..0b281c0 --- /dev/null +++ b/docs/toolkit/manual/silcasn1-SilcAsn1Options.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +
+ + + + + + + + + + + + + + +
+ + + +
+
+ + + +SILC Toolkit Reference Manual
+ + +SILC Crypto Library
+    Introduction to SILC RNG
+    SILC RNG Interface
+    SILC Cipher API
+    SILC PKCS API
+    SILC Public Key API
+    SILC PKCS #1 API
+    SILC Hash Interface
+    SILC HMAC Interface
+SILC Core Library
+    SILC Authentication Interface
+    SILC Message Interface
+    SILC Channel Interface
+    SILC Command Interface
+    SILC Notify Interface
+    SILC Status Types
+    SILC Modes
+    SILC ID Interface
+    SILC Argument Interface
+    SILC Attributes Interface
+    Packet Engine Interface
+    SILC Public Key Payload Interface
+SILC Key Exchange Library
+    SILC SKE Interface
+    SILC Connection Authentication Interface
+SILC VCard Library
+    SILC VCard Interface
+SILC Math Library
+    SILC MP Interface
+    SILC Math Interface
+SILC Client Library
+    Using SILC Client Library Tutorial
+    Arguments for command_reply Client Operation
+    SilcStatus Error Arguments in command_reply Client Operation
+    Arguments for notify Client Operation
+    Unicode and UTF-8 Strings in Client Library
+    Client Library Interface Reference
+    Client Entry Interface Reference
+SILC ASN.1 Library
+    SILC ASN.1 Interface
+    SILC BER interface
+SILC HTTP Library
+    SILC HTTP Server Interface
+    SILC HTTP PHP Translator
+SILC Utility Library
+    Basic Types and Definitions
+    Data Buffer Interface
+    Data Buffer Format Interface
+    Hash Table Interface
+    Memory Allocation Interface
+    Data Stack (memory pool) Interface
+    Finite State Machine Interface
+    Thread Interface
+    Mutual Exclusion Lock Interface
+    Condition Variable Interface
+    Atomic Operations Interface
+    Network (TCP and UDP) Interface
+    Scheduler Interface
+    Asynchronous Operation Interface
+    Abstract Stream Interface
+    Socket Stream Interface
+    File Descriptor Stream Interface
+    File Utility Functions
+    String Utility Interface
+    Snprintf Interface
+    UTF-8 String Interface
+    Stringprep Interface
+    Utility Functions
+    List Interface
+    Dynamic List Interface
+    MIME Interface
+    Time Utility Functions
+    Logging Interface
+    Config File Interface
+SILC Key Repository Library
+    SILC SKR Interface
+SILC Application Utility Library
+    SILC Application Utilities
+    SILC ID Cache Interface
+SILC SFTP Library
+    SILC SFTP Interface
+    SFTP Filesystems Interface
+ +
+Resource Links +
+SILC Project Website
+SILC Protocol Documentation
+SILC White Paper
+SILC FAQs
+ +
+



+
+
+ + + + +
+
+ +SilcAsn1Options

+ + +NAME + +

+    typedef enum { ... } SilcAsn1Options;
+
+
+DESCRIPTION + +

+    Options for ASN.1 encoder and decoder.  The ASN.1 options can be
+    given to the SILC_ASN1_*_T macros and/or SILC_ASN1_OPTS macro.
+
+
+NOTES + +

+    The SILC_ASN1_ALLOC and SILC_ASN1_ACCUMUL flags can be given only
+    with SILC_ASN1_OPTS macro.  Other options can be given with various
+    SILC_ASN1_*_T macros.
+
+
+EXAMPLE + +

+    // Encodes boolean value with explicit tag and private class, and
+    // the result is allocated into `dest'.
+    silc_asn1_encode(asn1, &dest,
+                     SILC_ASN1_OPTS(SILC_ASN1_ALLOC),
+                     SILC_ASN1_BOOLEAN_T(SILC_ASN1_PRIVATE |
+                                         SILC_ASN1_EXPLICIT, 100, boolval),
+                     SILC_ASN1_END);
+
+
+SOURCE + +
    typedef enum {
+      /* Default. If only this is set then defaults are implied. */
+      SILC_ASN1_DEFAULT      = 0x0000,
+    
+      /* Class options.  User does not need to set these unless specificly
+         wanted to do so.  If SILC_ASN1_DEFAULT is set the SILC_ASN1_CONTEXT is
+         implied if any of the tag options are set.  Otherwise SILC_ASN1_UNIVERSAL
+         is implied. Only one of these can bet set at once. */
+      SILC_ASN1_UNIVERSAL    = 0x0001,       /* Universal class (default) */
+      SILC_ASN1_APP          = 0x0002,       /* Application specific class */
+      SILC_ASN1_CONTEXT      = 0x0003,       /* Context specific class */
+      SILC_ASN1_PRIVATE      = 0x0004,       /* Private class */
+    
+      /* Tag options (bitmask) */
+      SILC_ASN1_IMPLICIT     = 0x0010,       /* Tag is implicit (default) */
+      SILC_ASN1_EXPLICIT     = 0x0020,       /* Tag is explicit */
+      SILC_ASN1_DEFINITE     = 0x0040,       /* Length is definite (default) */
+      SILC_ASN1_INDEFINITE   = 0x0080,       /* Length is indefinite */
+    
+      /* Decoding options (bitmask) */
+      SILC_ASN1_OPTIONAL     = 0x0100,       /* Zero or more may be found.  The
+                                                argument must be pointer to the
+                                                type pointer so that NULL can be
+                                                returned if type is not found. */
+    
+      /* ASN.1 encoder/decoder options (bitmask).  These can be given
+         only with SILC_ASN1_OPTS macro at the start of encoding/decoding. */
+      SILC_ASN1_ALLOC        = 0x0400,       /* Dynamically allocate results */
+      SILC_ASN1_ACCUMUL      = 0x0800,       /* Accumulate memory for results,
+                                                next call to silc_asn1_decode
+                                                will not cancel old results. */
+    } SilcAsn1Options;
+



+
+
+ + + + +
+
+ +ASN.1 Interface
+SilcAsn1
+SilcAsn1Struct
+SilcAsn1Options
+SilcAsn1Tag
+silc_asn1_alloc
+silc_asn1_free
+silc_asn1_init
+silc_asn1_uninit
+silc_asn1_encode
+silc_asn1_decode
+SILC_ASN1_OPTS
+SILC_ASN1_ANY
+SILC_ASN1_ANY_PRIMITIVE
+SILC_ASN1_SEQUENCE
+SILC_ASN1_SET
+SILC_ASN1_SEQUENCE_OF
+SILC_ASN1_SET_OF
+SILC_ASN1_CHOICE
+SILC_ASN1_BOOLEAN
+SILC_ASN1_INT
+SILC_ASN1_SHORT_INT
+SILC_ASN1_ENUM
+SILC_ASN1_BIT_STRING
+SILC_ASN1_NULL
+SILC_ASN1_OID
+SILC_ASN1_OCTET_STRING
+SILC_ASN1_UTF8_STRING
+SILC_ASN1_NUMERIC_STRING
+SILC_ASN1_PRINTABLE_STRING
+SILC_ASN1_TELETEX_STRING
+SILC_ASN1_IA5_STRING
+SILC_ASN1_VISIBLE_STRING
+SILC_ASN1_UNIVERSAL_STRING
+SILC_ASN1_BMP_STRING
+SILC_ASN1_UNRESTRICTED_STRING
+SILC_ASN1_GENERAL_STRING
+SILC_ASN1_UTC_TIME
+SILC_ASN1_GEN_TIME
+SILC_ASN1_END
+
+ +



+
+
+ + + +
+ + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +