LCOV - code coverage report
Current view: top level - bin/default/third_party/heimdal/lib/asn1 - asn1_digest_asn1.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 0 245 0.0 %
Date: 2024-04-21 15:09:00 Functions: 0 99 0.0 %

          Line data    Source code
       1             : /* Generated from /builds/eaglegai/samba/third_party/heimdal/lib/asn1/digest.asn1 */
       2             : /* Do not edit */
       3             : 
       4             : #if defined(_WIN32) && !defined(ASN1_LIB)
       5             : # error "ASN1_LIB must be defined"
       6             : #endif
       7             : #include <stdio.h>
       8             : #include <stdlib.h>
       9             : #include <time.h>
      10             : #include <string.h>
      11             : #include <errno.h>
      12             : #include <limits.h>
      13             : #include <krb5-types.h>
      14             : #include "digest_asn1.h"
      15             : #include "digest_asn1-priv.h"
      16             : #include <asn1_err.h>
      17             : #include <der.h>
      18             : #include <asn1-template.h>
      19             : 
      20             : #include <parse_units.h>
      21             : 
      22             : static const struct asn1_type_func asn1_extern_EncryptedData = {
      23             :         (asn1_type_encode)encode_EncryptedData,
      24             :         (asn1_type_decode)decode_EncryptedData,
      25             :         (asn1_type_length)length_EncryptedData,
      26             :         (asn1_type_copy)copy_EncryptedData,
      27             :         (asn1_type_release)free_EncryptedData,
      28             :         (asn1_type_print)print_EncryptedData,
      29             :         sizeof(EncryptedData)
      30             : };
      31             : static const struct asn1_type_func asn1_extern_Principal = {
      32             :         (asn1_type_encode)encode_Principal,
      33             :         (asn1_type_decode)decode_Principal,
      34             :         (asn1_type_length)length_Principal,
      35             :         (asn1_type_copy)copy_Principal,
      36             :         (asn1_type_release)free_Principal,
      37             :         (asn1_type_print)print_Principal,
      38             :         sizeof(Principal)
      39             : };
      40             : extern const struct asn1_template asn1_DigestTypes[];
      41             : extern const struct asn1_template asn1_DigestTypes[];
      42             : extern const struct asn1_template asn1_DigestInit[];
      43             : extern const struct asn1_template asn1_DigestInitReply[];
      44             : extern const struct asn1_template asn1_DigestRequest[];
      45             : extern const struct asn1_template asn1_DigestError[];
      46             : extern const struct asn1_template asn1_DigestResponse[];
      47             : extern const struct asn1_template asn1_NTLMInit[];
      48             : extern const struct asn1_template asn1_NTLMInitReply[];
      49             : extern const struct asn1_template asn1_NTLMRequest[];
      50             : extern const struct asn1_template asn1_NTLMResponse[];
      51             : extern const struct asn1_template asn1_NTLMRequest2[];
      52             : extern const struct asn1_template asn1_NTLMReply[];
      53             : extern const struct asn1_template asn1_DigestReqInner[];
      54             : extern const struct asn1_template asn1_DigestREQ[];
      55             : extern const struct asn1_template asn1_DigestRepInner[];
      56             : extern const struct asn1_template asn1_DigestREP[];
      57             : /* template_members: DigestTypes exp exp */
      58             : static const struct asn1_template asn1_DigestTypes_bmember__0[] = {
      59             : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)6) },
      60             : /* 1 */ { 0, 0, "ntlm_v1" },
      61             : /* 2 */ { 0, 1, "ntlm_v1_session" },
      62             : /* 3 */ { 0, 2, "ntlm_v2" },
      63             : /* 4 */ { 0, 3, "digest_md5" },
      64             : /* 5 */ { 0, 4, "chap_md5" },
      65             : /* 6 */ { 0, 5, "ms_chap_v2" }
      66             : };
      67             : /* generate_template_type: DigestTypes_tag__0 */
      68             : const struct asn1_template asn1_DigestTypes_tag__0[] = {
      69             : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
      70             : /* 1 */ { A1_OP_BMEMBER, 0, asn1_DigestTypes_bmember__0 }
      71             : };
      72             : /* generate_template_type: DigestTypes */
      73             : const struct asn1_template asn1_DigestTypes[] = {
      74             : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
      75             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_DigestTypes_tag__0 }
      76             : };
      77             : 
      78             : int ASN1CALL
      79           0 : decode_DigestTypes(const unsigned char *p, size_t len, DigestTypes *data, size_t *size)
      80             : {
      81           0 :     memset(data, 0, sizeof(*data));
      82           0 :     return _asn1_decode_top(asn1_DigestTypes, 0|0, p, len, data, size);
      83             : }
      84             : 
      85             : 
      86             : int ASN1CALL
      87           0 : encode_DigestTypes(unsigned char *p, size_t len, const DigestTypes *data, size_t *size)
      88             : {
      89           0 :     return _asn1_encode(asn1_DigestTypes, p, len, data, size);
      90             : }
      91             : 
      92             : 
      93             : size_t ASN1CALL
      94           0 : length_DigestTypes(const DigestTypes *data)
      95             : {
      96           0 :     return _asn1_length(asn1_DigestTypes, data);
      97             : }
      98             : 
      99             : 
     100             : void ASN1CALL
     101           0 : free_DigestTypes(DigestTypes *data)
     102             : {
     103           0 :     _asn1_free_top(asn1_DigestTypes, data);
     104           0 : }
     105             : 
     106             : 
     107             : int ASN1CALL
     108           0 : copy_DigestTypes(const DigestTypes *from, DigestTypes *to)
     109             : {
     110           0 :     return _asn1_copy_top(asn1_DigestTypes, from, to);
     111             : }
     112             : 
     113             : 
     114             : char * ASN1CALL
     115           0 : print_DigestTypes(const DigestTypes *data, int flags)
     116             : {
     117           0 :     return _asn1_print_top(asn1_DigestTypes, flags, data);
     118             : }
     119             : 
     120           0 : uint64_t DigestTypes2int(DigestTypes f)
     121             : {
     122           0 : uint64_t r = 0;
     123           0 : if(f.ntlm_v1) r |= (1ULL << 0);
     124           0 : if(f.ntlm_v1_session) r |= (1ULL << 1);
     125           0 : if(f.ntlm_v2) r |= (1ULL << 2);
     126           0 : if(f.digest_md5) r |= (1ULL << 3);
     127           0 : if(f.chap_md5) r |= (1ULL << 4);
     128           0 : if(f.ms_chap_v2) r |= (1ULL << 5);
     129           0 : return r;
     130             : }
     131             : 
     132           0 : DigestTypes int2DigestTypes(uint64_t n)
     133             : {
     134           0 :         DigestTypes flags;
     135             : 
     136           0 :         memset(&flags, 0, sizeof(flags));
     137             : 
     138           0 :         flags.ntlm_v1 = (n >> 0) & 1;
     139           0 :         flags.ntlm_v1_session = (n >> 1) & 1;
     140           0 :         flags.ntlm_v2 = (n >> 2) & 1;
     141           0 :         flags.digest_md5 = (n >> 3) & 1;
     142           0 :         flags.chap_md5 = (n >> 4) & 1;
     143           0 :         flags.ms_chap_v2 = (n >> 5) & 1;
     144           0 :         return flags;
     145             : }
     146             : 
     147             : static struct units DigestTypes_units[] = {
     148             :         {"ms-chap-v2",        1ULL << 5},
     149             :         {"chap-md5",  1ULL << 4},
     150             :         {"digest-md5",        1ULL << 3},
     151             :         {"ntlm-v2",   1ULL << 2},
     152             :         {"ntlm-v1-session",   1ULL << 1},
     153             :         {"ntlm-v1",   1ULL << 0},
     154             :         {NULL,  0}
     155             : };
     156             : 
     157           0 : const struct units * asn1_DigestTypes_units(void){
     158           0 : return DigestTypes_units;
     159             : }
     160             : 
     161             : /* template_members: DigestInit exp exp */
     162             : /* tsequence: members isstruct: 1 */
     163             : /* template_members: DigestInit exp exp */
     164             : /* generate_template_type: DigestInit_tag_type_2 */
     165             : const struct asn1_template asn1_DigestInit_tag_type_2[] = {
     166             : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
     167             : /* 1 */ { A1_PARSE_T(A1T_UTF8_STRING), 0, NULL }
     168             : };
     169             : /* template_members: DigestInit exp exp */
     170             : /* template_members: DigestInit exp exp */
     171             : /* tsequence: members isstruct: 1 */
     172             : /* template_members: DigestInit_channel exp exp */
     173             : /* generate_template_type: DigestInit_channel_tag_cb_type_5 */
     174             : /* template_members: DigestInit_channel exp exp */
     175             : /* generate_template_type: DigestInit_channel_tag_cb_binding_6 */
     176             : /* generate_template_type: DigestInit_tag_channel_4 */
     177             : const struct asn1_template asn1_DigestInit_tag_channel_4[] = {
     178             : /* 0 */ { 0, sizeof(struct DigestInit_channel), ((void *)(uintptr_t)5) },
     179             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInit_channel, cb_type), asn1_DigestInit_tag_type_2 },
     180             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInit_channel, cb_binding), asn1_DigestInit_tag_type_2 },
     181             : /* 3 */ { A1_OP_NAME, 0, "DigestInit" },
     182             : /* 4 */ { A1_OP_NAME, 0, "cb-type" },
     183             : /* 5 */ { A1_OP_NAME, 0, "cb-binding" }
     184             : };
     185             : /* generate_template_type: DigestInit_tag_channel_3 */
     186             : const struct asn1_template asn1_DigestInit_tag_channel_3[] = {
     187             : /* 0 */ { 0, sizeof(struct DigestInit_channel), ((void *)(uintptr_t)1) },
     188             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInit_tag_channel_4 }
     189             : };
     190             : /* template_members: DigestInit exp exp */
     191             : /* template_members: heim_utf8_string exp exp */
     192             : /* generate_template_type: heim_utf8_string_tag_hostname_8 */
     193             : /* generate_template_type: DigestInit_tag_hostname_7 */
     194             : const struct asn1_template asn1_DigestInit_tag_hostname_7[] = {
     195             : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
     196             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_DigestInit_tag_type_2 }
     197             : };
     198             : /* generate_template_type: DigestInit_tag__1 */
     199             : const struct asn1_template asn1_DigestInit_tag__1[] = {
     200             : /* 0 */ { 0, sizeof(struct DigestInit), ((void *)(uintptr_t)7) },
     201             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInit, type), asn1_DigestInit_tag_type_2 },
     202             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestInit, channel), asn1_DigestInit_tag_channel_3 },
     203             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DigestInit, hostname), asn1_DigestInit_tag_hostname_7 },
     204             : /* 4 */ { A1_OP_NAME, 0, "DigestInit" },
     205             : /* 5 */ { A1_OP_NAME, 0, "type" },
     206             : /* 6 */ { A1_OP_NAME, 0, "channel" },
     207             : /* 7 */ { A1_OP_NAME, 0, "hostname" }
     208             : };
     209             : /* generate_template_type: DigestInit */
     210             : const struct asn1_template asn1_DigestInit[] = {
     211             : /* 0 */ { 0, sizeof(DigestInit), ((void *)(uintptr_t)1) },
     212             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInit_tag__1 }
     213             : };
     214             : 
     215             : int ASN1CALL
     216           0 : decode_DigestInit(const unsigned char *p, size_t len, DigestInit *data, size_t *size)
     217             : {
     218           0 :     memset(data, 0, sizeof(*data));
     219           0 :     return _asn1_decode_top(asn1_DigestInit, 0|0, p, len, data, size);
     220             : }
     221             : 
     222             : 
     223             : int ASN1CALL
     224           0 : encode_DigestInit(unsigned char *p, size_t len, const DigestInit *data, size_t *size)
     225             : {
     226           0 :     return _asn1_encode(asn1_DigestInit, p, len, data, size);
     227             : }
     228             : 
     229             : 
     230             : size_t ASN1CALL
     231           0 : length_DigestInit(const DigestInit *data)
     232             : {
     233           0 :     return _asn1_length(asn1_DigestInit, data);
     234             : }
     235             : 
     236             : 
     237             : void ASN1CALL
     238           0 : free_DigestInit(DigestInit *data)
     239             : {
     240           0 :     _asn1_free_top(asn1_DigestInit, data);
     241           0 : }
     242             : 
     243             : 
     244             : int ASN1CALL
     245           0 : copy_DigestInit(const DigestInit *from, DigestInit *to)
     246             : {
     247           0 :     return _asn1_copy_top(asn1_DigestInit, from, to);
     248             : }
     249             : 
     250             : 
     251             : char * ASN1CALL
     252           0 : print_DigestInit(const DigestInit *data, int flags)
     253             : {
     254           0 :     return _asn1_print_top(asn1_DigestInit, flags, data);
     255             : }
     256             : 
     257             : /* template_members: DigestInitReply exp exp */
     258             : /* tsequence: members isstruct: 1 */
     259             : /* template_members: DigestInitReply exp exp */
     260             : /* generate_template_type: DigestInitReply_tag_nonce_10 */
     261             : /* template_members: DigestInitReply exp exp */
     262             : /* generate_template_type: DigestInitReply_tag_opaque_11 */
     263             : /* template_members: DigestInitReply exp exp */
     264             : /* template_members: heim_utf8_string exp exp */
     265             : /* generate_template_type: heim_utf8_string_tag_identifier_13 */
     266             : /* generate_template_type: DigestInitReply_tag_identifier_12 */
     267             : /* generate_template_type: DigestInitReply_tag__9 */
     268             : const struct asn1_template asn1_DigestInitReply_tag__9[] = {
     269             : /* 0 */ { 0, sizeof(struct DigestInitReply), ((void *)(uintptr_t)7) },
     270             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInitReply, nonce), asn1_DigestInit_tag_type_2 },
     271             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInitReply, opaque), asn1_DigestInit_tag_type_2 },
     272             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestInitReply, identifier), asn1_DigestInit_tag_hostname_7 },
     273             : /* 4 */ { A1_OP_NAME, 0, "DigestInitReply" },
     274             : /* 5 */ { A1_OP_NAME, 0, "nonce" },
     275             : /* 6 */ { A1_OP_NAME, 0, "opaque" },
     276             : /* 7 */ { A1_OP_NAME, 0, "identifier" }
     277             : };
     278             : /* generate_template_type: DigestInitReply */
     279             : const struct asn1_template asn1_DigestInitReply[] = {
     280             : /* 0 */ { 0, sizeof(DigestInitReply), ((void *)(uintptr_t)1) },
     281             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInitReply_tag__9 }
     282             : };
     283             : 
     284             : int ASN1CALL
     285           0 : decode_DigestInitReply(const unsigned char *p, size_t len, DigestInitReply *data, size_t *size)
     286             : {
     287           0 :     memset(data, 0, sizeof(*data));
     288           0 :     return _asn1_decode_top(asn1_DigestInitReply, 0|0, p, len, data, size);
     289             : }
     290             : 
     291             : 
     292             : int ASN1CALL
     293           0 : encode_DigestInitReply(unsigned char *p, size_t len, const DigestInitReply *data, size_t *size)
     294             : {
     295           0 :     return _asn1_encode(asn1_DigestInitReply, p, len, data, size);
     296             : }
     297             : 
     298             : 
     299             : size_t ASN1CALL
     300           0 : length_DigestInitReply(const DigestInitReply *data)
     301             : {
     302           0 :     return _asn1_length(asn1_DigestInitReply, data);
     303             : }
     304             : 
     305             : 
     306             : void ASN1CALL
     307           0 : free_DigestInitReply(DigestInitReply *data)
     308             : {
     309           0 :     _asn1_free_top(asn1_DigestInitReply, data);
     310           0 : }
     311             : 
     312             : 
     313             : int ASN1CALL
     314           0 : copy_DigestInitReply(const DigestInitReply *from, DigestInitReply *to)
     315             : {
     316           0 :     return _asn1_copy_top(asn1_DigestInitReply, from, to);
     317             : }
     318             : 
     319             : 
     320             : char * ASN1CALL
     321           0 : print_DigestInitReply(const DigestInitReply *data, int flags)
     322             : {
     323           0 :     return _asn1_print_top(asn1_DigestInitReply, flags, data);
     324             : }
     325             : 
     326             : /* template_members: DigestRequest exp exp */
     327             : /* tsequence: members isstruct: 1 */
     328             : /* template_members: DigestRequest exp exp */
     329             : /* generate_template_type: DigestRequest_tag_type_15 */
     330             : /* template_members: DigestRequest exp exp */
     331             : /* generate_template_type: DigestRequest_tag_digest_16 */
     332             : /* template_members: DigestRequest exp exp */
     333             : /* generate_template_type: DigestRequest_tag_username_17 */
     334             : /* template_members: DigestRequest exp exp */
     335             : /* generate_template_type: DigestRequest_tag_responseData_18 */
     336             : /* template_members: DigestRequest exp exp */
     337             : /* template_members: heim_utf8_string exp exp */
     338             : /* generate_template_type: heim_utf8_string_tag_authid_20 */
     339             : /* generate_template_type: DigestRequest_tag_authid_19 */
     340             : /* template_members: DigestRequest exp exp */
     341             : /* generate_template_type: DigestRequest_tag_authentication_user_21 */
     342             : const struct asn1_template asn1_DigestRequest_tag_authentication_user_21[] = {
     343             : /* 0 */ { 0, sizeof(Principal), ((void *)(uintptr_t)1) },
     344             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Principal}
     345             : };
     346             : /* template_members: DigestRequest exp exp */
     347             : /* template_members: heim_utf8_string exp exp */
     348             : /* generate_template_type: heim_utf8_string_tag_realm_23 */
     349             : /* generate_template_type: DigestRequest_tag_realm_22 */
     350             : /* template_members: DigestRequest exp exp */
     351             : /* template_members: heim_utf8_string exp exp */
     352             : /* generate_template_type: heim_utf8_string_tag_method_25 */
     353             : /* generate_template_type: DigestRequest_tag_method_24 */
     354             : /* template_members: DigestRequest exp exp */
     355             : /* template_members: heim_utf8_string exp exp */
     356             : /* generate_template_type: heim_utf8_string_tag_uri_27 */
     357             : /* generate_template_type: DigestRequest_tag_uri_26 */
     358             : /* template_members: DigestRequest exp exp */
     359             : /* generate_template_type: DigestRequest_tag_serverNonce_28 */
     360             : /* template_members: DigestRequest exp exp */
     361             : /* template_members: heim_utf8_string exp exp */
     362             : /* generate_template_type: heim_utf8_string_tag_clientNonce_30 */
     363             : /* generate_template_type: DigestRequest_tag_clientNonce_29 */
     364             : /* template_members: DigestRequest exp exp */
     365             : /* template_members: heim_utf8_string exp exp */
     366             : /* generate_template_type: heim_utf8_string_tag_nonceCount_32 */
     367             : /* generate_template_type: DigestRequest_tag_nonceCount_31 */
     368             : /* template_members: DigestRequest exp exp */
     369             : /* template_members: heim_utf8_string exp exp */
     370             : /* generate_template_type: heim_utf8_string_tag_qop_34 */
     371             : /* generate_template_type: DigestRequest_tag_qop_33 */
     372             : /* template_members: DigestRequest exp exp */
     373             : /* template_members: heim_utf8_string exp exp */
     374             : /* generate_template_type: heim_utf8_string_tag_identifier_36 */
     375             : /* generate_template_type: DigestRequest_tag_identifier_35 */
     376             : /* template_members: DigestRequest exp exp */
     377             : /* template_members: heim_utf8_string exp exp */
     378             : /* generate_template_type: heim_utf8_string_tag_hostname_38 */
     379             : /* generate_template_type: DigestRequest_tag_hostname_37 */
     380             : /* template_members: DigestRequest exp exp */
     381             : /* generate_template_type: DigestRequest_tag_opaque_39 */
     382             : /* generate_template_type: DigestRequest_tag__14 */
     383             : const struct asn1_template asn1_DigestRequest_tag__14[] = {
     384             : /* 0 */ { 0, sizeof(struct DigestRequest), ((void *)(uintptr_t)33) },
     385             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, type), asn1_DigestInit_tag_type_2 },
     386             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, digest), asn1_DigestInit_tag_type_2 },
     387             : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, username), asn1_DigestInit_tag_type_2 },
     388             : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, responseData), asn1_DigestInit_tag_type_2 },
     389             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, authid), asn1_DigestInit_tag_hostname_7 },
     390             : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, authentication_user), asn1_DigestRequest_tag_authentication_user_21 },
     391             : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, realm), asn1_DigestInit_tag_hostname_7 },
     392             : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, method), asn1_DigestInit_tag_hostname_7 },
     393             : /* 9 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, uri), asn1_DigestInit_tag_hostname_7 },
     394             : /* 10 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, serverNonce), asn1_DigestInit_tag_type_2 },
     395             : /* 11 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, clientNonce), asn1_DigestInit_tag_hostname_7 },
     396             : /* 12 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,6)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, nonceCount), asn1_DigestInit_tag_hostname_7 },
     397             : /* 13 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,7)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, qop), asn1_DigestInit_tag_hostname_7 },
     398             : /* 14 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,8)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, identifier), asn1_DigestInit_tag_hostname_7 },
     399             : /* 15 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,9)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, hostname), asn1_DigestInit_tag_hostname_7 },
     400             : /* 16 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, opaque), asn1_DigestInit_tag_type_2 },
     401             : /* 17 */ { A1_OP_NAME, 0, "DigestRequest" },
     402             : /* 18 */ { A1_OP_NAME, 0, "type" },
     403             : /* 19 */ { A1_OP_NAME, 0, "digest" },
     404             : /* 20 */ { A1_OP_NAME, 0, "username" },
     405             : /* 21 */ { A1_OP_NAME, 0, "responseData" },
     406             : /* 22 */ { A1_OP_NAME, 0, "authid" },
     407             : /* 23 */ { A1_OP_NAME, 0, "authentication-user" },
     408             : /* 24 */ { A1_OP_NAME, 0, "realm" },
     409             : /* 25 */ { A1_OP_NAME, 0, "method" },
     410             : /* 26 */ { A1_OP_NAME, 0, "uri" },
     411             : /* 27 */ { A1_OP_NAME, 0, "serverNonce" },
     412             : /* 28 */ { A1_OP_NAME, 0, "clientNonce" },
     413             : /* 29 */ { A1_OP_NAME, 0, "nonceCount" },
     414             : /* 30 */ { A1_OP_NAME, 0, "qop" },
     415             : /* 31 */ { A1_OP_NAME, 0, "identifier" },
     416             : /* 32 */ { A1_OP_NAME, 0, "hostname" },
     417             : /* 33 */ { A1_OP_NAME, 0, "opaque" }
     418             : };
     419             : /* generate_template_type: DigestRequest */
     420             : const struct asn1_template asn1_DigestRequest[] = {
     421             : /* 0 */ { 0, sizeof(DigestRequest), ((void *)(uintptr_t)1) },
     422             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestRequest_tag__14 }
     423             : };
     424             : 
     425             : int ASN1CALL
     426           0 : decode_DigestRequest(const unsigned char *p, size_t len, DigestRequest *data, size_t *size)
     427             : {
     428           0 :     memset(data, 0, sizeof(*data));
     429           0 :     return _asn1_decode_top(asn1_DigestRequest, 0|0, p, len, data, size);
     430             : }
     431             : 
     432             : 
     433             : int ASN1CALL
     434           0 : encode_DigestRequest(unsigned char *p, size_t len, const DigestRequest *data, size_t *size)
     435             : {
     436           0 :     return _asn1_encode(asn1_DigestRequest, p, len, data, size);
     437             : }
     438             : 
     439             : 
     440             : size_t ASN1CALL
     441           0 : length_DigestRequest(const DigestRequest *data)
     442             : {
     443           0 :     return _asn1_length(asn1_DigestRequest, data);
     444             : }
     445             : 
     446             : 
     447             : void ASN1CALL
     448           0 : free_DigestRequest(DigestRequest *data)
     449             : {
     450           0 :     _asn1_free_top(asn1_DigestRequest, data);
     451           0 : }
     452             : 
     453             : 
     454             : int ASN1CALL
     455           0 : copy_DigestRequest(const DigestRequest *from, DigestRequest *to)
     456             : {
     457           0 :     return _asn1_copy_top(asn1_DigestRequest, from, to);
     458             : }
     459             : 
     460             : 
     461             : char * ASN1CALL
     462           0 : print_DigestRequest(const DigestRequest *data, int flags)
     463             : {
     464           0 :     return _asn1_print_top(asn1_DigestRequest, flags, data);
     465             : }
     466             : 
     467             : /* template_members: DigestError exp exp */
     468             : /* tsequence: members isstruct: 1 */
     469             : /* template_members: DigestError exp exp */
     470             : /* generate_template_type: DigestError_tag_reason_41 */
     471             : /* template_members: DigestError exp exp */
     472             : /* generate_template_type: DigestError_tag_code_42 */
     473             : const struct asn1_template asn1_DigestError_tag_code_42[] = {
     474             : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
     475             : /* 1 */ { A1_PARSE_T(A1T_INTEGER), 0, NULL }
     476             : };
     477             : /* generate_template_type: DigestError_tag__40 */
     478             : const struct asn1_template asn1_DigestError_tag__40[] = {
     479             : /* 0 */ { 0, sizeof(struct DigestError), ((void *)(uintptr_t)5) },
     480             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestError, reason), asn1_DigestInit_tag_type_2 },
     481             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DigestError, code), asn1_DigestError_tag_code_42 },
     482             : /* 3 */ { A1_OP_NAME, 0, "DigestError" },
     483             : /* 4 */ { A1_OP_NAME, 0, "reason" },
     484             : /* 5 */ { A1_OP_NAME, 0, "code" }
     485             : };
     486             : /* generate_template_type: DigestError */
     487             : const struct asn1_template asn1_DigestError[] = {
     488             : /* 0 */ { 0, sizeof(DigestError), ((void *)(uintptr_t)1) },
     489             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestError_tag__40 }
     490             : };
     491             : 
     492             : int ASN1CALL
     493           0 : decode_DigestError(const unsigned char *p, size_t len, DigestError *data, size_t *size)
     494             : {
     495           0 :     memset(data, 0, sizeof(*data));
     496           0 :     return _asn1_decode_top(asn1_DigestError, 0|0, p, len, data, size);
     497             : }
     498             : 
     499             : 
     500             : int ASN1CALL
     501           0 : encode_DigestError(unsigned char *p, size_t len, const DigestError *data, size_t *size)
     502             : {
     503           0 :     return _asn1_encode(asn1_DigestError, p, len, data, size);
     504             : }
     505             : 
     506             : 
     507             : size_t ASN1CALL
     508           0 : length_DigestError(const DigestError *data)
     509             : {
     510           0 :     return _asn1_length(asn1_DigestError, data);
     511             : }
     512             : 
     513             : 
     514             : void ASN1CALL
     515           0 : free_DigestError(DigestError *data)
     516             : {
     517           0 :     _asn1_free_top(asn1_DigestError, data);
     518           0 : }
     519             : 
     520             : 
     521             : int ASN1CALL
     522           0 : copy_DigestError(const DigestError *from, DigestError *to)
     523             : {
     524           0 :     return _asn1_copy_top(asn1_DigestError, from, to);
     525             : }
     526             : 
     527             : 
     528             : char * ASN1CALL
     529           0 : print_DigestError(const DigestError *data, int flags)
     530             : {
     531           0 :     return _asn1_print_top(asn1_DigestError, flags, data);
     532             : }
     533             : 
     534             : /* template_members: DigestResponse exp exp */
     535             : /* tsequence: members isstruct: 1 */
     536             : /* template_members: DigestResponse exp exp */
     537             : /* generate_template_type: DigestResponse_tag_success_44 */
     538             : const struct asn1_template asn1_DigestResponse_tag_success_44[] = {
     539             : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
     540             : /* 1 */ { A1_PARSE_T(A1T_BOOLEAN), 0, NULL }
     541             : };
     542             : /* template_members: DigestResponse exp exp */
     543             : /* template_members: heim_utf8_string exp exp */
     544             : /* generate_template_type: heim_utf8_string_tag_rsp_46 */
     545             : /* generate_template_type: DigestResponse_tag_rsp_45 */
     546             : /* template_members: DigestResponse exp exp */
     547             : /* template_members: DigestResponse exp exp */
     548             : /* template_members: heim_octet_string exp exp */
     549             : /* generate_template_type: heim_octet_string_tag__49 */
     550             : const struct asn1_template asn1_heim_octet_string_tag__49[] = {
     551             : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
     552             : /* 1 */ { A1_PARSE_T(A1T_OCTET_STRING), 0, NULL }
     553             : };
     554             : /* generate_template_type: DigestResponse_tickets_0 */
     555             : const struct asn1_template asn1_DigestResponse_tickets_0[] = {
     556             : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
     557             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_heim_octet_string_tag__49 }
     558             : };
     559             : /* generate_template_type: DigestResponse_tag_tickets_48 */
     560             : const struct asn1_template asn1_DigestResponse_tag_tickets_48[] = {
     561             : /* 0 */ { 0, sizeof(struct DigestResponse_tickets), ((void *)(uintptr_t)1) },
     562             : /* 1 */ { A1_OP_SEQOF, 0, asn1_DigestResponse_tickets_0 }
     563             : };
     564             : /* generate_template_type: DigestResponse_tag_tickets_47 */
     565             : const struct asn1_template asn1_DigestResponse_tag_tickets_47[] = {
     566             : /* 0 */ { 0, sizeof(struct DigestResponse_tickets), ((void *)(uintptr_t)1) },
     567             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestResponse_tag_tickets_48 }
     568             : };
     569             : /* template_members: DigestResponse exp exp */
     570             : /* template_members: DigestResponse exp exp */
     571             : /* tsequence: members isstruct: 1 */
     572             : /* template_members: DigestResponse_channel exp exp */
     573             : /* generate_template_type: DigestResponse_channel_tag_cb_type_52 */
     574             : /* template_members: DigestResponse_channel exp exp */
     575             : /* generate_template_type: DigestResponse_channel_tag_cb_binding_53 */
     576             : /* generate_template_type: DigestResponse_tag_channel_51 */
     577             : const struct asn1_template asn1_DigestResponse_tag_channel_51[] = {
     578             : /* 0 */ { 0, sizeof(struct DigestResponse_channel), ((void *)(uintptr_t)5) },
     579             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestResponse_channel, cb_type), asn1_DigestInit_tag_type_2 },
     580             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestResponse_channel, cb_binding), asn1_DigestInit_tag_type_2 },
     581             : /* 3 */ { A1_OP_NAME, 0, "DigestResponse" },
     582             : /* 4 */ { A1_OP_NAME, 0, "cb-type" },
     583             : /* 5 */ { A1_OP_NAME, 0, "cb-binding" }
     584             : };
     585             : /* generate_template_type: DigestResponse_tag_channel_50 */
     586             : const struct asn1_template asn1_DigestResponse_tag_channel_50[] = {
     587             : /* 0 */ { 0, sizeof(struct DigestResponse_channel), ((void *)(uintptr_t)1) },
     588             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestResponse_tag_channel_51 }
     589             : };
     590             : /* template_members: DigestResponse exp exp */
     591             : /* template_members: heim_octet_string exp exp */
     592             : /* generate_template_type: heim_octet_string_tag_session_key_55 */
     593             : /* generate_template_type: DigestResponse_tag_session_key_54 */
     594             : /* generate_template_type: DigestResponse_tag__43 */
     595             : const struct asn1_template asn1_DigestResponse_tag__43[] = {
     596             : /* 0 */ { 0, sizeof(struct DigestResponse), ((void *)(uintptr_t)11) },
     597             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean), offsetof(struct DigestResponse, success), asn1_DigestResponse_tag_success_44 },
     598             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, rsp), asn1_DigestInit_tag_hostname_7 },
     599             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, tickets), asn1_DigestResponse_tag_tickets_47 },
     600             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, channel), asn1_DigestResponse_tag_channel_50 },
     601             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, session_key), asn1_DigestResponse_tickets_0 },
     602             : /* 6 */ { A1_OP_NAME, 0, "DigestResponse" },
     603             : /* 7 */ { A1_OP_NAME, 0, "success" },
     604             : /* 8 */ { A1_OP_NAME, 0, "rsp" },
     605             : /* 9 */ { A1_OP_NAME, 0, "tickets" },
     606             : /* 10 */ { A1_OP_NAME, 0, "channel" },
     607             : /* 11 */ { A1_OP_NAME, 0, "session-key" }
     608             : };
     609             : /* generate_template_type: DigestResponse */
     610             : const struct asn1_template asn1_DigestResponse[] = {
     611             : /* 0 */ { 0, sizeof(DigestResponse), ((void *)(uintptr_t)1) },
     612             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestResponse_tag__43 }
     613             : };
     614             : 
     615             : int ASN1CALL
     616           0 : decode_DigestResponse(const unsigned char *p, size_t len, DigestResponse *data, size_t *size)
     617             : {
     618           0 :     memset(data, 0, sizeof(*data));
     619           0 :     return _asn1_decode_top(asn1_DigestResponse, 0|0, p, len, data, size);
     620             : }
     621             : 
     622             : 
     623             : int ASN1CALL
     624           0 : encode_DigestResponse(unsigned char *p, size_t len, const DigestResponse *data, size_t *size)
     625             : {
     626           0 :     return _asn1_encode(asn1_DigestResponse, p, len, data, size);
     627             : }
     628             : 
     629             : 
     630             : size_t ASN1CALL
     631           0 : length_DigestResponse(const DigestResponse *data)
     632             : {
     633           0 :     return _asn1_length(asn1_DigestResponse, data);
     634             : }
     635             : 
     636             : 
     637             : void ASN1CALL
     638           0 : free_DigestResponse(DigestResponse *data)
     639             : {
     640           0 :     _asn1_free_top(asn1_DigestResponse, data);
     641           0 : }
     642             : 
     643             : 
     644             : int ASN1CALL
     645           0 : copy_DigestResponse(const DigestResponse *from, DigestResponse *to)
     646             : {
     647           0 :     return _asn1_copy_top(asn1_DigestResponse, from, to);
     648             : }
     649             : 
     650             : 
     651             : char * ASN1CALL
     652           0 : print_DigestResponse(const DigestResponse *data, int flags)
     653             : {
     654           0 :     return _asn1_print_top(asn1_DigestResponse, flags, data);
     655             : }
     656             : 
     657             : /* template_members: NTLMInit exp exp */
     658             : /* tsequence: members isstruct: 1 */
     659             : /* template_members: NTLMInit exp exp */
     660             : /* template_members: unsigned exp exp */
     661             : /* generate_template_type: unsigned_tag_flags_58 */
     662             : const struct asn1_template asn1_unsigned_tag_flags_58[] = {
     663             : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
     664             : /* 1 */ { A1_PARSE_T(A1T_UNSIGNED), 0, NULL }
     665             : };
     666             : /* generate_template_type: NTLMInit_tag_flags_57 */
     667             : const struct asn1_template asn1_NTLMInit_tag_flags_57[] = {
     668             : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
     669             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_unsigned_tag_flags_58 }
     670             : };
     671             : /* template_members: NTLMInit exp exp */
     672             : /* template_members: heim_utf8_string exp exp */
     673             : /* generate_template_type: heim_utf8_string_tag_hostname_60 */
     674             : /* generate_template_type: NTLMInit_tag_hostname_59 */
     675             : /* template_members: NTLMInit exp exp */
     676             : /* template_members: heim_utf8_string exp exp */
     677             : /* generate_template_type: heim_utf8_string_tag_domain_62 */
     678             : /* generate_template_type: NTLMInit_tag_domain_61 */
     679             : /* generate_template_type: NTLMInit_tag__56 */
     680             : const struct asn1_template asn1_NTLMInit_tag__56[] = {
     681             : /* 0 */ { 0, sizeof(struct NTLMInit), ((void *)(uintptr_t)7) },
     682             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMInit, flags), asn1_NTLMInit_tag_flags_57 },
     683             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct NTLMInit, hostname), asn1_DigestInit_tag_hostname_7 },
     684             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct NTLMInit, domain), asn1_DigestInit_tag_hostname_7 },
     685             : /* 4 */ { A1_OP_NAME, 0, "NTLMInit" },
     686             : /* 5 */ { A1_OP_NAME, 0, "flags" },
     687             : /* 6 */ { A1_OP_NAME, 0, "hostname" },
     688             : /* 7 */ { A1_OP_NAME, 0, "domain" }
     689             : };
     690             : /* generate_template_type: NTLMInit */
     691             : const struct asn1_template asn1_NTLMInit[] = {
     692             : /* 0 */ { 0, sizeof(NTLMInit), ((void *)(uintptr_t)1) },
     693             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMInit_tag__56 }
     694             : };
     695             : 
     696             : int ASN1CALL
     697           0 : decode_NTLMInit(const unsigned char *p, size_t len, NTLMInit *data, size_t *size)
     698             : {
     699           0 :     memset(data, 0, sizeof(*data));
     700           0 :     return _asn1_decode_top(asn1_NTLMInit, 0|0, p, len, data, size);
     701             : }
     702             : 
     703             : 
     704             : int ASN1CALL
     705           0 : encode_NTLMInit(unsigned char *p, size_t len, const NTLMInit *data, size_t *size)
     706             : {
     707           0 :     return _asn1_encode(asn1_NTLMInit, p, len, data, size);
     708             : }
     709             : 
     710             : 
     711             : size_t ASN1CALL
     712           0 : length_NTLMInit(const NTLMInit *data)
     713             : {
     714           0 :     return _asn1_length(asn1_NTLMInit, data);
     715             : }
     716             : 
     717             : 
     718             : void ASN1CALL
     719           0 : free_NTLMInit(NTLMInit *data)
     720             : {
     721           0 :     _asn1_free_top(asn1_NTLMInit, data);
     722           0 : }
     723             : 
     724             : 
     725             : int ASN1CALL
     726           0 : copy_NTLMInit(const NTLMInit *from, NTLMInit *to)
     727             : {
     728           0 :     return _asn1_copy_top(asn1_NTLMInit, from, to);
     729             : }
     730             : 
     731             : 
     732             : char * ASN1CALL
     733           0 : print_NTLMInit(const NTLMInit *data, int flags)
     734             : {
     735           0 :     return _asn1_print_top(asn1_NTLMInit, flags, data);
     736             : }
     737             : 
     738             : /* template_members: NTLMInitReply exp exp */
     739             : /* tsequence: members isstruct: 1 */
     740             : /* template_members: NTLMInitReply exp exp */
     741             : /* template_members: unsigned exp exp */
     742             : /* generate_template_type: unsigned_tag_flags_65 */
     743             : /* generate_template_type: NTLMInitReply_tag_flags_64 */
     744             : /* template_members: NTLMInitReply exp exp */
     745             : /* template_members: heim_octet_string exp exp */
     746             : /* generate_template_type: heim_octet_string_tag_opaque_67 */
     747             : /* generate_template_type: NTLMInitReply_tag_opaque_66 */
     748             : /* template_members: NTLMInitReply exp exp */
     749             : /* template_members: heim_utf8_string exp exp */
     750             : /* generate_template_type: heim_utf8_string_tag_targetname_69 */
     751             : /* generate_template_type: NTLMInitReply_tag_targetname_68 */
     752             : /* template_members: NTLMInitReply exp exp */
     753             : /* template_members: heim_octet_string exp exp */
     754             : /* generate_template_type: heim_octet_string_tag_challenge_71 */
     755             : /* generate_template_type: NTLMInitReply_tag_challenge_70 */
     756             : /* template_members: NTLMInitReply exp exp */
     757             : /* template_members: heim_octet_string exp exp */
     758             : /* generate_template_type: heim_octet_string_tag_targetinfo_73 */
     759             : /* generate_template_type: NTLMInitReply_tag_targetinfo_72 */
     760             : /* generate_template_type: NTLMInitReply_tag__63 */
     761             : const struct asn1_template asn1_NTLMInitReply_tag__63[] = {
     762             : /* 0 */ { 0, sizeof(struct NTLMInitReply), ((void *)(uintptr_t)11) },
     763             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMInitReply, flags), asn1_NTLMInit_tag_flags_57 },
     764             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMInitReply, opaque), asn1_DigestResponse_tickets_0 },
     765             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct NTLMInitReply, targetname), asn1_DigestInit_tag_hostname_7 },
     766             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct NTLMInitReply, challenge), asn1_DigestResponse_tickets_0 },
     767             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct NTLMInitReply, targetinfo), asn1_DigestResponse_tickets_0 },
     768             : /* 6 */ { A1_OP_NAME, 0, "NTLMInitReply" },
     769             : /* 7 */ { A1_OP_NAME, 0, "flags" },
     770             : /* 8 */ { A1_OP_NAME, 0, "opaque" },
     771             : /* 9 */ { A1_OP_NAME, 0, "targetname" },
     772             : /* 10 */ { A1_OP_NAME, 0, "challenge" },
     773             : /* 11 */ { A1_OP_NAME, 0, "targetinfo" }
     774             : };
     775             : /* generate_template_type: NTLMInitReply */
     776             : const struct asn1_template asn1_NTLMInitReply[] = {
     777             : /* 0 */ { 0, sizeof(NTLMInitReply), ((void *)(uintptr_t)1) },
     778             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMInitReply_tag__63 }
     779             : };
     780             : 
     781             : int ASN1CALL
     782           0 : decode_NTLMInitReply(const unsigned char *p, size_t len, NTLMInitReply *data, size_t *size)
     783             : {
     784           0 :     memset(data, 0, sizeof(*data));
     785           0 :     return _asn1_decode_top(asn1_NTLMInitReply, 0|0, p, len, data, size);
     786             : }
     787             : 
     788             : 
     789             : int ASN1CALL
     790           0 : encode_NTLMInitReply(unsigned char *p, size_t len, const NTLMInitReply *data, size_t *size)
     791             : {
     792           0 :     return _asn1_encode(asn1_NTLMInitReply, p, len, data, size);
     793             : }
     794             : 
     795             : 
     796             : size_t ASN1CALL
     797           0 : length_NTLMInitReply(const NTLMInitReply *data)
     798             : {
     799           0 :     return _asn1_length(asn1_NTLMInitReply, data);
     800             : }
     801             : 
     802             : 
     803             : void ASN1CALL
     804           0 : free_NTLMInitReply(NTLMInitReply *data)
     805             : {
     806           0 :     _asn1_free_top(asn1_NTLMInitReply, data);
     807           0 : }
     808             : 
     809             : 
     810             : int ASN1CALL
     811           0 : copy_NTLMInitReply(const NTLMInitReply *from, NTLMInitReply *to)
     812             : {
     813           0 :     return _asn1_copy_top(asn1_NTLMInitReply, from, to);
     814             : }
     815             : 
     816             : 
     817             : char * ASN1CALL
     818           0 : print_NTLMInitReply(const NTLMInitReply *data, int flags)
     819             : {
     820           0 :     return _asn1_print_top(asn1_NTLMInitReply, flags, data);
     821             : }
     822             : 
     823             : /* template_members: NTLMRequest exp exp */
     824             : /* tsequence: members isstruct: 1 */
     825             : /* template_members: NTLMRequest exp exp */
     826             : /* template_members: unsigned exp exp */
     827             : /* generate_template_type: unsigned_tag_flags_76 */
     828             : /* generate_template_type: NTLMRequest_tag_flags_75 */
     829             : /* template_members: NTLMRequest exp exp */
     830             : /* template_members: heim_octet_string exp exp */
     831             : /* generate_template_type: heim_octet_string_tag_opaque_78 */
     832             : /* generate_template_type: NTLMRequest_tag_opaque_77 */
     833             : /* template_members: NTLMRequest exp exp */
     834             : /* template_members: heim_utf8_string exp exp */
     835             : /* generate_template_type: heim_utf8_string_tag_username_80 */
     836             : /* generate_template_type: NTLMRequest_tag_username_79 */
     837             : /* template_members: NTLMRequest exp exp */
     838             : /* template_members: heim_utf8_string exp exp */
     839             : /* generate_template_type: heim_utf8_string_tag_targetname_82 */
     840             : /* generate_template_type: NTLMRequest_tag_targetname_81 */
     841             : /* template_members: NTLMRequest exp exp */
     842             : /* template_members: heim_octet_string exp exp */
     843             : /* generate_template_type: heim_octet_string_tag_targetinfo_84 */
     844             : /* generate_template_type: NTLMRequest_tag_targetinfo_83 */
     845             : /* template_members: NTLMRequest exp exp */
     846             : /* template_members: heim_octet_string exp exp */
     847             : /* generate_template_type: heim_octet_string_tag_lm_86 */
     848             : /* generate_template_type: NTLMRequest_tag_lm_85 */
     849             : /* template_members: NTLMRequest exp exp */
     850             : /* template_members: heim_octet_string exp exp */
     851             : /* generate_template_type: heim_octet_string_tag_ntlm_88 */
     852             : /* generate_template_type: NTLMRequest_tag_ntlm_87 */
     853             : /* template_members: NTLMRequest exp exp */
     854             : /* template_members: heim_octet_string exp exp */
     855             : /* generate_template_type: heim_octet_string_tag_sessionkey_90 */
     856             : /* generate_template_type: NTLMRequest_tag_sessionkey_89 */
     857             : /* generate_template_type: NTLMRequest_tag__74 */
     858             : const struct asn1_template asn1_NTLMRequest_tag__74[] = {
     859             : /* 0 */ { 0, sizeof(struct NTLMRequest), ((void *)(uintptr_t)17) },
     860             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMRequest, flags), asn1_NTLMInit_tag_flags_57 },
     861             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMRequest, opaque), asn1_DigestResponse_tickets_0 },
     862             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct NTLMRequest, username), asn1_DigestInit_tag_hostname_7 },
     863             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct NTLMRequest, targetname), asn1_DigestInit_tag_hostname_7 },
     864             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct NTLMRequest, targetinfo), asn1_DigestResponse_tickets_0 },
     865             : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5), offsetof(struct NTLMRequest, lm), asn1_DigestResponse_tickets_0 },
     866             : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,6), offsetof(struct NTLMRequest, ntlm), asn1_DigestResponse_tickets_0 },
     867             : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,7)|A1_FLAG_OPTIONAL, offsetof(struct NTLMRequest, sessionkey), asn1_DigestResponse_tickets_0 },
     868             : /* 9 */ { A1_OP_NAME, 0, "NTLMRequest" },
     869             : /* 10 */ { A1_OP_NAME, 0, "flags" },
     870             : /* 11 */ { A1_OP_NAME, 0, "opaque" },
     871             : /* 12 */ { A1_OP_NAME, 0, "username" },
     872             : /* 13 */ { A1_OP_NAME, 0, "targetname" },
     873             : /* 14 */ { A1_OP_NAME, 0, "targetinfo" },
     874             : /* 15 */ { A1_OP_NAME, 0, "lm" },
     875             : /* 16 */ { A1_OP_NAME, 0, "ntlm" },
     876             : /* 17 */ { A1_OP_NAME, 0, "sessionkey" }
     877             : };
     878             : /* generate_template_type: NTLMRequest */
     879             : const struct asn1_template asn1_NTLMRequest[] = {
     880             : /* 0 */ { 0, sizeof(NTLMRequest), ((void *)(uintptr_t)1) },
     881             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMRequest_tag__74 }
     882             : };
     883             : 
     884             : int ASN1CALL
     885           0 : decode_NTLMRequest(const unsigned char *p, size_t len, NTLMRequest *data, size_t *size)
     886             : {
     887           0 :     memset(data, 0, sizeof(*data));
     888           0 :     return _asn1_decode_top(asn1_NTLMRequest, 0|0, p, len, data, size);
     889             : }
     890             : 
     891             : 
     892             : int ASN1CALL
     893           0 : encode_NTLMRequest(unsigned char *p, size_t len, const NTLMRequest *data, size_t *size)
     894             : {
     895           0 :     return _asn1_encode(asn1_NTLMRequest, p, len, data, size);
     896             : }
     897             : 
     898             : 
     899             : size_t ASN1CALL
     900           0 : length_NTLMRequest(const NTLMRequest *data)
     901             : {
     902           0 :     return _asn1_length(asn1_NTLMRequest, data);
     903             : }
     904             : 
     905             : 
     906             : void ASN1CALL
     907           0 : free_NTLMRequest(NTLMRequest *data)
     908             : {
     909           0 :     _asn1_free_top(asn1_NTLMRequest, data);
     910           0 : }
     911             : 
     912             : 
     913             : int ASN1CALL
     914           0 : copy_NTLMRequest(const NTLMRequest *from, NTLMRequest *to)
     915             : {
     916           0 :     return _asn1_copy_top(asn1_NTLMRequest, from, to);
     917             : }
     918             : 
     919             : 
     920             : char * ASN1CALL
     921           0 : print_NTLMRequest(const NTLMRequest *data, int flags)
     922             : {
     923           0 :     return _asn1_print_top(asn1_NTLMRequest, flags, data);
     924             : }
     925             : 
     926             : /* template_members: NTLMResponse exp exp */
     927             : /* tsequence: members isstruct: 1 */
     928             : /* template_members: NTLMResponse exp exp */
     929             : /* template_members: int exp exp */
     930             : /* generate_template_type: int_tag_success_93 */
     931             : /* generate_template_type: NTLMResponse_tag_success_92 */
     932             : const struct asn1_template asn1_NTLMResponse_tag_success_92[] = {
     933             : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
     934             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean), 0, asn1_DigestResponse_tag_success_44 }
     935             : };
     936             : /* template_members: NTLMResponse exp exp */
     937             : /* template_members: unsigned exp exp */
     938             : /* generate_template_type: unsigned_tag_flags_95 */
     939             : /* generate_template_type: NTLMResponse_tag_flags_94 */
     940             : /* template_members: NTLMResponse exp exp */
     941             : /* template_members: heim_octet_string exp exp */
     942             : /* generate_template_type: heim_octet_string_tag_sessionkey_97 */
     943             : /* generate_template_type: NTLMResponse_tag_sessionkey_96 */
     944             : /* template_members: NTLMResponse exp exp */
     945             : /* template_members: NTLMResponse exp exp */
     946             : /* template_members: heim_octet_string exp exp */
     947             : /* generate_template_type: heim_octet_string_tag__100 */
     948             : /* generate_template_type: NTLMResponse_tickets_1 */
     949             : /* generate_template_type: NTLMResponse_tag_tickets_99 */
     950             : const struct asn1_template asn1_NTLMResponse_tag_tickets_99[] = {
     951             : /* 0 */ { 0, sizeof(struct NTLMResponse_tickets), ((void *)(uintptr_t)1) },
     952             : /* 1 */ { A1_OP_SEQOF, 0, asn1_DigestResponse_tickets_0 }
     953             : };
     954             : /* generate_template_type: NTLMResponse_tag_tickets_98 */
     955             : const struct asn1_template asn1_NTLMResponse_tag_tickets_98[] = {
     956             : /* 0 */ { 0, sizeof(struct NTLMResponse_tickets), ((void *)(uintptr_t)1) },
     957             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMResponse_tag_tickets_99 }
     958             : };
     959             : /* generate_template_type: NTLMResponse_tag__91 */
     960             : const struct asn1_template asn1_NTLMResponse_tag__91[] = {
     961             : /* 0 */ { 0, sizeof(struct NTLMResponse), ((void *)(uintptr_t)9) },
     962             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMResponse, success), asn1_NTLMResponse_tag_success_92 },
     963             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMResponse, flags), asn1_NTLMInit_tag_flags_57 },
     964             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct NTLMResponse, sessionkey), asn1_DigestResponse_tickets_0 },
     965             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct NTLMResponse, tickets), asn1_NTLMResponse_tag_tickets_98 },
     966             : /* 5 */ { A1_OP_NAME, 0, "NTLMResponse" },
     967             : /* 6 */ { A1_OP_NAME, 0, "success" },
     968             : /* 7 */ { A1_OP_NAME, 0, "flags" },
     969             : /* 8 */ { A1_OP_NAME, 0, "sessionkey" },
     970             : /* 9 */ { A1_OP_NAME, 0, "tickets" }
     971             : };
     972             : /* generate_template_type: NTLMResponse */
     973             : const struct asn1_template asn1_NTLMResponse[] = {
     974             : /* 0 */ { 0, sizeof(NTLMResponse), ((void *)(uintptr_t)1) },
     975             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMResponse_tag__91 }
     976             : };
     977             : 
     978             : int ASN1CALL
     979           0 : decode_NTLMResponse(const unsigned char *p, size_t len, NTLMResponse *data, size_t *size)
     980             : {
     981           0 :     memset(data, 0, sizeof(*data));
     982           0 :     return _asn1_decode_top(asn1_NTLMResponse, 0|0, p, len, data, size);
     983             : }
     984             : 
     985             : 
     986             : int ASN1CALL
     987           0 : encode_NTLMResponse(unsigned char *p, size_t len, const NTLMResponse *data, size_t *size)
     988             : {
     989           0 :     return _asn1_encode(asn1_NTLMResponse, p, len, data, size);
     990             : }
     991             : 
     992             : 
     993             : size_t ASN1CALL
     994           0 : length_NTLMResponse(const NTLMResponse *data)
     995             : {
     996           0 :     return _asn1_length(asn1_NTLMResponse, data);
     997             : }
     998             : 
     999             : 
    1000             : void ASN1CALL
    1001           0 : free_NTLMResponse(NTLMResponse *data)
    1002             : {
    1003           0 :     _asn1_free_top(asn1_NTLMResponse, data);
    1004           0 : }
    1005             : 
    1006             : 
    1007             : int ASN1CALL
    1008           0 : copy_NTLMResponse(const NTLMResponse *from, NTLMResponse *to)
    1009             : {
    1010           0 :     return _asn1_copy_top(asn1_NTLMResponse, from, to);
    1011             : }
    1012             : 
    1013             : 
    1014             : char * ASN1CALL
    1015           0 : print_NTLMResponse(const NTLMResponse *data, int flags)
    1016             : {
    1017           0 :     return _asn1_print_top(asn1_NTLMResponse, flags, data);
    1018             : }
    1019             : 
    1020             : /* template_members: NTLMRequest2 exp exp */
    1021             : /* tsequence: members isstruct: 1 */
    1022             : /* template_members: NTLMRequest2 exp exp */
    1023             : /* template_members: heim_utf8_string exp exp */
    1024             : /* generate_template_type: heim_utf8_string_tag_loginUserName_103 */
    1025             : /* generate_template_type: NTLMRequest2_tag_loginUserName_102 */
    1026             : /* template_members: NTLMRequest2 exp exp */
    1027             : /* template_members: heim_utf8_string exp exp */
    1028             : /* generate_template_type: heim_utf8_string_tag_loginDomainName_105 */
    1029             : /* generate_template_type: NTLMRequest2_tag_loginDomainName_104 */
    1030             : /* template_members: NTLMRequest2 exp exp */
    1031             : /* template_members: unsigned exp exp */
    1032             : /* generate_template_type: unsigned_tag_flags_107 */
    1033             : /* generate_template_type: NTLMRequest2_tag_flags_106 */
    1034             : /* template_members: NTLMRequest2 exp exp */
    1035             : /* template_members: heim_octet_string exp exp */
    1036             : /* generate_template_type: heim_octet_string_tag_lmchallenge_109 */
    1037             : /* generate_template_type: NTLMRequest2_tag_lmchallenge_108 */
    1038             : /* template_members: NTLMRequest2 exp exp */
    1039             : /* template_members: heim_octet_string exp exp */
    1040             : /* generate_template_type: heim_octet_string_tag_ntChallengeResponce_111 */
    1041             : /* generate_template_type: NTLMRequest2_tag_ntChallengeResponce_110 */
    1042             : /* template_members: NTLMRequest2 exp exp */
    1043             : /* template_members: heim_octet_string exp exp */
    1044             : /* generate_template_type: heim_octet_string_tag_lmChallengeResponce_113 */
    1045             : /* generate_template_type: NTLMRequest2_tag_lmChallengeResponce_112 */
    1046             : /* generate_template_type: NTLMRequest2_tag__101 */
    1047             : const struct asn1_template asn1_NTLMRequest2_tag__101[] = {
    1048             : /* 0 */ { 0, sizeof(struct NTLMRequest2), ((void *)(uintptr_t)13) },
    1049             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMRequest2, loginUserName), asn1_DigestInit_tag_hostname_7 },
    1050             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMRequest2, loginDomainName), asn1_DigestInit_tag_hostname_7 },
    1051             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct NTLMRequest2, flags), asn1_NTLMInit_tag_flags_57 },
    1052             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct NTLMRequest2, lmchallenge), asn1_DigestResponse_tickets_0 },
    1053             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), offsetof(struct NTLMRequest2, ntChallengeResponce), asn1_DigestResponse_tickets_0 },
    1054             : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5), offsetof(struct NTLMRequest2, lmChallengeResponce), asn1_DigestResponse_tickets_0 },
    1055             : /* 7 */ { A1_OP_NAME, 0, "NTLMRequest2" },
    1056             : /* 8 */ { A1_OP_NAME, 0, "loginUserName" },
    1057             : /* 9 */ { A1_OP_NAME, 0, "loginDomainName" },
    1058             : /* 10 */ { A1_OP_NAME, 0, "flags" },
    1059             : /* 11 */ { A1_OP_NAME, 0, "lmchallenge" },
    1060             : /* 12 */ { A1_OP_NAME, 0, "ntChallengeResponce" },
    1061             : /* 13 */ { A1_OP_NAME, 0, "lmChallengeResponce" }
    1062             : };
    1063             : /* generate_template_type: NTLMRequest2 */
    1064             : const struct asn1_template asn1_NTLMRequest2[] = {
    1065             : /* 0 */ { 0, sizeof(NTLMRequest2), ((void *)(uintptr_t)1) },
    1066             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMRequest2_tag__101 }
    1067             : };
    1068             : 
    1069             : int ASN1CALL
    1070           0 : decode_NTLMRequest2(const unsigned char *p, size_t len, NTLMRequest2 *data, size_t *size)
    1071             : {
    1072           0 :     memset(data, 0, sizeof(*data));
    1073           0 :     return _asn1_decode_top(asn1_NTLMRequest2, 0|0, p, len, data, size);
    1074             : }
    1075             : 
    1076             : 
    1077             : int ASN1CALL
    1078           0 : encode_NTLMRequest2(unsigned char *p, size_t len, const NTLMRequest2 *data, size_t *size)
    1079             : {
    1080           0 :     return _asn1_encode(asn1_NTLMRequest2, p, len, data, size);
    1081             : }
    1082             : 
    1083             : 
    1084             : size_t ASN1CALL
    1085           0 : length_NTLMRequest2(const NTLMRequest2 *data)
    1086             : {
    1087           0 :     return _asn1_length(asn1_NTLMRequest2, data);
    1088             : }
    1089             : 
    1090             : 
    1091             : void ASN1CALL
    1092           0 : free_NTLMRequest2(NTLMRequest2 *data)
    1093             : {
    1094           0 :     _asn1_free_top(asn1_NTLMRequest2, data);
    1095           0 : }
    1096             : 
    1097             : 
    1098             : int ASN1CALL
    1099           0 : copy_NTLMRequest2(const NTLMRequest2 *from, NTLMRequest2 *to)
    1100             : {
    1101           0 :     return _asn1_copy_top(asn1_NTLMRequest2, from, to);
    1102             : }
    1103             : 
    1104             : 
    1105             : char * ASN1CALL
    1106           0 : print_NTLMRequest2(const NTLMRequest2 *data, int flags)
    1107             : {
    1108           0 :     return _asn1_print_top(asn1_NTLMRequest2, flags, data);
    1109             : }
    1110             : 
    1111             : /* template_members: NTLMReply exp exp */
    1112             : /* tsequence: members isstruct: 1 */
    1113             : /* template_members: NTLMReply exp exp */
    1114             : /* template_members: int exp exp */
    1115             : /* generate_template_type: int_tag_success_116 */
    1116             : /* generate_template_type: NTLMReply_tag_success_115 */
    1117             : /* template_members: NTLMReply exp exp */
    1118             : /* template_members: unsigned exp exp */
    1119             : /* generate_template_type: unsigned_tag_flags_118 */
    1120             : /* generate_template_type: NTLMReply_tag_flags_117 */
    1121             : /* template_members: NTLMReply exp exp */
    1122             : /* template_members: heim_octet_string exp exp */
    1123             : /* generate_template_type: heim_octet_string_tag_sessionkey_120 */
    1124             : /* generate_template_type: NTLMReply_tag_sessionkey_119 */
    1125             : /* generate_template_type: NTLMReply_tag__114 */
    1126             : const struct asn1_template asn1_NTLMReply_tag__114[] = {
    1127             : /* 0 */ { 0, sizeof(struct NTLMReply), ((void *)(uintptr_t)7) },
    1128             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMReply, success), asn1_NTLMResponse_tag_success_92 },
    1129             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMReply, flags), asn1_NTLMInit_tag_flags_57 },
    1130             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct NTLMReply, sessionkey), asn1_DigestResponse_tickets_0 },
    1131             : /* 4 */ { A1_OP_NAME, 0, "NTLMReply" },
    1132             : /* 5 */ { A1_OP_NAME, 0, "success" },
    1133             : /* 6 */ { A1_OP_NAME, 0, "flags" },
    1134             : /* 7 */ { A1_OP_NAME, 0, "sessionkey" }
    1135             : };
    1136             : /* generate_template_type: NTLMReply */
    1137             : const struct asn1_template asn1_NTLMReply[] = {
    1138             : /* 0 */ { 0, sizeof(NTLMReply), ((void *)(uintptr_t)1) },
    1139             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMReply_tag__114 }
    1140             : };
    1141             : 
    1142             : int ASN1CALL
    1143           0 : decode_NTLMReply(const unsigned char *p, size_t len, NTLMReply *data, size_t *size)
    1144             : {
    1145           0 :     memset(data, 0, sizeof(*data));
    1146           0 :     return _asn1_decode_top(asn1_NTLMReply, 0|0, p, len, data, size);
    1147             : }
    1148             : 
    1149             : 
    1150             : int ASN1CALL
    1151           0 : encode_NTLMReply(unsigned char *p, size_t len, const NTLMReply *data, size_t *size)
    1152             : {
    1153           0 :     return _asn1_encode(asn1_NTLMReply, p, len, data, size);
    1154             : }
    1155             : 
    1156             : 
    1157             : size_t ASN1CALL
    1158           0 : length_NTLMReply(const NTLMReply *data)
    1159             : {
    1160           0 :     return _asn1_length(asn1_NTLMReply, data);
    1161             : }
    1162             : 
    1163             : 
    1164             : void ASN1CALL
    1165           0 : free_NTLMReply(NTLMReply *data)
    1166             : {
    1167           0 :     _asn1_free_top(asn1_NTLMReply, data);
    1168           0 : }
    1169             : 
    1170             : 
    1171             : int ASN1CALL
    1172           0 : copy_NTLMReply(const NTLMReply *from, NTLMReply *to)
    1173             : {
    1174           0 :     return _asn1_copy_top(asn1_NTLMReply, from, to);
    1175             : }
    1176             : 
    1177             : 
    1178             : char * ASN1CALL
    1179           0 : print_NTLMReply(const NTLMReply *data, int flags)
    1180             : {
    1181           0 :     return _asn1_print_top(asn1_NTLMReply, flags, data);
    1182             : }
    1183             : 
    1184             : /* template_members: DigestInit exp exp */
    1185             : /* generate_template_type: DigestInit_tag__121 */
    1186             : const struct asn1_template asn1_DigestInit_tag__121[] = {
    1187             : /* 0 */ { 0, sizeof(DigestInit), ((void *)(uintptr_t)1) },
    1188             : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestInit }
    1189             : };
    1190             : /* generate_template_type: DigestReqInner_choice_init */
    1191             : const struct asn1_template asn1_DigestReqInner_choice_init[] = {
    1192             : /* 0 */ { 0, sizeof(DigestInit), ((void *)(uintptr_t)1) },
    1193             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), 0, asn1_DigestInit_tag__121 }
    1194             : };
    1195             : /* template_members: DigestRequest exp exp */
    1196             : /* generate_template_type: DigestRequest_tag__122 */
    1197             : const struct asn1_template asn1_DigestRequest_tag__122[] = {
    1198             : /* 0 */ { 0, sizeof(DigestRequest), ((void *)(uintptr_t)1) },
    1199             : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestRequest }
    1200             : };
    1201             : /* generate_template_type: DigestReqInner_choice_digestRequest */
    1202             : const struct asn1_template asn1_DigestReqInner_choice_digestRequest[] = {
    1203             : /* 0 */ { 0, sizeof(DigestRequest), ((void *)(uintptr_t)1) },
    1204             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_DigestRequest_tag__122 }
    1205             : };
    1206             : /* template_members: NTLMInit exp exp */
    1207             : /* generate_template_type: NTLMInit_tag__123 */
    1208             : const struct asn1_template asn1_NTLMInit_tag__123[] = {
    1209             : /* 0 */ { 0, sizeof(NTLMInit), ((void *)(uintptr_t)1) },
    1210             : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMInit }
    1211             : };
    1212             : /* generate_template_type: DigestReqInner_choice_ntlmInit */
    1213             : const struct asn1_template asn1_DigestReqInner_choice_ntlmInit[] = {
    1214             : /* 0 */ { 0, sizeof(NTLMInit), ((void *)(uintptr_t)1) },
    1215             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_NTLMInit_tag__123 }
    1216             : };
    1217             : /* template_members: NTLMRequest exp exp */
    1218             : /* generate_template_type: NTLMRequest_tag__124 */
    1219             : const struct asn1_template asn1_NTLMRequest_tag__124[] = {
    1220             : /* 0 */ { 0, sizeof(NTLMRequest), ((void *)(uintptr_t)1) },
    1221             : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMRequest }
    1222             : };
    1223             : /* generate_template_type: DigestReqInner_choice_ntlmRequest */
    1224             : const struct asn1_template asn1_DigestReqInner_choice_ntlmRequest[] = {
    1225             : /* 0 */ { 0, sizeof(NTLMRequest), ((void *)(uintptr_t)1) },
    1226             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), 0, asn1_NTLMRequest_tag__124 }
    1227             : };
    1228             : /* template_members: heim_integer exp exp */
    1229             : /* template_members: heim_integer exp exp */
    1230             : /* generate_template_type: heim_integer_tag__126 */
    1231             : const struct asn1_template asn1_heim_integer_tag__126[] = {
    1232             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)0) },
    1233             : };
    1234             : /* generate_template_type: heim_integer_tag__125 */
    1235             : const struct asn1_template asn1_heim_integer_tag__125[] = {
    1236             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
    1237             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Null), 0, asn1_heim_integer_tag__126 }
    1238             : };
    1239             : /* generate_template_type: DigestReqInner_choice_supportedMechs */
    1240             : const struct asn1_template asn1_DigestReqInner_choice_supportedMechs[] = {
    1241             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
    1242             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), 0, asn1_heim_integer_tag__125 }
    1243             : };
    1244             : static const struct asn1_template asn1_choice_DigestReqInner_0[] = {
    1245             : /* 0 */ { 0, offsetof(DigestReqInner, element), ((void *)(uintptr_t)10) },
    1246             : /* 1 */ { choice_DigestReqInner_init, offsetof(DigestReqInner, u.init), asn1_DigestReqInner_choice_init },
    1247             : /* 2 */ { choice_DigestReqInner_digestRequest, offsetof(DigestReqInner, u.digestRequest), asn1_DigestReqInner_choice_digestRequest },
    1248             : /* 3 */ { choice_DigestReqInner_ntlmInit, offsetof(DigestReqInner, u.ntlmInit), asn1_DigestReqInner_choice_ntlmInit },
    1249             : /* 4 */ { choice_DigestReqInner_ntlmRequest, offsetof(DigestReqInner, u.ntlmRequest), asn1_DigestReqInner_choice_ntlmRequest },
    1250             : /* 5 */ { choice_DigestReqInner_supportedMechs, offsetof(DigestReqInner, u.supportedMechs), asn1_DigestReqInner_choice_supportedMechs },
    1251             : /* 6 */ { 0, 0, "init" },
    1252             : /* 7 */ { 0, 0, "digestRequest" },
    1253             : /* 8 */ { 0, 0, "ntlmInit" },
    1254             : /* 9 */ { 0, 0, "ntlmRequest" },
    1255             : /* 10 */ { 0, 0, "supportedMechs" }
    1256             : };
    1257             : /* generate_template_type: DigestReqInner */
    1258             : const struct asn1_template asn1_DigestReqInner[] = {
    1259             : /* 0 */ { 0, sizeof(DigestReqInner), ((void *)(uintptr_t)1) },
    1260             : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DigestReqInner_0 }
    1261             : };
    1262             : 
    1263             : int ASN1CALL
    1264           0 : decode_DigestReqInner(const unsigned char *p, size_t len, DigestReqInner *data, size_t *size)
    1265             : {
    1266           0 :     memset(data, 0, sizeof(*data));
    1267           0 :     return _asn1_decode_top(asn1_DigestReqInner, 0|0, p, len, data, size);
    1268             : }
    1269             : 
    1270             : 
    1271             : int ASN1CALL
    1272           0 : encode_DigestReqInner(unsigned char *p, size_t len, const DigestReqInner *data, size_t *size)
    1273             : {
    1274           0 :     return _asn1_encode(asn1_DigestReqInner, p, len, data, size);
    1275             : }
    1276             : 
    1277             : 
    1278             : size_t ASN1CALL
    1279           0 : length_DigestReqInner(const DigestReqInner *data)
    1280             : {
    1281           0 :     return _asn1_length(asn1_DigestReqInner, data);
    1282             : }
    1283             : 
    1284             : 
    1285             : void ASN1CALL
    1286           0 : free_DigestReqInner(DigestReqInner *data)
    1287             : {
    1288           0 :     _asn1_free_top(asn1_DigestReqInner, data);
    1289           0 : }
    1290             : 
    1291             : 
    1292             : int ASN1CALL
    1293           0 : copy_DigestReqInner(const DigestReqInner *from, DigestReqInner *to)
    1294             : {
    1295           0 :     return _asn1_copy_top(asn1_DigestReqInner, from, to);
    1296             : }
    1297             : 
    1298             : 
    1299             : char * ASN1CALL
    1300           0 : print_DigestReqInner(const DigestReqInner *data, int flags)
    1301             : {
    1302           0 :     return _asn1_print_top(asn1_DigestReqInner, flags, data);
    1303             : }
    1304             : 
    1305             : /* template_members: DigestREQ exp exp */
    1306             : /* template_members: DigestREQ exp exp */
    1307             : /* tsequence: members isstruct: 1 */
    1308             : /* template_members: DigestREQ exp exp */
    1309             : /* template_members: heim_octet_string exp exp */
    1310             : /* generate_template_type: heim_octet_string_tag_apReq_130 */
    1311             : /* generate_template_type: DigestREQ_tag_apReq_129 */
    1312             : /* template_members: DigestREQ exp exp */
    1313             : /* generate_template_type: DigestREQ_tag_innerReq_131 */
    1314             : const struct asn1_template asn1_DigestREQ_tag_innerReq_131[] = {
    1315             : /* 0 */ { 0, sizeof(EncryptedData), ((void *)(uintptr_t)1) },
    1316             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_EncryptedData}
    1317             : };
    1318             : /* generate_template_type: DigestREQ_tag__128 */
    1319             : const struct asn1_template asn1_DigestREQ_tag__128[] = {
    1320             : /* 0 */ { 0, sizeof(struct DigestREQ), ((void *)(uintptr_t)5) },
    1321             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct DigestREQ, apReq), asn1_DigestResponse_tickets_0 },
    1322             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct DigestREQ, innerReq), asn1_DigestREQ_tag_innerReq_131 },
    1323             : /* 3 */ { A1_OP_NAME, 0, "DigestREQ" },
    1324             : /* 4 */ { A1_OP_NAME, 0, "apReq" },
    1325             : /* 5 */ { A1_OP_NAME, 0, "innerReq" }
    1326             : };
    1327             : /* generate_template_type: DigestREQ_tag__127 */
    1328             : const struct asn1_template asn1_DigestREQ_tag__127[] = {
    1329             : /* 0 */ { 0, sizeof(struct DigestREQ), ((void *)(uintptr_t)1) },
    1330             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestREQ_tag__128 }
    1331             : };
    1332             : /* generate_template_type: DigestREQ */
    1333             : const struct asn1_template asn1_DigestREQ[] = {
    1334             : /* 0 */ { 0, sizeof(DigestREQ), ((void *)(uintptr_t)1) },
    1335             : /* 1 */ { A1_TAG_T(ASN1_C_APPL,CONS,128), 0, asn1_DigestREQ_tag__127 }
    1336             : };
    1337             : 
    1338             : int ASN1CALL
    1339           0 : decode_DigestREQ(const unsigned char *p, size_t len, DigestREQ *data, size_t *size)
    1340             : {
    1341           0 :     memset(data, 0, sizeof(*data));
    1342           0 :     return _asn1_decode_top(asn1_DigestREQ, 0|0, p, len, data, size);
    1343             : }
    1344             : 
    1345             : 
    1346             : int ASN1CALL
    1347           0 : encode_DigestREQ(unsigned char *p, size_t len, const DigestREQ *data, size_t *size)
    1348             : {
    1349           0 :     return _asn1_encode(asn1_DigestREQ, p, len, data, size);
    1350             : }
    1351             : 
    1352             : 
    1353             : size_t ASN1CALL
    1354           0 : length_DigestREQ(const DigestREQ *data)
    1355             : {
    1356           0 :     return _asn1_length(asn1_DigestREQ, data);
    1357             : }
    1358             : 
    1359             : 
    1360             : void ASN1CALL
    1361           0 : free_DigestREQ(DigestREQ *data)
    1362             : {
    1363           0 :     _asn1_free_top(asn1_DigestREQ, data);
    1364           0 : }
    1365             : 
    1366             : 
    1367             : int ASN1CALL
    1368           0 : copy_DigestREQ(const DigestREQ *from, DigestREQ *to)
    1369             : {
    1370           0 :     return _asn1_copy_top(asn1_DigestREQ, from, to);
    1371             : }
    1372             : 
    1373             : 
    1374             : char * ASN1CALL
    1375           0 : print_DigestREQ(const DigestREQ *data, int flags)
    1376             : {
    1377           0 :     return _asn1_print_top(asn1_DigestREQ, flags, data);
    1378             : }
    1379             : 
    1380             : /* template_members: DigestError exp exp */
    1381             : /* generate_template_type: DigestError_tag__132 */
    1382             : const struct asn1_template asn1_DigestError_tag__132[] = {
    1383             : /* 0 */ { 0, sizeof(DigestError), ((void *)(uintptr_t)1) },
    1384             : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestError }
    1385             : };
    1386             : /* generate_template_type: DigestRepInner_choice_error */
    1387             : const struct asn1_template asn1_DigestRepInner_choice_error[] = {
    1388             : /* 0 */ { 0, sizeof(DigestError), ((void *)(uintptr_t)1) },
    1389             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), 0, asn1_DigestError_tag__132 }
    1390             : };
    1391             : /* template_members: DigestInitReply exp exp */
    1392             : /* generate_template_type: DigestInitReply_tag__133 */
    1393             : const struct asn1_template asn1_DigestInitReply_tag__133[] = {
    1394             : /* 0 */ { 0, sizeof(DigestInitReply), ((void *)(uintptr_t)1) },
    1395             : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestInitReply }
    1396             : };
    1397             : /* generate_template_type: DigestRepInner_choice_initReply */
    1398             : const struct asn1_template asn1_DigestRepInner_choice_initReply[] = {
    1399             : /* 0 */ { 0, sizeof(DigestInitReply), ((void *)(uintptr_t)1) },
    1400             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_DigestInitReply_tag__133 }
    1401             : };
    1402             : /* template_members: DigestResponse exp exp */
    1403             : /* generate_template_type: DigestResponse_tag__134 */
    1404             : const struct asn1_template asn1_DigestResponse_tag__134[] = {
    1405             : /* 0 */ { 0, sizeof(DigestResponse), ((void *)(uintptr_t)1) },
    1406             : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestResponse }
    1407             : };
    1408             : /* generate_template_type: DigestRepInner_choice_response */
    1409             : const struct asn1_template asn1_DigestRepInner_choice_response[] = {
    1410             : /* 0 */ { 0, sizeof(DigestResponse), ((void *)(uintptr_t)1) },
    1411             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_DigestResponse_tag__134 }
    1412             : };
    1413             : /* template_members: NTLMInitReply exp exp */
    1414             : /* generate_template_type: NTLMInitReply_tag__135 */
    1415             : const struct asn1_template asn1_NTLMInitReply_tag__135[] = {
    1416             : /* 0 */ { 0, sizeof(NTLMInitReply), ((void *)(uintptr_t)1) },
    1417             : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMInitReply }
    1418             : };
    1419             : /* generate_template_type: DigestRepInner_choice_ntlmInitReply */
    1420             : const struct asn1_template asn1_DigestRepInner_choice_ntlmInitReply[] = {
    1421             : /* 0 */ { 0, sizeof(NTLMInitReply), ((void *)(uintptr_t)1) },
    1422             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), 0, asn1_NTLMInitReply_tag__135 }
    1423             : };
    1424             : /* template_members: NTLMResponse exp exp */
    1425             : /* generate_template_type: NTLMResponse_tag__136 */
    1426             : const struct asn1_template asn1_NTLMResponse_tag__136[] = {
    1427             : /* 0 */ { 0, sizeof(NTLMResponse), ((void *)(uintptr_t)1) },
    1428             : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMResponse }
    1429             : };
    1430             : /* generate_template_type: DigestRepInner_choice_ntlmResponse */
    1431             : const struct asn1_template asn1_DigestRepInner_choice_ntlmResponse[] = {
    1432             : /* 0 */ { 0, sizeof(NTLMResponse), ((void *)(uintptr_t)1) },
    1433             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), 0, asn1_NTLMResponse_tag__136 }
    1434             : };
    1435             : /* template_members: DigestTypes exp exp */
    1436             : /* generate_template_type: DigestTypes_tag__137 */
    1437             : const struct asn1_template asn1_DigestTypes_tag__137[] = {
    1438             : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
    1439             : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestTypes }
    1440             : };
    1441             : /* generate_template_type: DigestRepInner_choice_supportedMechs */
    1442             : const struct asn1_template asn1_DigestRepInner_choice_supportedMechs[] = {
    1443             : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
    1444             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5), 0, asn1_DigestTypes_tag__137 }
    1445             : };
    1446             : static const struct asn1_template asn1_choice_DigestRepInner_1[] = {
    1447             : /* 0 */ { offsetof(DigestRepInner, u.asn1_ellipsis), offsetof(DigestRepInner, element), ((void *)(uintptr_t)13) },
    1448             : /* 1 */ { choice_DigestRepInner_error, offsetof(DigestRepInner, u.error), asn1_DigestRepInner_choice_error },
    1449             : /* 2 */ { choice_DigestRepInner_initReply, offsetof(DigestRepInner, u.initReply), asn1_DigestRepInner_choice_initReply },
    1450             : /* 3 */ { choice_DigestRepInner_response, offsetof(DigestRepInner, u.response), asn1_DigestRepInner_choice_response },
    1451             : /* 4 */ { choice_DigestRepInner_ntlmInitReply, offsetof(DigestRepInner, u.ntlmInitReply), asn1_DigestRepInner_choice_ntlmInitReply },
    1452             : /* 5 */ { choice_DigestRepInner_ntlmResponse, offsetof(DigestRepInner, u.ntlmResponse), asn1_DigestRepInner_choice_ntlmResponse },
    1453             : /* 6 */ { choice_DigestRepInner_supportedMechs, offsetof(DigestRepInner, u.supportedMechs), asn1_DigestRepInner_choice_supportedMechs },
    1454             : /* 7 */ { 0, 0, "error" },
    1455             : /* 8 */ { 0, 0, "initReply" },
    1456             : /* 9 */ { 0, 0, "response" },
    1457             : /* 10 */ { 0, 0, "ntlmInitReply" },
    1458             : /* 11 */ { 0, 0, "ntlmResponse" },
    1459             : /* 12 */ { 0, 0, "supportedMechs" },
    1460             : /* 13 */ { 0, 0, "..." }
    1461             : };
    1462             : /* generate_template_type: DigestRepInner */
    1463             : const struct asn1_template asn1_DigestRepInner[] = {
    1464             : /* 0 */ { 0, sizeof(DigestRepInner), ((void *)(uintptr_t)1) },
    1465             : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DigestRepInner_1 }
    1466             : };
    1467             : 
    1468             : int ASN1CALL
    1469           0 : decode_DigestRepInner(const unsigned char *p, size_t len, DigestRepInner *data, size_t *size)
    1470             : {
    1471           0 :     memset(data, 0, sizeof(*data));
    1472           0 :     return _asn1_decode_top(asn1_DigestRepInner, 0|0, p, len, data, size);
    1473             : }
    1474             : 
    1475             : 
    1476             : int ASN1CALL
    1477           0 : encode_DigestRepInner(unsigned char *p, size_t len, const DigestRepInner *data, size_t *size)
    1478             : {
    1479           0 :     return _asn1_encode(asn1_DigestRepInner, p, len, data, size);
    1480             : }
    1481             : 
    1482             : 
    1483             : size_t ASN1CALL
    1484           0 : length_DigestRepInner(const DigestRepInner *data)
    1485             : {
    1486           0 :     return _asn1_length(asn1_DigestRepInner, data);
    1487             : }
    1488             : 
    1489             : 
    1490             : void ASN1CALL
    1491           0 : free_DigestRepInner(DigestRepInner *data)
    1492             : {
    1493           0 :     _asn1_free_top(asn1_DigestRepInner, data);
    1494           0 : }
    1495             : 
    1496             : 
    1497             : int ASN1CALL
    1498           0 : copy_DigestRepInner(const DigestRepInner *from, DigestRepInner *to)
    1499             : {
    1500           0 :     return _asn1_copy_top(asn1_DigestRepInner, from, to);
    1501             : }
    1502             : 
    1503             : 
    1504             : char * ASN1CALL
    1505           0 : print_DigestRepInner(const DigestRepInner *data, int flags)
    1506             : {
    1507           0 :     return _asn1_print_top(asn1_DigestRepInner, flags, data);
    1508             : }
    1509             : 
    1510             : /* template_members: DigestREP exp exp */
    1511             : /* template_members: DigestREP exp exp */
    1512             : /* tsequence: members isstruct: 1 */
    1513             : /* template_members: DigestREP exp exp */
    1514             : /* template_members: heim_octet_string exp exp */
    1515             : /* generate_template_type: heim_octet_string_tag_apRep_141 */
    1516             : /* generate_template_type: DigestREP_tag_apRep_140 */
    1517             : /* template_members: DigestREP exp exp */
    1518             : /* generate_template_type: DigestREP_tag_innerRep_142 */
    1519             : /* generate_template_type: DigestREP_tag__139 */
    1520             : const struct asn1_template asn1_DigestREP_tag__139[] = {
    1521             : /* 0 */ { 0, sizeof(struct DigestREP), ((void *)(uintptr_t)5) },
    1522             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct DigestREP, apRep), asn1_DigestResponse_tickets_0 },
    1523             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct DigestREP, innerRep), asn1_DigestREQ_tag_innerReq_131 },
    1524             : /* 3 */ { A1_OP_NAME, 0, "DigestREP" },
    1525             : /* 4 */ { A1_OP_NAME, 0, "apRep" },
    1526             : /* 5 */ { A1_OP_NAME, 0, "innerRep" }
    1527             : };
    1528             : /* generate_template_type: DigestREP_tag__138 */
    1529             : const struct asn1_template asn1_DigestREP_tag__138[] = {
    1530             : /* 0 */ { 0, sizeof(struct DigestREP), ((void *)(uintptr_t)1) },
    1531             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestREP_tag__139 }
    1532             : };
    1533             : /* generate_template_type: DigestREP */
    1534             : const struct asn1_template asn1_DigestREP[] = {
    1535             : /* 0 */ { 0, sizeof(DigestREP), ((void *)(uintptr_t)1) },
    1536             : /* 1 */ { A1_TAG_T(ASN1_C_APPL,CONS,129), 0, asn1_DigestREP_tag__138 }
    1537             : };
    1538             : 
    1539             : int ASN1CALL
    1540           0 : decode_DigestREP(const unsigned char *p, size_t len, DigestREP *data, size_t *size)
    1541             : {
    1542           0 :     memset(data, 0, sizeof(*data));
    1543           0 :     return _asn1_decode_top(asn1_DigestREP, 0|0, p, len, data, size);
    1544             : }
    1545             : 
    1546             : 
    1547             : int ASN1CALL
    1548           0 : encode_DigestREP(unsigned char *p, size_t len, const DigestREP *data, size_t *size)
    1549             : {
    1550           0 :     return _asn1_encode(asn1_DigestREP, p, len, data, size);
    1551             : }
    1552             : 
    1553             : 
    1554             : size_t ASN1CALL
    1555           0 : length_DigestREP(const DigestREP *data)
    1556             : {
    1557           0 :     return _asn1_length(asn1_DigestREP, data);
    1558             : }
    1559             : 
    1560             : 
    1561             : void ASN1CALL
    1562           0 : free_DigestREP(DigestREP *data)
    1563             : {
    1564           0 :     _asn1_free_top(asn1_DigestREP, data);
    1565           0 : }
    1566             : 
    1567             : 
    1568             : int ASN1CALL
    1569           0 : copy_DigestREP(const DigestREP *from, DigestREP *to)
    1570             : {
    1571           0 :     return _asn1_copy_top(asn1_DigestREP, from, to);
    1572             : }
    1573             : 
    1574             : 
    1575             : char * ASN1CALL
    1576           0 : print_DigestREP(const DigestREP *data, int flags)
    1577             : {
    1578           0 :     return _asn1_print_top(asn1_DigestREP, flags, data);
    1579             : }
    1580             : 

Generated by: LCOV version 1.14