LCOV - code coverage report
Current view: top level - bin/default/third_party/heimdal/lib/hx509 - asn1_ocsp_asn1.c (source / functions) Hit Total Coverage
Test: coverage report for master 98b443d9 Lines: 0 210 0.0 %
Date: 2024-05-31 13:13:24 Functions: 0 90 0.0 %

          Line data    Source code
       1             : /* Generated from /builds/adeloyedeji/samba/third_party/heimdal/lib/asn1/ocsp.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 "ocsp_asn1.h"
      15             : #include "ocsp_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_Certificate = {
      23             :         (asn1_type_encode)encode_Certificate,
      24             :         (asn1_type_decode)decode_Certificate,
      25             :         (asn1_type_length)length_Certificate,
      26             :         (asn1_type_copy)copy_Certificate,
      27             :         (asn1_type_release)free_Certificate,
      28             :         (asn1_type_print)print_Certificate,
      29             :         sizeof(Certificate)
      30             : };
      31             : static const struct asn1_type_func asn1_extern_AlgorithmIdentifier = {
      32             :         (asn1_type_encode)encode_AlgorithmIdentifier,
      33             :         (asn1_type_decode)decode_AlgorithmIdentifier,
      34             :         (asn1_type_length)length_AlgorithmIdentifier,
      35             :         (asn1_type_copy)copy_AlgorithmIdentifier,
      36             :         (asn1_type_release)free_AlgorithmIdentifier,
      37             :         (asn1_type_print)print_AlgorithmIdentifier,
      38             :         sizeof(AlgorithmIdentifier)
      39             : };
      40             : static const struct asn1_type_func asn1_extern_CRLReason = {
      41             :         (asn1_type_encode)encode_CRLReason,
      42             :         (asn1_type_decode)decode_CRLReason,
      43             :         (asn1_type_length)length_CRLReason,
      44             :         (asn1_type_copy)copy_CRLReason,
      45             :         (asn1_type_release)free_CRLReason,
      46             :         (asn1_type_print)print_CRLReason,
      47             :         sizeof(CRLReason)
      48             : };
      49             : static const struct asn1_type_func asn1_extern_Name = {
      50             :         (asn1_type_encode)encode_Name,
      51             :         (asn1_type_decode)decode_Name,
      52             :         (asn1_type_length)length_Name,
      53             :         (asn1_type_copy)copy_Name,
      54             :         (asn1_type_release)free_Name,
      55             :         (asn1_type_print)print_Name,
      56             :         sizeof(Name)
      57             : };
      58             : static const struct asn1_type_func asn1_extern_GeneralName = {
      59             :         (asn1_type_encode)encode_GeneralName,
      60             :         (asn1_type_decode)decode_GeneralName,
      61             :         (asn1_type_length)length_GeneralName,
      62             :         (asn1_type_copy)copy_GeneralName,
      63             :         (asn1_type_release)free_GeneralName,
      64             :         (asn1_type_print)print_GeneralName,
      65             :         sizeof(GeneralName)
      66             : };
      67             : static const struct asn1_type_func asn1_extern_CertificateSerialNumber = {
      68             :         (asn1_type_encode)encode_CertificateSerialNumber,
      69             :         (asn1_type_decode)decode_CertificateSerialNumber,
      70             :         (asn1_type_length)length_CertificateSerialNumber,
      71             :         (asn1_type_copy)copy_CertificateSerialNumber,
      72             :         (asn1_type_release)free_CertificateSerialNumber,
      73             :         (asn1_type_print)print_CertificateSerialNumber,
      74             :         sizeof(CertificateSerialNumber)
      75             : };
      76             : static const struct asn1_type_func asn1_extern_Extensions = {
      77             :         (asn1_type_encode)encode_Extensions,
      78             :         (asn1_type_decode)decode_Extensions,
      79             :         (asn1_type_length)length_Extensions,
      80             :         (asn1_type_copy)copy_Extensions,
      81             :         (asn1_type_release)free_Extensions,
      82             :         (asn1_type_print)print_Extensions,
      83             :         sizeof(Extensions)
      84             : };
      85             : extern const struct asn1_template asn1_OCSPVersion[];
      86             : extern const struct asn1_template asn1_OCSPVersion[];
      87             : extern const struct asn1_template asn1_OCSPCertStatus[];
      88             : extern const struct asn1_template asn1_OCSPCertID[];
      89             : extern const struct asn1_template asn1_OCSPSingleResponse[];
      90             : extern const struct asn1_template asn1_OCSPInnerRequest[];
      91             : extern const struct asn1_template asn1_OCSPTBSRequest[];
      92             : extern const struct asn1_template asn1_OCSPSignature[];
      93             : extern const struct asn1_template asn1_OCSPRequest[];
      94             : extern const struct asn1_template asn1_OCSPResponseBytes[];
      95             : extern const struct asn1_template asn1_OCSPResponseStatus[];
      96             : extern const struct asn1_template asn1_OCSPResponseStatus[];
      97             : extern const struct asn1_template asn1_OCSPResponse[];
      98             : extern const struct asn1_template asn1_OCSPKeyHash[];
      99             : extern const struct asn1_template asn1_OCSPKeyHash[];
     100             : extern const struct asn1_template asn1_OCSPResponderID[];
     101             : extern const struct asn1_template asn1_OCSPResponseData[];
     102             : extern const struct asn1_template asn1_OCSPBasicOCSPResponse[];
     103             : static unsigned oid_id_pkix_ocsp_variable_num[9] =  { 1, 3, 6, 1, 5, 5, 7, 48, 1};
     104             : const heim_oid asn1_oid_id_pkix_ocsp = { 9, oid_id_pkix_ocsp_variable_num };
     105             : 
     106             : static unsigned oid_id_pkix_ocsp_basic_variable_num[10] =  { 1, 3, 6, 1, 5, 5, 7, 48, 1, 1};
     107             : const heim_oid asn1_oid_id_pkix_ocsp_basic = { 10, oid_id_pkix_ocsp_basic_variable_num };
     108             : 
     109             : static unsigned oid_id_pkix_ocsp_nonce_variable_num[10] =  { 1, 3, 6, 1, 5, 5, 7, 48, 1, 2};
     110             : const heim_oid asn1_oid_id_pkix_ocsp_nonce = { 10, oid_id_pkix_ocsp_nonce_variable_num };
     111             : 
     112             : /* template_members: OCSPVersion exp exp */
     113             : const struct asn1_template asn1_OCSPVersion_enum_names[] = {
     114             : /* 0 */ { 0, 0, ((void *)(uintptr_t)1) },
     115             : /* 1 */ { A1_OP_NAME, 0, "ocsp-v1" }
     116             : };
     117             : /* generate_template_type: OCSPVersion_tag__0 */
     118             : const struct asn1_template asn1_OCSPVersion_tag__0[] = {
     119             : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
     120             : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_OCSPVersion_enum_names }
     121             : };
     122             : /* generate_template_type: OCSPVersion */
     123             : const struct asn1_template asn1_OCSPVersion[] = {
     124             : /* 0 */ { 0, sizeof(OCSPVersion), ((void *)(uintptr_t)1) },
     125             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_OCSPVersion_tag__0 }
     126             : };
     127             : 
     128             : int ASN1CALL
     129           0 : decode_OCSPVersion(const unsigned char *p, size_t len, OCSPVersion *data, size_t *size)
     130             : {
     131           0 :     memset(data, 0, sizeof(*data));
     132           0 :     return _asn1_decode_top(asn1_OCSPVersion, 0|0, p, len, data, size);
     133             : }
     134             : 
     135             : 
     136             : int ASN1CALL
     137           0 : encode_OCSPVersion(unsigned char *p, size_t len, const OCSPVersion *data, size_t *size)
     138             : {
     139           0 :     return _asn1_encode(asn1_OCSPVersion, p, len, data, size);
     140             : }
     141             : 
     142             : 
     143             : size_t ASN1CALL
     144           0 : length_OCSPVersion(const OCSPVersion *data)
     145             : {
     146           0 :     return _asn1_length(asn1_OCSPVersion, data);
     147             : }
     148             : 
     149             : 
     150             : void ASN1CALL
     151           0 : free_OCSPVersion(OCSPVersion *data)
     152             : {
     153           0 :     _asn1_free_top(asn1_OCSPVersion, data);
     154           0 : }
     155             : 
     156             : 
     157             : int ASN1CALL
     158           0 : copy_OCSPVersion(const OCSPVersion *from, OCSPVersion *to)
     159             : {
     160           0 :     return _asn1_copy_top(asn1_OCSPVersion, from, to);
     161             : }
     162             : 
     163             : 
     164             : char * ASN1CALL
     165           0 : print_OCSPVersion(const OCSPVersion *data, int flags)
     166             : {
     167           0 :     return _asn1_print_top(asn1_OCSPVersion, flags, data);
     168             : }
     169             : 
     170             : /* template_members: heim_integer imp imp */
     171             : /* template_members: heim_integer exp exp */
     172             : /* generate_template_type: heim_integer_tag__2 */
     173             : const struct asn1_template asn1_heim_integer_tag__2[] = {
     174             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)0) },
     175             : };
     176             : /* generate_template_type: heim_integer_tag__1 */
     177             : const struct asn1_template asn1_heim_integer_tag__1[] = {
     178             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
     179             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Null), 0, asn1_heim_integer_tag__2 }
     180             : };
     181             : /* generate_template_type: OCSPCertStatus_choice_good */
     182             : const struct asn1_template asn1_OCSPCertStatus_choice_good[] = {
     183             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
     184             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, 0, asn1_heim_integer_tag__1 }
     185             : };
     186             : /* template_members: OCSPCertStatus_revoked imp imp */
     187             : /* template_members: OCSPCertStatus_revoked exp exp */
     188             : /* tsequence: members isstruct: 1 */
     189             : /* template_members: OCSPCertStatus_revoked exp exp */
     190             : /* generate_template_type: OCSPCertStatus_revoked_tag_revocationTime_5 */
     191             : const struct asn1_template asn1_OCSPCertStatus_revoked_tag_revocationTime_5[] = {
     192             : /* 0 */ { 0, sizeof(time_t), ((void *)(uintptr_t)1) },
     193             : /* 1 */ { A1_PARSE_T(A1T_GENERALIZED_TIME), 0, NULL }
     194             : };
     195             : /* template_members: OCSPCertStatus_revoked exp exp */
     196             : /* generate_template_type: OCSPCertStatus_revoked_tag_revocationReason_6 */
     197             : const struct asn1_template asn1_OCSPCertStatus_revoked_tag_revocationReason_6[] = {
     198             : /* 0 */ { 0, sizeof(CRLReason), ((void *)(uintptr_t)1) },
     199             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_CRLReason}
     200             : };
     201             : /* generate_template_type: OCSPCertStatus_revoked_tag__4 */
     202             : const struct asn1_template asn1_OCSPCertStatus_revoked_tag__4[] = {
     203             : /* 0 */ { 0, sizeof(struct OCSPCertStatus_revoked), ((void *)(uintptr_t)5) },
     204             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_GeneralizedTime), offsetof(struct OCSPCertStatus_revoked, revocationTime), asn1_OCSPCertStatus_revoked_tag_revocationTime_5 },
     205             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPCertStatus_revoked, revocationReason), asn1_OCSPCertStatus_revoked_tag_revocationReason_6 },
     206             : /* 3 */ { A1_OP_NAME, 0, "OCSPCertStatus_revoked" },
     207             : /* 4 */ { A1_OP_NAME, 0, "revocationTime" },
     208             : /* 5 */ { A1_OP_NAME, 0, "revocationReason" }
     209             : };
     210             : /* generate_template_type: OCSPCertStatus_revoked_tag__3 */
     211             : const struct asn1_template asn1_OCSPCertStatus_revoked_tag__3[] = {
     212             : /* 0 */ { 0, sizeof(struct OCSPCertStatus_revoked), ((void *)(uintptr_t)1) },
     213             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPCertStatus_revoked_tag__4 }
     214             : };
     215             : /* generate_template_type: OCSPCertStatus_choice_revoked */
     216             : const struct asn1_template asn1_OCSPCertStatus_choice_revoked[] = {
     217             : /* 0 */ { 0, sizeof(struct OCSPCertStatus_revoked), ((void *)(uintptr_t)1) },
     218             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_IMPLICIT, 0, asn1_OCSPCertStatus_revoked_tag__3 }
     219             : };
     220             : /* template_members: heim_integer imp imp */
     221             : /* template_members: heim_integer exp exp */
     222             : /* generate_template_type: heim_integer_tag__8 */
     223             : /* generate_template_type: heim_integer_tag__7 */
     224             : /* generate_template_type: OCSPCertStatus_choice_unknown */
     225             : const struct asn1_template asn1_OCSPCertStatus_choice_unknown[] = {
     226             : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
     227             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,2)|A1_FLAG_IMPLICIT, 0, asn1_heim_integer_tag__1 }
     228             : };
     229             : static const struct asn1_template asn1_choice_OCSPCertStatus_0[] = {
     230             : /* 0 */ { 0, offsetof(OCSPCertStatus, element), ((void *)(uintptr_t)6) },
     231             : /* 1 */ { choice_OCSPCertStatus_good, offsetof(OCSPCertStatus, u.good), asn1_OCSPCertStatus_choice_good },
     232             : /* 2 */ { choice_OCSPCertStatus_revoked, offsetof(OCSPCertStatus, u.revoked), asn1_OCSPCertStatus_choice_revoked },
     233             : /* 3 */ { choice_OCSPCertStatus_unknown, offsetof(OCSPCertStatus, u.unknown), asn1_OCSPCertStatus_choice_unknown },
     234             : /* 4 */ { 0, 0, "good" },
     235             : /* 5 */ { 0, 0, "revoked" },
     236             : /* 6 */ { 0, 0, "unknown" }
     237             : };
     238             : /* generate_template_type: OCSPCertStatus */
     239             : const struct asn1_template asn1_OCSPCertStatus[] = {
     240             : /* 0 */ { 0, sizeof(OCSPCertStatus), ((void *)(uintptr_t)1) },
     241             : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_OCSPCertStatus_0 }
     242             : };
     243             : 
     244             : int ASN1CALL
     245           0 : decode_OCSPCertStatus(const unsigned char *p, size_t len, OCSPCertStatus *data, size_t *size)
     246             : {
     247           0 :     memset(data, 0, sizeof(*data));
     248           0 :     return _asn1_decode_top(asn1_OCSPCertStatus, 0|0, p, len, data, size);
     249             : }
     250             : 
     251             : 
     252             : int ASN1CALL
     253           0 : encode_OCSPCertStatus(unsigned char *p, size_t len, const OCSPCertStatus *data, size_t *size)
     254             : {
     255           0 :     return _asn1_encode(asn1_OCSPCertStatus, p, len, data, size);
     256             : }
     257             : 
     258             : 
     259             : size_t ASN1CALL
     260           0 : length_OCSPCertStatus(const OCSPCertStatus *data)
     261             : {
     262           0 :     return _asn1_length(asn1_OCSPCertStatus, data);
     263             : }
     264             : 
     265             : 
     266             : void ASN1CALL
     267           0 : free_OCSPCertStatus(OCSPCertStatus *data)
     268             : {
     269           0 :     _asn1_free_top(asn1_OCSPCertStatus, data);
     270           0 : }
     271             : 
     272             : 
     273             : int ASN1CALL
     274           0 : copy_OCSPCertStatus(const OCSPCertStatus *from, OCSPCertStatus *to)
     275             : {
     276           0 :     return _asn1_copy_top(asn1_OCSPCertStatus, from, to);
     277             : }
     278             : 
     279             : 
     280             : char * ASN1CALL
     281           0 : print_OCSPCertStatus(const OCSPCertStatus *data, int flags)
     282             : {
     283           0 :     return _asn1_print_top(asn1_OCSPCertStatus, flags, data);
     284             : }
     285             : 
     286             : /* template_members: OCSPCertID exp exp */
     287             : /* tsequence: members isstruct: 1 */
     288             : /* template_members: OCSPCertID exp exp */
     289             : /* generate_template_type: OCSPCertID_tag_issuerNameHash_10 */
     290             : const struct asn1_template asn1_OCSPCertID_tag_issuerNameHash_10[] = {
     291             : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
     292             : /* 1 */ { A1_PARSE_T(A1T_OCTET_STRING), 0, NULL }
     293             : };
     294             : /* template_members: OCSPCertID exp exp */
     295             : /* generate_template_type: OCSPCertID_tag_issuerKeyHash_11 */
     296             : /* generate_template_type: OCSPCertID_tag__9 */
     297             : const struct asn1_template asn1_OCSPCertID_tag__9[] = {
     298             : /* 0 */ { 0, sizeof(struct OCSPCertID), ((void *)(uintptr_t)9) },
     299             : /* 1 */ { A1_OP_TYPE_EXTERN , offsetof(struct OCSPCertID, hashAlgorithm), &asn1_extern_AlgorithmIdentifier},
     300             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), offsetof(struct OCSPCertID, issuerNameHash), asn1_OCSPCertID_tag_issuerNameHash_10 },
     301             : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), offsetof(struct OCSPCertID, issuerKeyHash), asn1_OCSPCertID_tag_issuerNameHash_10 },
     302             : /* 4 */ { A1_OP_TYPE_EXTERN , offsetof(struct OCSPCertID, serialNumber), &asn1_extern_CertificateSerialNumber},
     303             : /* 5 */ { A1_OP_NAME, 0, "OCSPCertID" },
     304             : /* 6 */ { A1_OP_NAME, 0, "hashAlgorithm" },
     305             : /* 7 */ { A1_OP_NAME, 0, "issuerNameHash" },
     306             : /* 8 */ { A1_OP_NAME, 0, "issuerKeyHash" },
     307             : /* 9 */ { A1_OP_NAME, 0, "serialNumber" }
     308             : };
     309             : /* generate_template_type: OCSPCertID */
     310             : const struct asn1_template asn1_OCSPCertID[] = {
     311             : /* 0 */ { 0, sizeof(OCSPCertID), ((void *)(uintptr_t)1) },
     312             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPCertID_tag__9 }
     313             : };
     314             : 
     315             : int ASN1CALL
     316           0 : decode_OCSPCertID(const unsigned char *p, size_t len, OCSPCertID *data, size_t *size)
     317             : {
     318           0 :     memset(data, 0, sizeof(*data));
     319           0 :     return _asn1_decode_top(asn1_OCSPCertID, 0|0, p, len, data, size);
     320             : }
     321             : 
     322             : 
     323             : int ASN1CALL
     324           0 : encode_OCSPCertID(unsigned char *p, size_t len, const OCSPCertID *data, size_t *size)
     325             : {
     326           0 :     return _asn1_encode(asn1_OCSPCertID, p, len, data, size);
     327             : }
     328             : 
     329             : 
     330             : size_t ASN1CALL
     331           0 : length_OCSPCertID(const OCSPCertID *data)
     332             : {
     333           0 :     return _asn1_length(asn1_OCSPCertID, data);
     334             : }
     335             : 
     336             : 
     337             : void ASN1CALL
     338           0 : free_OCSPCertID(OCSPCertID *data)
     339             : {
     340           0 :     _asn1_free_top(asn1_OCSPCertID, data);
     341           0 : }
     342             : 
     343             : 
     344             : int ASN1CALL
     345           0 : copy_OCSPCertID(const OCSPCertID *from, OCSPCertID *to)
     346             : {
     347           0 :     return _asn1_copy_top(asn1_OCSPCertID, from, to);
     348             : }
     349             : 
     350             : 
     351             : char * ASN1CALL
     352           0 : print_OCSPCertID(const OCSPCertID *data, int flags)
     353             : {
     354           0 :     return _asn1_print_top(asn1_OCSPCertID, flags, data);
     355             : }
     356             : 
     357             : /* template_members: OCSPSingleResponse exp exp */
     358             : /* tsequence: members isstruct: 1 */
     359             : /* template_members: OCSPSingleResponse exp exp */
     360             : /* generate_template_type: OCSPSingleResponse_tag_thisUpdate_13 */
     361             : /* template_members: OCSPSingleResponse exp exp */
     362             : /* template_members: time_t exp exp */
     363             : /* generate_template_type: time_t_tag_nextUpdate_15 */
     364             : /* generate_template_type: OCSPSingleResponse_tag_nextUpdate_14 */
     365             : const struct asn1_template asn1_OCSPSingleResponse_tag_nextUpdate_14[] = {
     366             : /* 0 */ { 0, sizeof(time_t), ((void *)(uintptr_t)1) },
     367             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_GeneralizedTime), 0, asn1_OCSPCertStatus_revoked_tag_revocationTime_5 }
     368             : };
     369             : /* template_members: OCSPSingleResponse exp exp */
     370             : /* generate_template_type: OCSPSingleResponse_tag_singleExtensions_16 */
     371             : const struct asn1_template asn1_OCSPSingleResponse_tag_singleExtensions_16[] = {
     372             : /* 0 */ { 0, sizeof(Extensions), ((void *)(uintptr_t)1) },
     373             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Extensions}
     374             : };
     375             : /* generate_template_type: OCSPSingleResponse_tag__12 */
     376             : const struct asn1_template asn1_OCSPSingleResponse_tag__12[] = {
     377             : /* 0 */ { 0, sizeof(struct OCSPSingleResponse), ((void *)(uintptr_t)11) },
     378             : /* 1 */ { A1_OP_TYPE , offsetof(struct OCSPSingleResponse, certID), asn1_OCSPCertID },
     379             : /* 2 */ { A1_OP_TYPE , offsetof(struct OCSPSingleResponse, certStatus), asn1_OCSPCertStatus },
     380             : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_GeneralizedTime), offsetof(struct OCSPSingleResponse, thisUpdate), asn1_OCSPCertStatus_revoked_tag_revocationTime_5 },
     381             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPSingleResponse, nextUpdate), asn1_OCSPSingleResponse_tag_nextUpdate_14 },
     382             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct OCSPSingleResponse, singleExtensions), asn1_OCSPSingleResponse_tag_singleExtensions_16 },
     383             : /* 6 */ { A1_OP_NAME, 0, "OCSPSingleResponse" },
     384             : /* 7 */ { A1_OP_NAME, 0, "certID" },
     385             : /* 8 */ { A1_OP_NAME, 0, "certStatus" },
     386             : /* 9 */ { A1_OP_NAME, 0, "thisUpdate" },
     387             : /* 10 */ { A1_OP_NAME, 0, "nextUpdate" },
     388             : /* 11 */ { A1_OP_NAME, 0, "singleExtensions" }
     389             : };
     390             : /* generate_template_type: OCSPSingleResponse */
     391             : const struct asn1_template asn1_OCSPSingleResponse[] = {
     392             : /* 0 */ { 0, sizeof(OCSPSingleResponse), ((void *)(uintptr_t)1) },
     393             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPSingleResponse_tag__12 }
     394             : };
     395             : 
     396             : int ASN1CALL
     397           0 : decode_OCSPSingleResponse(const unsigned char *p, size_t len, OCSPSingleResponse *data, size_t *size)
     398             : {
     399           0 :     memset(data, 0, sizeof(*data));
     400           0 :     return _asn1_decode_top(asn1_OCSPSingleResponse, 0|0, p, len, data, size);
     401             : }
     402             : 
     403             : 
     404             : int ASN1CALL
     405           0 : encode_OCSPSingleResponse(unsigned char *p, size_t len, const OCSPSingleResponse *data, size_t *size)
     406             : {
     407           0 :     return _asn1_encode(asn1_OCSPSingleResponse, p, len, data, size);
     408             : }
     409             : 
     410             : 
     411             : size_t ASN1CALL
     412           0 : length_OCSPSingleResponse(const OCSPSingleResponse *data)
     413             : {
     414           0 :     return _asn1_length(asn1_OCSPSingleResponse, data);
     415             : }
     416             : 
     417             : 
     418             : void ASN1CALL
     419           0 : free_OCSPSingleResponse(OCSPSingleResponse *data)
     420             : {
     421           0 :     _asn1_free_top(asn1_OCSPSingleResponse, data);
     422           0 : }
     423             : 
     424             : 
     425             : int ASN1CALL
     426           0 : copy_OCSPSingleResponse(const OCSPSingleResponse *from, OCSPSingleResponse *to)
     427             : {
     428           0 :     return _asn1_copy_top(asn1_OCSPSingleResponse, from, to);
     429             : }
     430             : 
     431             : 
     432             : char * ASN1CALL
     433           0 : print_OCSPSingleResponse(const OCSPSingleResponse *data, int flags)
     434             : {
     435           0 :     return _asn1_print_top(asn1_OCSPSingleResponse, flags, data);
     436             : }
     437             : 
     438             : /* template_members: OCSPInnerRequest exp exp */
     439             : /* tsequence: members isstruct: 1 */
     440             : /* template_members: OCSPInnerRequest exp exp */
     441             : /* generate_template_type: OCSPInnerRequest_tag_singleRequestExtensions_18 */
     442             : /* generate_template_type: OCSPInnerRequest_tag__17 */
     443             : const struct asn1_template asn1_OCSPInnerRequest_tag__17[] = {
     444             : /* 0 */ { 0, sizeof(struct OCSPInnerRequest), ((void *)(uintptr_t)5) },
     445             : /* 1 */ { A1_OP_TYPE , offsetof(struct OCSPInnerRequest, reqCert), asn1_OCSPCertID },
     446             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPInnerRequest, singleRequestExtensions), asn1_OCSPSingleResponse_tag_singleExtensions_16 },
     447             : /* 3 */ { A1_OP_NAME, 0, "OCSPInnerRequest" },
     448             : /* 4 */ { A1_OP_NAME, 0, "reqCert" },
     449             : /* 5 */ { A1_OP_NAME, 0, "singleRequestExtensions" }
     450             : };
     451             : /* generate_template_type: OCSPInnerRequest */
     452             : const struct asn1_template asn1_OCSPInnerRequest[] = {
     453             : /* 0 */ { 0, sizeof(OCSPInnerRequest), ((void *)(uintptr_t)1) },
     454             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPInnerRequest_tag__17 }
     455             : };
     456             : 
     457             : int ASN1CALL
     458           0 : decode_OCSPInnerRequest(const unsigned char *p, size_t len, OCSPInnerRequest *data, size_t *size)
     459             : {
     460           0 :     memset(data, 0, sizeof(*data));
     461           0 :     return _asn1_decode_top(asn1_OCSPInnerRequest, 0|0, p, len, data, size);
     462             : }
     463             : 
     464             : 
     465             : int ASN1CALL
     466           0 : encode_OCSPInnerRequest(unsigned char *p, size_t len, const OCSPInnerRequest *data, size_t *size)
     467             : {
     468           0 :     return _asn1_encode(asn1_OCSPInnerRequest, p, len, data, size);
     469             : }
     470             : 
     471             : 
     472             : size_t ASN1CALL
     473           0 : length_OCSPInnerRequest(const OCSPInnerRequest *data)
     474             : {
     475           0 :     return _asn1_length(asn1_OCSPInnerRequest, data);
     476             : }
     477             : 
     478             : 
     479             : void ASN1CALL
     480           0 : free_OCSPInnerRequest(OCSPInnerRequest *data)
     481             : {
     482           0 :     _asn1_free_top(asn1_OCSPInnerRequest, data);
     483           0 : }
     484             : 
     485             : 
     486             : int ASN1CALL
     487           0 : copy_OCSPInnerRequest(const OCSPInnerRequest *from, OCSPInnerRequest *to)
     488             : {
     489           0 :     return _asn1_copy_top(asn1_OCSPInnerRequest, from, to);
     490             : }
     491             : 
     492             : 
     493             : char * ASN1CALL
     494           0 : print_OCSPInnerRequest(const OCSPInnerRequest *data, int flags)
     495             : {
     496           0 :     return _asn1_print_top(asn1_OCSPInnerRequest, flags, data);
     497             : }
     498             : 
     499             : /* template_members: OCSPTBSRequest exp exp */
     500             : /* tsequence: members isstruct: 1 */
     501             : /* template_members: OCSPTBSRequest exp exp */
     502             : /* generate_template_type: OCSPTBSRequest_tag_version_20 */
     503             : const struct asn1_template asn1_OCSPTBSRequest_tag_version_20[] = {
     504             : /* 0 */ { 0, sizeof(OCSPVersion), ((void *)(uintptr_t)1) },
     505             : /* 1 */ { A1_OP_TYPE , 0, asn1_OCSPVersion }
     506             : };
     507             : /* template_members: OCSPTBSRequest exp exp */
     508             : /* generate_template_type: OCSPTBSRequest_tag_requestorName_21 */
     509             : const struct asn1_template asn1_OCSPTBSRequest_tag_requestorName_21[] = {
     510             : /* 0 */ { 0, sizeof(GeneralName), ((void *)(uintptr_t)1) },
     511             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_GeneralName}
     512             : };
     513             : /* template_members: OCSPTBSRequest exp exp */
     514             : /* generate_template_type: OCSPTBSRequest_requestList_0 */
     515             : const struct asn1_template asn1_OCSPTBSRequest_requestList_0[] = {
     516             : /* 0 */ { 0, sizeof(OCSPInnerRequest), ((void *)(uintptr_t)1) },
     517             : /* 1 */ { A1_OP_TYPE , 0, asn1_OCSPInnerRequest }
     518             : };
     519             : /* generate_template_type: OCSPTBSRequest_tag_requestList_22 */
     520             : const struct asn1_template asn1_OCSPTBSRequest_tag_requestList_22[] = {
     521             : /* 0 */ { 0, sizeof(struct OCSPTBSRequest_requestList), ((void *)(uintptr_t)1) },
     522             : /* 1 */ { A1_OP_SEQOF, 0, asn1_OCSPTBSRequest_requestList_0 }
     523             : };
     524             : /* template_members: OCSPTBSRequest exp exp */
     525             : /* generate_template_type: OCSPTBSRequest_tag_requestExtensions_23 */
     526             : /* generate_template_type: OCSPTBSRequest_tag__19 */
     527             : const struct asn1_template asn1_OCSPTBSRequest_tag__19[] = {
     528             : /* 0 */ { 0, sizeof(struct OCSPTBSRequest), ((void *)(uintptr_t)9) },
     529             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPTBSRequest, version), asn1_OCSPTBSRequest_tag_version_20 },
     530             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct OCSPTBSRequest, requestorName), asn1_OCSPTBSRequest_tag_requestorName_21 },
     531             : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), offsetof(struct OCSPTBSRequest, requestList), asn1_OCSPTBSRequest_tag_requestList_22 },
     532             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct OCSPTBSRequest, requestExtensions), asn1_OCSPSingleResponse_tag_singleExtensions_16 },
     533             : /* 5 */ { A1_OP_NAME, 0, "OCSPTBSRequest" },
     534             : /* 6 */ { A1_OP_NAME, 0, "version" },
     535             : /* 7 */ { A1_OP_NAME, 0, "requestorName" },
     536             : /* 8 */ { A1_OP_NAME, 0, "requestList" },
     537             : /* 9 */ { A1_OP_NAME, 0, "requestExtensions" }
     538             : };
     539             : /* generate_template_type: OCSPTBSRequest */
     540             : const struct asn1_template asn1_OCSPTBSRequest[] = {
     541             : /* 0 */ { 0|A1_HF_PRESERVE, sizeof(OCSPTBSRequest), ((void *)(uintptr_t)1) },
     542             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPTBSRequest_tag__19 }
     543             : };
     544             : 
     545             : int ASN1CALL
     546           0 : decode_OCSPTBSRequest(const unsigned char *p, size_t len, OCSPTBSRequest *data, size_t *size)
     547             : {
     548           0 :     memset(data, 0, sizeof(*data));
     549           0 :     return _asn1_decode_top(asn1_OCSPTBSRequest, 0|0, p, len, data, size);
     550             : }
     551             : 
     552             : 
     553             : int ASN1CALL
     554           0 : encode_OCSPTBSRequest(unsigned char *p, size_t len, const OCSPTBSRequest *data, size_t *size)
     555             : {
     556           0 :     return _asn1_encode(asn1_OCSPTBSRequest, p, len, data, size);
     557             : }
     558             : 
     559             : 
     560             : size_t ASN1CALL
     561           0 : length_OCSPTBSRequest(const OCSPTBSRequest *data)
     562             : {
     563           0 :     return _asn1_length(asn1_OCSPTBSRequest, data);
     564             : }
     565             : 
     566             : 
     567             : void ASN1CALL
     568           0 : free_OCSPTBSRequest(OCSPTBSRequest *data)
     569             : {
     570           0 :     _asn1_free_top(asn1_OCSPTBSRequest, data);
     571           0 : }
     572             : 
     573             : 
     574             : int ASN1CALL
     575           0 : copy_OCSPTBSRequest(const OCSPTBSRequest *from, OCSPTBSRequest *to)
     576             : {
     577           0 :     return _asn1_copy_top(asn1_OCSPTBSRequest, from, to);
     578             : }
     579             : 
     580             : 
     581             : char * ASN1CALL
     582           0 : print_OCSPTBSRequest(const OCSPTBSRequest *data, int flags)
     583             : {
     584           0 :     return _asn1_print_top(asn1_OCSPTBSRequest, flags, data);
     585             : }
     586             : 
     587             : /* template_members: OCSPSignature exp exp */
     588             : /* tsequence: members isstruct: 1 */
     589             : /* template_members: OCSPSignature exp exp */
     590             : /* generate_template_type: OCSPSignature_tag_signature_25 */
     591             : const struct asn1_template asn1_OCSPSignature_tag_signature_25[] = {
     592             : /* 0 */ { 0, sizeof(OCSPSignature), ((void *)(uintptr_t)1) },
     593             : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
     594             : };
     595             : /* template_members: OCSPSignature exp exp */
     596             : /* template_members: OCSPSignature exp exp */
     597             : /* generate_template_type: OCSPSignature_certs_1 */
     598             : const struct asn1_template asn1_OCSPSignature_certs_1[] = {
     599             : /* 0 */ { 0, sizeof(Certificate), ((void *)(uintptr_t)1) },
     600             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Certificate}
     601             : };
     602             : /* generate_template_type: OCSPSignature_tag_certs_27 */
     603             : const struct asn1_template asn1_OCSPSignature_tag_certs_27[] = {
     604             : /* 0 */ { 0, sizeof(struct OCSPSignature_certs), ((void *)(uintptr_t)1) },
     605             : /* 1 */ { A1_OP_SEQOF, 0, asn1_OCSPSignature_certs_1 }
     606             : };
     607             : /* generate_template_type: OCSPSignature_tag_certs_26 */
     608             : const struct asn1_template asn1_OCSPSignature_tag_certs_26[] = {
     609             : /* 0 */ { 0, sizeof(struct OCSPSignature_certs), ((void *)(uintptr_t)1) },
     610             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPSignature_tag_certs_27 }
     611             : };
     612             : /* generate_template_type: OCSPSignature_tag__24 */
     613             : const struct asn1_template asn1_OCSPSignature_tag__24[] = {
     614             : /* 0 */ { 0, sizeof(struct OCSPSignature), ((void *)(uintptr_t)7) },
     615             : /* 1 */ { A1_OP_TYPE_EXTERN , offsetof(struct OCSPSignature, signatureAlgorithm), &asn1_extern_AlgorithmIdentifier},
     616             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), offsetof(struct OCSPSignature, signature), asn1_OCSPSignature_tag_signature_25 },
     617             : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPSignature, certs), asn1_OCSPSignature_tag_certs_26 },
     618             : /* 4 */ { A1_OP_NAME, 0, "OCSPSignature" },
     619             : /* 5 */ { A1_OP_NAME, 0, "signatureAlgorithm" },
     620             : /* 6 */ { A1_OP_NAME, 0, "signature" },
     621             : /* 7 */ { A1_OP_NAME, 0, "certs" }
     622             : };
     623             : /* generate_template_type: OCSPSignature */
     624             : const struct asn1_template asn1_OCSPSignature[] = {
     625             : /* 0 */ { 0, sizeof(OCSPSignature), ((void *)(uintptr_t)1) },
     626             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPSignature_tag__24 }
     627             : };
     628             : 
     629             : int ASN1CALL
     630           0 : decode_OCSPSignature(const unsigned char *p, size_t len, OCSPSignature *data, size_t *size)
     631             : {
     632           0 :     memset(data, 0, sizeof(*data));
     633           0 :     return _asn1_decode_top(asn1_OCSPSignature, 0|0, p, len, data, size);
     634             : }
     635             : 
     636             : 
     637             : int ASN1CALL
     638           0 : encode_OCSPSignature(unsigned char *p, size_t len, const OCSPSignature *data, size_t *size)
     639             : {
     640           0 :     return _asn1_encode(asn1_OCSPSignature, p, len, data, size);
     641             : }
     642             : 
     643             : 
     644             : size_t ASN1CALL
     645           0 : length_OCSPSignature(const OCSPSignature *data)
     646             : {
     647           0 :     return _asn1_length(asn1_OCSPSignature, data);
     648             : }
     649             : 
     650             : 
     651             : void ASN1CALL
     652           0 : free_OCSPSignature(OCSPSignature *data)
     653             : {
     654           0 :     _asn1_free_top(asn1_OCSPSignature, data);
     655           0 : }
     656             : 
     657             : 
     658             : int ASN1CALL
     659           0 : copy_OCSPSignature(const OCSPSignature *from, OCSPSignature *to)
     660             : {
     661           0 :     return _asn1_copy_top(asn1_OCSPSignature, from, to);
     662             : }
     663             : 
     664             : 
     665             : char * ASN1CALL
     666           0 : print_OCSPSignature(const OCSPSignature *data, int flags)
     667             : {
     668           0 :     return _asn1_print_top(asn1_OCSPSignature, flags, data);
     669             : }
     670             : 
     671             : /* template_members: OCSPRequest exp exp */
     672             : /* tsequence: members isstruct: 1 */
     673             : /* template_members: OCSPRequest exp exp */
     674             : /* generate_template_type: OCSPRequest_tag_optionalSignature_29 */
     675             : const struct asn1_template asn1_OCSPRequest_tag_optionalSignature_29[] = {
     676             : /* 0 */ { 0, sizeof(OCSPSignature), ((void *)(uintptr_t)1) },
     677             : /* 1 */ { A1_OP_TYPE , 0, asn1_OCSPSignature }
     678             : };
     679             : /* generate_template_type: OCSPRequest_tag__28 */
     680             : const struct asn1_template asn1_OCSPRequest_tag__28[] = {
     681             : /* 0 */ { 0, sizeof(struct OCSPRequest), ((void *)(uintptr_t)5) },
     682             : /* 1 */ { A1_OP_TYPE , offsetof(struct OCSPRequest, tbsRequest), asn1_OCSPTBSRequest },
     683             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPRequest, optionalSignature), asn1_OCSPRequest_tag_optionalSignature_29 },
     684             : /* 3 */ { A1_OP_NAME, 0, "OCSPRequest" },
     685             : /* 4 */ { A1_OP_NAME, 0, "tbsRequest" },
     686             : /* 5 */ { A1_OP_NAME, 0, "optionalSignature" }
     687             : };
     688             : /* generate_template_type: OCSPRequest */
     689             : const struct asn1_template asn1_OCSPRequest[] = {
     690             : /* 0 */ { 0, sizeof(OCSPRequest), ((void *)(uintptr_t)1) },
     691             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPRequest_tag__28 }
     692             : };
     693             : 
     694             : int ASN1CALL
     695           0 : decode_OCSPRequest(const unsigned char *p, size_t len, OCSPRequest *data, size_t *size)
     696             : {
     697           0 :     memset(data, 0, sizeof(*data));
     698           0 :     return _asn1_decode_top(asn1_OCSPRequest, 0|0, p, len, data, size);
     699             : }
     700             : 
     701             : 
     702             : int ASN1CALL
     703           0 : encode_OCSPRequest(unsigned char *p, size_t len, const OCSPRequest *data, size_t *size)
     704             : {
     705           0 :     return _asn1_encode(asn1_OCSPRequest, p, len, data, size);
     706             : }
     707             : 
     708             : 
     709             : size_t ASN1CALL
     710           0 : length_OCSPRequest(const OCSPRequest *data)
     711             : {
     712           0 :     return _asn1_length(asn1_OCSPRequest, data);
     713             : }
     714             : 
     715             : 
     716             : void ASN1CALL
     717           0 : free_OCSPRequest(OCSPRequest *data)
     718             : {
     719           0 :     _asn1_free_top(asn1_OCSPRequest, data);
     720           0 : }
     721             : 
     722             : 
     723             : int ASN1CALL
     724           0 : copy_OCSPRequest(const OCSPRequest *from, OCSPRequest *to)
     725             : {
     726           0 :     return _asn1_copy_top(asn1_OCSPRequest, from, to);
     727             : }
     728             : 
     729             : 
     730             : char * ASN1CALL
     731           0 : print_OCSPRequest(const OCSPRequest *data, int flags)
     732             : {
     733           0 :     return _asn1_print_top(asn1_OCSPRequest, flags, data);
     734             : }
     735             : 
     736             : /* template_members: OCSPResponseBytes exp exp */
     737             : /* tsequence: members isstruct: 1 */
     738             : /* template_members: OCSPResponseBytes exp exp */
     739             : /* generate_template_type: OCSPResponseBytes_tag_responseType_31 */
     740             : const struct asn1_template asn1_OCSPResponseBytes_tag_responseType_31[] = {
     741             : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
     742             : /* 1 */ { A1_PARSE_T(A1T_OID), 0, NULL }
     743             : };
     744             : /* template_members: OCSPResponseBytes exp exp */
     745             : /* generate_template_type: OCSPResponseBytes_tag_response_32 */
     746             : /* generate_template_type: OCSPResponseBytes_tag__30 */
     747             : const struct asn1_template asn1_OCSPResponseBytes_tag__30[] = {
     748             : /* 0 */ { 0, sizeof(struct OCSPResponseBytes), ((void *)(uintptr_t)5) },
     749             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct OCSPResponseBytes, responseType), asn1_OCSPResponseBytes_tag_responseType_31 },
     750             : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), offsetof(struct OCSPResponseBytes, response), asn1_OCSPCertID_tag_issuerNameHash_10 },
     751             : /* 3 */ { A1_OP_NAME, 0, "OCSPResponseBytes" },
     752             : /* 4 */ { A1_OP_NAME, 0, "responseType" },
     753             : /* 5 */ { A1_OP_NAME, 0, "response" }
     754             : };
     755             : /* generate_template_type: OCSPResponseBytes */
     756             : const struct asn1_template asn1_OCSPResponseBytes[] = {
     757             : /* 0 */ { 0, sizeof(OCSPResponseBytes), ((void *)(uintptr_t)1) },
     758             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPResponseBytes_tag__30 }
     759             : };
     760             : 
     761             : int ASN1CALL
     762           0 : decode_OCSPResponseBytes(const unsigned char *p, size_t len, OCSPResponseBytes *data, size_t *size)
     763             : {
     764           0 :     memset(data, 0, sizeof(*data));
     765           0 :     return _asn1_decode_top(asn1_OCSPResponseBytes, 0|0, p, len, data, size);
     766             : }
     767             : 
     768             : 
     769             : int ASN1CALL
     770           0 : encode_OCSPResponseBytes(unsigned char *p, size_t len, const OCSPResponseBytes *data, size_t *size)
     771             : {
     772           0 :     return _asn1_encode(asn1_OCSPResponseBytes, p, len, data, size);
     773             : }
     774             : 
     775             : 
     776             : size_t ASN1CALL
     777           0 : length_OCSPResponseBytes(const OCSPResponseBytes *data)
     778             : {
     779           0 :     return _asn1_length(asn1_OCSPResponseBytes, data);
     780             : }
     781             : 
     782             : 
     783             : void ASN1CALL
     784           0 : free_OCSPResponseBytes(OCSPResponseBytes *data)
     785             : {
     786           0 :     _asn1_free_top(asn1_OCSPResponseBytes, data);
     787           0 : }
     788             : 
     789             : 
     790             : int ASN1CALL
     791           0 : copy_OCSPResponseBytes(const OCSPResponseBytes *from, OCSPResponseBytes *to)
     792             : {
     793           0 :     return _asn1_copy_top(asn1_OCSPResponseBytes, from, to);
     794             : }
     795             : 
     796             : 
     797             : char * ASN1CALL
     798           0 : print_OCSPResponseBytes(const OCSPResponseBytes *data, int flags)
     799             : {
     800           0 :     return _asn1_print_top(asn1_OCSPResponseBytes, flags, data);
     801             : }
     802             : 
     803             : /* template_members: OCSPResponseStatus exp exp */
     804             : const struct asn1_template asn1_OCSPResponseStatus_enum_names[] = {
     805             : /* 0 */ { 0, 0, ((void *)(uintptr_t)6) },
     806             : /* 1 */ { A1_OP_NAME, 0, "successful" },
     807             : /* 2 */ { A1_OP_NAME, 1, "malformedRequest" },
     808             : /* 3 */ { A1_OP_NAME, 2, "internalError" },
     809             : /* 4 */ { A1_OP_NAME, 3, "tryLater" },
     810             : /* 5 */ { A1_OP_NAME, 5, "sigRequired" },
     811             : /* 6 */ { A1_OP_NAME, 6, "unauthorized" }
     812             : };
     813             : /* generate_template_type: OCSPResponseStatus_tag__33 */
     814             : const struct asn1_template asn1_OCSPResponseStatus_tag__33[] = {
     815             : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
     816             : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_OCSPResponseStatus_enum_names }
     817             : };
     818             : /* generate_template_type: OCSPResponseStatus */
     819             : const struct asn1_template asn1_OCSPResponseStatus[] = {
     820             : /* 0 */ { 0, sizeof(OCSPResponseStatus), ((void *)(uintptr_t)1) },
     821             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_OCSPResponseStatus_tag__33 }
     822             : };
     823             : 
     824             : int ASN1CALL
     825           0 : decode_OCSPResponseStatus(const unsigned char *p, size_t len, OCSPResponseStatus *data, size_t *size)
     826             : {
     827           0 :     memset(data, 0, sizeof(*data));
     828           0 :     return _asn1_decode_top(asn1_OCSPResponseStatus, 0|0, p, len, data, size);
     829             : }
     830             : 
     831             : 
     832             : int ASN1CALL
     833           0 : encode_OCSPResponseStatus(unsigned char *p, size_t len, const OCSPResponseStatus *data, size_t *size)
     834             : {
     835           0 :     return _asn1_encode(asn1_OCSPResponseStatus, p, len, data, size);
     836             : }
     837             : 
     838             : 
     839             : size_t ASN1CALL
     840           0 : length_OCSPResponseStatus(const OCSPResponseStatus *data)
     841             : {
     842           0 :     return _asn1_length(asn1_OCSPResponseStatus, data);
     843             : }
     844             : 
     845             : 
     846             : void ASN1CALL
     847           0 : free_OCSPResponseStatus(OCSPResponseStatus *data)
     848             : {
     849           0 :     _asn1_free_top(asn1_OCSPResponseStatus, data);
     850           0 : }
     851             : 
     852             : 
     853             : int ASN1CALL
     854           0 : copy_OCSPResponseStatus(const OCSPResponseStatus *from, OCSPResponseStatus *to)
     855             : {
     856           0 :     return _asn1_copy_top(asn1_OCSPResponseStatus, from, to);
     857             : }
     858             : 
     859             : 
     860             : char * ASN1CALL
     861           0 : print_OCSPResponseStatus(const OCSPResponseStatus *data, int flags)
     862             : {
     863           0 :     return _asn1_print_top(asn1_OCSPResponseStatus, flags, data);
     864             : }
     865             : 
     866             : /* template_members: OCSPResponse exp exp */
     867             : /* tsequence: members isstruct: 1 */
     868             : /* template_members: OCSPResponse exp exp */
     869             : /* generate_template_type: OCSPResponse_tag_responseBytes_35 */
     870             : const struct asn1_template asn1_OCSPResponse_tag_responseBytes_35[] = {
     871             : /* 0 */ { 0, sizeof(OCSPResponseBytes), ((void *)(uintptr_t)1) },
     872             : /* 1 */ { A1_OP_TYPE , 0, asn1_OCSPResponseBytes }
     873             : };
     874             : /* generate_template_type: OCSPResponse_tag__34 */
     875             : const struct asn1_template asn1_OCSPResponse_tag__34[] = {
     876             : /* 0 */ { 0, sizeof(struct OCSPResponse), ((void *)(uintptr_t)5) },
     877             : /* 1 */ { A1_OP_TYPE , offsetof(struct OCSPResponse, responseStatus), asn1_OCSPResponseStatus },
     878             : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPResponse, responseBytes), asn1_OCSPResponse_tag_responseBytes_35 },
     879             : /* 3 */ { A1_OP_NAME, 0, "OCSPResponse" },
     880             : /* 4 */ { A1_OP_NAME, 0, "responseStatus" },
     881             : /* 5 */ { A1_OP_NAME, 0, "responseBytes" }
     882             : };
     883             : /* generate_template_type: OCSPResponse */
     884             : const struct asn1_template asn1_OCSPResponse[] = {
     885             : /* 0 */ { 0, sizeof(OCSPResponse), ((void *)(uintptr_t)1) },
     886             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPResponse_tag__34 }
     887             : };
     888             : 
     889             : int ASN1CALL
     890           0 : decode_OCSPResponse(const unsigned char *p, size_t len, OCSPResponse *data, size_t *size)
     891             : {
     892           0 :     memset(data, 0, sizeof(*data));
     893           0 :     return _asn1_decode_top(asn1_OCSPResponse, 0|0, p, len, data, size);
     894             : }
     895             : 
     896             : 
     897             : int ASN1CALL
     898           0 : encode_OCSPResponse(unsigned char *p, size_t len, const OCSPResponse *data, size_t *size)
     899             : {
     900           0 :     return _asn1_encode(asn1_OCSPResponse, p, len, data, size);
     901             : }
     902             : 
     903             : 
     904             : size_t ASN1CALL
     905           0 : length_OCSPResponse(const OCSPResponse *data)
     906             : {
     907           0 :     return _asn1_length(asn1_OCSPResponse, data);
     908             : }
     909             : 
     910             : 
     911             : void ASN1CALL
     912           0 : free_OCSPResponse(OCSPResponse *data)
     913             : {
     914           0 :     _asn1_free_top(asn1_OCSPResponse, data);
     915           0 : }
     916             : 
     917             : 
     918             : int ASN1CALL
     919           0 : copy_OCSPResponse(const OCSPResponse *from, OCSPResponse *to)
     920             : {
     921           0 :     return _asn1_copy_top(asn1_OCSPResponse, from, to);
     922             : }
     923             : 
     924             : 
     925             : char * ASN1CALL
     926           0 : print_OCSPResponse(const OCSPResponse *data, int flags)
     927             : {
     928           0 :     return _asn1_print_top(asn1_OCSPResponse, flags, data);
     929             : }
     930             : 
     931             : /* template_members: OCSPKeyHash exp exp */
     932             : /* generate_template_type: OCSPKeyHash_tag__36 */
     933             : /* generate_template_type: OCSPKeyHash */
     934             : const struct asn1_template asn1_OCSPKeyHash[] = {
     935             : /* 0 */ { 0, sizeof(OCSPKeyHash), ((void *)(uintptr_t)1) },
     936             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_OCSPCertID_tag_issuerNameHash_10 }
     937             : };
     938             : 
     939             : int ASN1CALL
     940           0 : decode_OCSPKeyHash(const unsigned char *p, size_t len, OCSPKeyHash *data, size_t *size)
     941             : {
     942           0 :     memset(data, 0, sizeof(*data));
     943           0 :     return _asn1_decode_top(asn1_OCSPKeyHash, 0|0, p, len, data, size);
     944             : }
     945             : 
     946             : 
     947             : int ASN1CALL
     948           0 : encode_OCSPKeyHash(unsigned char *p, size_t len, const OCSPKeyHash *data, size_t *size)
     949             : {
     950           0 :     return _asn1_encode(asn1_OCSPKeyHash, p, len, data, size);
     951             : }
     952             : 
     953             : 
     954             : size_t ASN1CALL
     955           0 : length_OCSPKeyHash(const OCSPKeyHash *data)
     956             : {
     957           0 :     return _asn1_length(asn1_OCSPKeyHash, data);
     958             : }
     959             : 
     960             : 
     961             : void ASN1CALL
     962           0 : free_OCSPKeyHash(OCSPKeyHash *data)
     963             : {
     964           0 :     _asn1_free_top(asn1_OCSPKeyHash, data);
     965           0 : }
     966             : 
     967             : 
     968             : int ASN1CALL
     969           0 : copy_OCSPKeyHash(const OCSPKeyHash *from, OCSPKeyHash *to)
     970             : {
     971           0 :     return _asn1_copy_top(asn1_OCSPKeyHash, from, to);
     972             : }
     973             : 
     974             : 
     975             : char * ASN1CALL
     976           0 : print_OCSPKeyHash(const OCSPKeyHash *data, int flags)
     977             : {
     978           0 :     return _asn1_print_top(asn1_OCSPKeyHash, flags, data);
     979             : }
     980             : 
     981             : /* template_members: Name exp exp */
     982             : /* generate_template_type: Name_tag__37 */
     983             : const struct asn1_template asn1_Name_tag__37[] = {
     984             : /* 0 */ { 0, sizeof(Name), ((void *)(uintptr_t)1) },
     985             : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Name}
     986             : };
     987             : /* generate_template_type: OCSPResponderID_choice_byName */
     988             : const struct asn1_template asn1_OCSPResponderID_choice_byName[] = {
     989             : /* 0 */ { 0, sizeof(Name), ((void *)(uintptr_t)1) },
     990             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_Name_tag__37 }
     991             : };
     992             : /* template_members: OCSPKeyHash exp exp */
     993             : /* generate_template_type: OCSPKeyHash_tag__38 */
     994             : const struct asn1_template asn1_OCSPKeyHash_tag__38[] = {
     995             : /* 0 */ { 0, sizeof(OCSPKeyHash), ((void *)(uintptr_t)1) },
     996             : /* 1 */ { A1_OP_TYPE , 0, asn1_OCSPKeyHash }
     997             : };
     998             : /* generate_template_type: OCSPResponderID_choice_byKey */
     999             : const struct asn1_template asn1_OCSPResponderID_choice_byKey[] = {
    1000             : /* 0 */ { 0, sizeof(OCSPKeyHash), ((void *)(uintptr_t)1) },
    1001             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_OCSPKeyHash_tag__38 }
    1002             : };
    1003             : static const struct asn1_template asn1_choice_OCSPResponderID_1[] = {
    1004             : /* 0 */ { 0, offsetof(OCSPResponderID, element), ((void *)(uintptr_t)4) },
    1005             : /* 1 */ { choice_OCSPResponderID_byName, offsetof(OCSPResponderID, u.byName), asn1_OCSPResponderID_choice_byName },
    1006             : /* 2 */ { choice_OCSPResponderID_byKey, offsetof(OCSPResponderID, u.byKey), asn1_OCSPResponderID_choice_byKey },
    1007             : /* 3 */ { 0, 0, "byName" },
    1008             : /* 4 */ { 0, 0, "byKey" }
    1009             : };
    1010             : /* generate_template_type: OCSPResponderID */
    1011             : const struct asn1_template asn1_OCSPResponderID[] = {
    1012             : /* 0 */ { 0, sizeof(OCSPResponderID), ((void *)(uintptr_t)1) },
    1013             : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_OCSPResponderID_1 }
    1014             : };
    1015             : 
    1016             : int ASN1CALL
    1017           0 : decode_OCSPResponderID(const unsigned char *p, size_t len, OCSPResponderID *data, size_t *size)
    1018             : {
    1019           0 :     memset(data, 0, sizeof(*data));
    1020           0 :     return _asn1_decode_top(asn1_OCSPResponderID, 0|0, p, len, data, size);
    1021             : }
    1022             : 
    1023             : 
    1024             : int ASN1CALL
    1025           0 : encode_OCSPResponderID(unsigned char *p, size_t len, const OCSPResponderID *data, size_t *size)
    1026             : {
    1027           0 :     return _asn1_encode(asn1_OCSPResponderID, p, len, data, size);
    1028             : }
    1029             : 
    1030             : 
    1031             : size_t ASN1CALL
    1032           0 : length_OCSPResponderID(const OCSPResponderID *data)
    1033             : {
    1034           0 :     return _asn1_length(asn1_OCSPResponderID, data);
    1035             : }
    1036             : 
    1037             : 
    1038             : void ASN1CALL
    1039           0 : free_OCSPResponderID(OCSPResponderID *data)
    1040             : {
    1041           0 :     _asn1_free_top(asn1_OCSPResponderID, data);
    1042           0 : }
    1043             : 
    1044             : 
    1045             : int ASN1CALL
    1046           0 : copy_OCSPResponderID(const OCSPResponderID *from, OCSPResponderID *to)
    1047             : {
    1048           0 :     return _asn1_copy_top(asn1_OCSPResponderID, from, to);
    1049             : }
    1050             : 
    1051             : 
    1052             : char * ASN1CALL
    1053           0 : print_OCSPResponderID(const OCSPResponderID *data, int flags)
    1054             : {
    1055           0 :     return _asn1_print_top(asn1_OCSPResponderID, flags, data);
    1056             : }
    1057             : 
    1058             : /* template_members: OCSPResponseData exp exp */
    1059             : /* tsequence: members isstruct: 1 */
    1060             : /* template_members: OCSPResponseData exp exp */
    1061             : /* generate_template_type: OCSPResponseData_tag_version_40 */
    1062             : /* template_members: OCSPResponseData exp exp */
    1063             : /* generate_template_type: OCSPResponseData_tag_producedAt_41 */
    1064             : /* template_members: OCSPResponseData exp exp */
    1065             : /* generate_template_type: OCSPResponseData_responses_2 */
    1066             : const struct asn1_template asn1_OCSPResponseData_responses_2[] = {
    1067             : /* 0 */ { 0, sizeof(OCSPSingleResponse), ((void *)(uintptr_t)1) },
    1068             : /* 1 */ { A1_OP_TYPE , 0, asn1_OCSPSingleResponse }
    1069             : };
    1070             : /* generate_template_type: OCSPResponseData_tag_responses_42 */
    1071             : const struct asn1_template asn1_OCSPResponseData_tag_responses_42[] = {
    1072             : /* 0 */ { 0, sizeof(struct OCSPResponseData_responses), ((void *)(uintptr_t)1) },
    1073             : /* 1 */ { A1_OP_SEQOF, 0, asn1_OCSPResponseData_responses_2 }
    1074             : };
    1075             : /* template_members: OCSPResponseData exp exp */
    1076             : /* generate_template_type: OCSPResponseData_tag_responseExtensions_43 */
    1077             : /* generate_template_type: OCSPResponseData_tag__39 */
    1078             : const struct asn1_template asn1_OCSPResponseData_tag__39[] = {
    1079             : /* 0 */ { 0, sizeof(struct OCSPResponseData), ((void *)(uintptr_t)11) },
    1080             : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPResponseData, version), asn1_OCSPTBSRequest_tag_version_20 },
    1081             : /* 2 */ { A1_OP_TYPE , offsetof(struct OCSPResponseData, responderID), asn1_OCSPResponderID },
    1082             : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_GeneralizedTime), offsetof(struct OCSPResponseData, producedAt), asn1_OCSPCertStatus_revoked_tag_revocationTime_5 },
    1083             : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), offsetof(struct OCSPResponseData, responses), asn1_OCSPResponseData_tag_responses_42 },
    1084             : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct OCSPResponseData, responseExtensions), asn1_OCSPSingleResponse_tag_singleExtensions_16 },
    1085             : /* 6 */ { A1_OP_NAME, 0, "OCSPResponseData" },
    1086             : /* 7 */ { A1_OP_NAME, 0, "version" },
    1087             : /* 8 */ { A1_OP_NAME, 0, "responderID" },
    1088             : /* 9 */ { A1_OP_NAME, 0, "producedAt" },
    1089             : /* 10 */ { A1_OP_NAME, 0, "responses" },
    1090             : /* 11 */ { A1_OP_NAME, 0, "responseExtensions" }
    1091             : };
    1092             : /* generate_template_type: OCSPResponseData */
    1093             : const struct asn1_template asn1_OCSPResponseData[] = {
    1094             : /* 0 */ { 0|A1_HF_PRESERVE, sizeof(OCSPResponseData), ((void *)(uintptr_t)1) },
    1095             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPResponseData_tag__39 }
    1096             : };
    1097             : 
    1098             : int ASN1CALL
    1099           0 : decode_OCSPResponseData(const unsigned char *p, size_t len, OCSPResponseData *data, size_t *size)
    1100             : {
    1101           0 :     memset(data, 0, sizeof(*data));
    1102           0 :     return _asn1_decode_top(asn1_OCSPResponseData, 0|0, p, len, data, size);
    1103             : }
    1104             : 
    1105             : 
    1106             : int ASN1CALL
    1107           0 : encode_OCSPResponseData(unsigned char *p, size_t len, const OCSPResponseData *data, size_t *size)
    1108             : {
    1109           0 :     return _asn1_encode(asn1_OCSPResponseData, p, len, data, size);
    1110             : }
    1111             : 
    1112             : 
    1113             : size_t ASN1CALL
    1114           0 : length_OCSPResponseData(const OCSPResponseData *data)
    1115             : {
    1116           0 :     return _asn1_length(asn1_OCSPResponseData, data);
    1117             : }
    1118             : 
    1119             : 
    1120             : void ASN1CALL
    1121           0 : free_OCSPResponseData(OCSPResponseData *data)
    1122             : {
    1123           0 :     _asn1_free_top(asn1_OCSPResponseData, data);
    1124           0 : }
    1125             : 
    1126             : 
    1127             : int ASN1CALL
    1128           0 : copy_OCSPResponseData(const OCSPResponseData *from, OCSPResponseData *to)
    1129             : {
    1130           0 :     return _asn1_copy_top(asn1_OCSPResponseData, from, to);
    1131             : }
    1132             : 
    1133             : 
    1134             : char * ASN1CALL
    1135           0 : print_OCSPResponseData(const OCSPResponseData *data, int flags)
    1136             : {
    1137           0 :     return _asn1_print_top(asn1_OCSPResponseData, flags, data);
    1138             : }
    1139             : 
    1140             : /* template_members: OCSPBasicOCSPResponse exp exp */
    1141             : /* tsequence: members isstruct: 1 */
    1142             : /* template_members: OCSPBasicOCSPResponse exp exp */
    1143             : /* generate_template_type: OCSPBasicOCSPResponse_tag_signature_45 */
    1144             : const struct asn1_template asn1_OCSPBasicOCSPResponse_tag_signature_45[] = {
    1145             : /* 0 */ { 0, sizeof(OCSPBasicOCSPResponse), ((void *)(uintptr_t)1) },
    1146             : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
    1147             : };
    1148             : /* template_members: OCSPBasicOCSPResponse exp exp */
    1149             : /* template_members: OCSPBasicOCSPResponse exp exp */
    1150             : /* generate_template_type: OCSPBasicOCSPResponse_certs_3 */
    1151             : /* generate_template_type: OCSPBasicOCSPResponse_tag_certs_47 */
    1152             : const struct asn1_template asn1_OCSPBasicOCSPResponse_tag_certs_47[] = {
    1153             : /* 0 */ { 0, sizeof(struct OCSPBasicOCSPResponse_certs), ((void *)(uintptr_t)1) },
    1154             : /* 1 */ { A1_OP_SEQOF, 0, asn1_OCSPSignature_certs_1 }
    1155             : };
    1156             : /* generate_template_type: OCSPBasicOCSPResponse_tag_certs_46 */
    1157             : const struct asn1_template asn1_OCSPBasicOCSPResponse_tag_certs_46[] = {
    1158             : /* 0 */ { 0, sizeof(struct OCSPBasicOCSPResponse_certs), ((void *)(uintptr_t)1) },
    1159             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPBasicOCSPResponse_tag_certs_47 }
    1160             : };
    1161             : /* generate_template_type: OCSPBasicOCSPResponse_tag__44 */
    1162             : const struct asn1_template asn1_OCSPBasicOCSPResponse_tag__44[] = {
    1163             : /* 0 */ { 0, sizeof(struct OCSPBasicOCSPResponse), ((void *)(uintptr_t)9) },
    1164             : /* 1 */ { A1_OP_TYPE , offsetof(struct OCSPBasicOCSPResponse, tbsResponseData), asn1_OCSPResponseData },
    1165             : /* 2 */ { A1_OP_TYPE_EXTERN , offsetof(struct OCSPBasicOCSPResponse, signatureAlgorithm), &asn1_extern_AlgorithmIdentifier},
    1166             : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), offsetof(struct OCSPBasicOCSPResponse, signature), asn1_OCSPBasicOCSPResponse_tag_signature_45 },
    1167             : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct OCSPBasicOCSPResponse, certs), asn1_OCSPBasicOCSPResponse_tag_certs_46 },
    1168             : /* 5 */ { A1_OP_NAME, 0, "OCSPBasicOCSPResponse" },
    1169             : /* 6 */ { A1_OP_NAME, 0, "tbsResponseData" },
    1170             : /* 7 */ { A1_OP_NAME, 0, "signatureAlgorithm" },
    1171             : /* 8 */ { A1_OP_NAME, 0, "signature" },
    1172             : /* 9 */ { A1_OP_NAME, 0, "certs" }
    1173             : };
    1174             : /* generate_template_type: OCSPBasicOCSPResponse */
    1175             : const struct asn1_template asn1_OCSPBasicOCSPResponse[] = {
    1176             : /* 0 */ { 0, sizeof(OCSPBasicOCSPResponse), ((void *)(uintptr_t)1) },
    1177             : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OCSPBasicOCSPResponse_tag__44 }
    1178             : };
    1179             : 
    1180             : int ASN1CALL
    1181           0 : decode_OCSPBasicOCSPResponse(const unsigned char *p, size_t len, OCSPBasicOCSPResponse *data, size_t *size)
    1182             : {
    1183           0 :     memset(data, 0, sizeof(*data));
    1184           0 :     return _asn1_decode_top(asn1_OCSPBasicOCSPResponse, 0|0, p, len, data, size);
    1185             : }
    1186             : 
    1187             : 
    1188             : int ASN1CALL
    1189           0 : encode_OCSPBasicOCSPResponse(unsigned char *p, size_t len, const OCSPBasicOCSPResponse *data, size_t *size)
    1190             : {
    1191           0 :     return _asn1_encode(asn1_OCSPBasicOCSPResponse, p, len, data, size);
    1192             : }
    1193             : 
    1194             : 
    1195             : size_t ASN1CALL
    1196           0 : length_OCSPBasicOCSPResponse(const OCSPBasicOCSPResponse *data)
    1197             : {
    1198           0 :     return _asn1_length(asn1_OCSPBasicOCSPResponse, data);
    1199             : }
    1200             : 
    1201             : 
    1202             : void ASN1CALL
    1203           0 : free_OCSPBasicOCSPResponse(OCSPBasicOCSPResponse *data)
    1204             : {
    1205           0 :     _asn1_free_top(asn1_OCSPBasicOCSPResponse, data);
    1206           0 : }
    1207             : 
    1208             : 
    1209             : int ASN1CALL
    1210           0 : copy_OCSPBasicOCSPResponse(const OCSPBasicOCSPResponse *from, OCSPBasicOCSPResponse *to)
    1211             : {
    1212           0 :     return _asn1_copy_top(asn1_OCSPBasicOCSPResponse, from, to);
    1213             : }
    1214             : 
    1215             : 
    1216             : char * ASN1CALL
    1217           0 : print_OCSPBasicOCSPResponse(const OCSPBasicOCSPResponse *data, int flags)
    1218             : {
    1219           0 :     return _asn1_print_top(asn1_OCSPBasicOCSPResponse, flags, data);
    1220             : }
    1221             : 

Generated by: LCOV version 1.14