| Function SILC_ASN1_ANY_PRIMITIVE
 
 SYNOPSIS
 
    Encoding:
    SILC_ASN1_ANY_PRIMITIVE(tag, buffer)
    SILC_ASN1_ANY_PRIMITIVE_T(opts, tag, buffer)
    Decoding:
    SILC_ASN1_ANY_PRIMITIVE(tag, &buffer)
    SILC_ASN1_ANY_PRIMITIVE_T(opts, tag, buffer)
DESCRIPTION
    Special macro used to encode pre-encoded primitive data blob.  The data
    can be any primitive type that is already encoded in correct format.
    The caller is responsible of making sure the data is formatted
    correctly.  When decoding this returns the raw data blob and the caller
    must know of what type and format it is.  The buffer type is SilcBuffer.
    This macro can be used in cases when the data to be encoded is already
    in encoded format, and it only needs to be added to ASN.1 tree.  The
    SILC_ASN1_ANY cannot be used with primitives when tagging implicitly,
    in these cases this macro can be used.
    The `opts' is SilcAsn1Options.  The `tag' is a tag number.
EXAMPLE
    // Get MP integer in encoded format
    mpbuf = mp_get_octet_string(mp);
    // Encode the MP integer data to the tree
    silc_asn1_encode(asn1, tree,
                     SILC_ASN1_ANY_PRIMITIVE(SILC_ASN1_TAG_INTEGER, mpbuf),
                     SILC_ASN1_END);
    // Decode the MP integer data from the tree
    silc_asn1_decode(asn1, tree,
                     SILC_ASN1_ANY_PRIMITIVE(SILC_ASN1_TAG_INTEGER, &buffer),
                     SILC_ASN1_END);
 
 
 
 |