Line data Source code
1 : /* Generated from /builds/eaglegai/samba/third_party/heimdal/lib/asn1/rfc2459.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 "rfc2459_asn1.h"
15 : #include "rfc2459_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_HEIM_ANY = {
23 : (asn1_type_encode)encode_HEIM_ANY,
24 : (asn1_type_decode)decode_HEIM_ANY,
25 : (asn1_type_length)length_HEIM_ANY,
26 : (asn1_type_copy)copy_HEIM_ANY,
27 : (asn1_type_release)free_HEIM_ANY,
28 : (asn1_type_print)print_HEIM_ANY,
29 : sizeof(HEIM_ANY)
30 : };
31 : static const struct asn1_type_func asn1_extern_PrincipalName = {
32 : (asn1_type_encode)encode_PrincipalName,
33 : (asn1_type_decode)decode_PrincipalName,
34 : (asn1_type_length)length_PrincipalName,
35 : (asn1_type_copy)copy_PrincipalName,
36 : (asn1_type_release)free_PrincipalName,
37 : (asn1_type_print)print_PrincipalName,
38 : sizeof(PrincipalName)
39 : };
40 : static const struct asn1_type_func asn1_extern_Realm = {
41 : (asn1_type_encode)encode_Realm,
42 : (asn1_type_decode)decode_Realm,
43 : (asn1_type_length)length_Realm,
44 : (asn1_type_copy)copy_Realm,
45 : (asn1_type_release)free_Realm,
46 : (asn1_type_print)print_Realm,
47 : sizeof(Realm)
48 : };
49 : extern const struct asn1_template asn1_Version[];
50 : extern const struct asn1_template asn1_Version[];
51 : static unsigned oid_id_pkcs_1_variable_num[6] = { 1, 2, 840, 113549, 1, 1};
52 : const heim_oid asn1_oid_id_pkcs_1 = { 6, oid_id_pkcs_1_variable_num };
53 :
54 : static unsigned oid_id_pkcs1_rsaEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 1};
55 : const heim_oid asn1_oid_id_pkcs1_rsaEncryption = { 7, oid_id_pkcs1_rsaEncryption_variable_num };
56 :
57 : static unsigned oid_id_pkcs1_md2WithRSAEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 2};
58 : const heim_oid asn1_oid_id_pkcs1_md2WithRSAEncryption = { 7, oid_id_pkcs1_md2WithRSAEncryption_variable_num };
59 :
60 : static unsigned oid_id_pkcs1_md5WithRSAEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 4};
61 : const heim_oid asn1_oid_id_pkcs1_md5WithRSAEncryption = { 7, oid_id_pkcs1_md5WithRSAEncryption_variable_num };
62 :
63 : static unsigned oid_id_pkcs1_sha1WithRSAEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 5};
64 : const heim_oid asn1_oid_id_pkcs1_sha1WithRSAEncryption = { 7, oid_id_pkcs1_sha1WithRSAEncryption_variable_num };
65 :
66 : static unsigned oid_id_pkcs1_sha256WithRSAEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 11};
67 : const heim_oid asn1_oid_id_pkcs1_sha256WithRSAEncryption = { 7, oid_id_pkcs1_sha256WithRSAEncryption_variable_num };
68 :
69 : static unsigned oid_id_pkcs1_sha384WithRSAEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 12};
70 : const heim_oid asn1_oid_id_pkcs1_sha384WithRSAEncryption = { 7, oid_id_pkcs1_sha384WithRSAEncryption_variable_num };
71 :
72 : static unsigned oid_id_pkcs1_sha512WithRSAEncryption_variable_num[7] = { 1, 2, 840, 113549, 1, 1, 13};
73 : const heim_oid asn1_oid_id_pkcs1_sha512WithRSAEncryption = { 7, oid_id_pkcs1_sha512WithRSAEncryption_variable_num };
74 :
75 : static unsigned oid_id_heim_rsa_pkcs1_x509_variable_num[6] = { 1, 2, 752, 43, 16, 1};
76 : const heim_oid asn1_oid_id_heim_rsa_pkcs1_x509 = { 6, oid_id_heim_rsa_pkcs1_x509_variable_num };
77 :
78 : static unsigned oid_id_pkcs_2_variable_num[6] = { 1, 2, 840, 113549, 1, 2};
79 : const heim_oid asn1_oid_id_pkcs_2 = { 6, oid_id_pkcs_2_variable_num };
80 :
81 : static unsigned oid_id_pkcs2_md2_variable_num[7] = { 1, 2, 840, 113549, 1, 2, 2};
82 : const heim_oid asn1_oid_id_pkcs2_md2 = { 7, oid_id_pkcs2_md2_variable_num };
83 :
84 : static unsigned oid_id_pkcs2_md4_variable_num[7] = { 1, 2, 840, 113549, 1, 2, 4};
85 : const heim_oid asn1_oid_id_pkcs2_md4 = { 7, oid_id_pkcs2_md4_variable_num };
86 :
87 : static unsigned oid_id_pkcs2_md5_variable_num[7] = { 1, 2, 840, 113549, 1, 2, 5};
88 : const heim_oid asn1_oid_id_pkcs2_md5 = { 7, oid_id_pkcs2_md5_variable_num };
89 :
90 : static unsigned oid_id_rsa_digestAlgorithm_variable_num[5] = { 1, 2, 840, 113549, 2};
91 : const heim_oid asn1_oid_id_rsa_digestAlgorithm = { 5, oid_id_rsa_digestAlgorithm_variable_num };
92 :
93 : static unsigned oid_id_rsa_digest_md2_variable_num[6] = { 1, 2, 840, 113549, 2, 2};
94 : const heim_oid asn1_oid_id_rsa_digest_md2 = { 6, oid_id_rsa_digest_md2_variable_num };
95 :
96 : static unsigned oid_id_rsa_digest_md4_variable_num[6] = { 1, 2, 840, 113549, 2, 4};
97 : const heim_oid asn1_oid_id_rsa_digest_md4 = { 6, oid_id_rsa_digest_md4_variable_num };
98 :
99 : static unsigned oid_id_rsa_digest_md5_variable_num[6] = { 1, 2, 840, 113549, 2, 5};
100 : const heim_oid asn1_oid_id_rsa_digest_md5 = { 6, oid_id_rsa_digest_md5_variable_num };
101 :
102 : static unsigned oid_id_pkcs_3_variable_num[6] = { 1, 2, 840, 113549, 1, 3};
103 : const heim_oid asn1_oid_id_pkcs_3 = { 6, oid_id_pkcs_3_variable_num };
104 :
105 : static unsigned oid_id_pkcs3_rc2_cbc_variable_num[7] = { 1, 2, 840, 113549, 1, 3, 2};
106 : const heim_oid asn1_oid_id_pkcs3_rc2_cbc = { 7, oid_id_pkcs3_rc2_cbc_variable_num };
107 :
108 : static unsigned oid_id_pkcs3_rc4_variable_num[7] = { 1, 2, 840, 113549, 1, 3, 4};
109 : const heim_oid asn1_oid_id_pkcs3_rc4 = { 7, oid_id_pkcs3_rc4_variable_num };
110 :
111 : static unsigned oid_id_pkcs3_des_ede3_cbc_variable_num[7] = { 1, 2, 840, 113549, 1, 3, 7};
112 : const heim_oid asn1_oid_id_pkcs3_des_ede3_cbc = { 7, oid_id_pkcs3_des_ede3_cbc_variable_num };
113 :
114 : static unsigned oid_id_rsadsi_encalg_variable_num[5] = { 1, 2, 840, 113549, 3};
115 : const heim_oid asn1_oid_id_rsadsi_encalg = { 5, oid_id_rsadsi_encalg_variable_num };
116 :
117 : static unsigned oid_id_rsadsi_rc2_cbc_variable_num[6] = { 1, 2, 840, 113549, 3, 2};
118 : const heim_oid asn1_oid_id_rsadsi_rc2_cbc = { 6, oid_id_rsadsi_rc2_cbc_variable_num };
119 :
120 : static unsigned oid_id_rsadsi_des_ede3_cbc_variable_num[6] = { 1, 2, 840, 113549, 3, 7};
121 : const heim_oid asn1_oid_id_rsadsi_des_ede3_cbc = { 6, oid_id_rsadsi_des_ede3_cbc_variable_num };
122 :
123 : static unsigned oid_id_secsig_sha_1_variable_num[6] = { 1, 3, 14, 3, 2, 26};
124 : const heim_oid asn1_oid_id_secsig_sha_1 = { 6, oid_id_secsig_sha_1_variable_num };
125 :
126 : static unsigned oid_id_secsig_sha_1WithRSAEncryption_variable_num[6] = { 1, 3, 14, 3, 2, 29};
127 : const heim_oid asn1_oid_id_secsig_sha_1WithRSAEncryption = { 6, oid_id_secsig_sha_1WithRSAEncryption_variable_num };
128 :
129 : static unsigned oid_id_nistAlgorithm_variable_num[7] = { 2, 16, 840, 1, 101, 3, 4};
130 : const heim_oid asn1_oid_id_nistAlgorithm = { 7, oid_id_nistAlgorithm_variable_num };
131 :
132 : static unsigned oid_id_nist_aes_algs_variable_num[8] = { 2, 16, 840, 1, 101, 3, 4, 1};
133 : const heim_oid asn1_oid_id_nist_aes_algs = { 8, oid_id_nist_aes_algs_variable_num };
134 :
135 : static unsigned oid_id_aes_128_cbc_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 1, 2};
136 : const heim_oid asn1_oid_id_aes_128_cbc = { 9, oid_id_aes_128_cbc_variable_num };
137 :
138 : static unsigned oid_id_aes_192_cbc_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 1, 22};
139 : const heim_oid asn1_oid_id_aes_192_cbc = { 9, oid_id_aes_192_cbc_variable_num };
140 :
141 : static unsigned oid_id_aes_256_cbc_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 1, 42};
142 : const heim_oid asn1_oid_id_aes_256_cbc = { 9, oid_id_aes_256_cbc_variable_num };
143 :
144 : static unsigned oid_id_nist_sha_algs_variable_num[8] = { 2, 16, 840, 1, 101, 3, 4, 2};
145 : const heim_oid asn1_oid_id_nist_sha_algs = { 8, oid_id_nist_sha_algs_variable_num };
146 :
147 : static unsigned oid_id_sha256_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 2, 1};
148 : const heim_oid asn1_oid_id_sha256 = { 9, oid_id_sha256_variable_num };
149 :
150 : static unsigned oid_id_sha224_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 2, 4};
151 : const heim_oid asn1_oid_id_sha224 = { 9, oid_id_sha224_variable_num };
152 :
153 : static unsigned oid_id_sha384_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 2, 2};
154 : const heim_oid asn1_oid_id_sha384 = { 9, oid_id_sha384_variable_num };
155 :
156 : static unsigned oid_id_sha512_variable_num[9] = { 2, 16, 840, 1, 101, 3, 4, 2, 3};
157 : const heim_oid asn1_oid_id_sha512 = { 9, oid_id_sha512_variable_num };
158 :
159 : static unsigned oid_id_dhpublicnumber_variable_num[6] = { 1, 2, 840, 10046, 2, 1};
160 : const heim_oid asn1_oid_id_dhpublicnumber = { 6, oid_id_dhpublicnumber_variable_num };
161 :
162 : static unsigned oid_id_ecPublicKey_variable_num[6] = { 1, 2, 840, 10045, 2, 1};
163 : const heim_oid asn1_oid_id_ecPublicKey = { 6, oid_id_ecPublicKey_variable_num };
164 :
165 : static unsigned oid_id_ecDH_variable_num[5] = { 1, 3, 132, 1, 12};
166 : const heim_oid asn1_oid_id_ecDH = { 5, oid_id_ecDH_variable_num };
167 :
168 : static unsigned oid_id_ecMQV_variable_num[5] = { 1, 3, 132, 1, 13};
169 : const heim_oid asn1_oid_id_ecMQV = { 5, oid_id_ecMQV_variable_num };
170 :
171 : static unsigned oid_id_ecdsa_with_SHA512_variable_num[7] = { 1, 2, 840, 10045, 4, 3, 4};
172 : const heim_oid asn1_oid_id_ecdsa_with_SHA512 = { 7, oid_id_ecdsa_with_SHA512_variable_num };
173 :
174 : static unsigned oid_id_ecdsa_with_SHA384_variable_num[7] = { 1, 2, 840, 10045, 4, 3, 3};
175 : const heim_oid asn1_oid_id_ecdsa_with_SHA384 = { 7, oid_id_ecdsa_with_SHA384_variable_num };
176 :
177 : static unsigned oid_id_ecdsa_with_SHA256_variable_num[7] = { 1, 2, 840, 10045, 4, 3, 2};
178 : const heim_oid asn1_oid_id_ecdsa_with_SHA256 = { 7, oid_id_ecdsa_with_SHA256_variable_num };
179 :
180 : static unsigned oid_id_ecdsa_with_SHA224_variable_num[7] = { 1, 2, 840, 10045, 4, 3, 1};
181 : const heim_oid asn1_oid_id_ecdsa_with_SHA224 = { 7, oid_id_ecdsa_with_SHA224_variable_num };
182 :
183 : static unsigned oid_id_ecdsa_with_SHA1_variable_num[6] = { 1, 2, 840, 10045, 4, 1};
184 : const heim_oid asn1_oid_id_ecdsa_with_SHA1 = { 6, oid_id_ecdsa_with_SHA1_variable_num };
185 :
186 : static unsigned oid_id_ec_group_secp256r1_variable_num[7] = { 1, 2, 840, 10045, 3, 1, 7};
187 : const heim_oid asn1_oid_id_ec_group_secp256r1 = { 7, oid_id_ec_group_secp256r1_variable_num };
188 :
189 : static unsigned oid_id_ec_group_secp160r1_variable_num[5] = { 1, 3, 132, 0, 8};
190 : const heim_oid asn1_oid_id_ec_group_secp160r1 = { 5, oid_id_ec_group_secp160r1_variable_num };
191 :
192 : static unsigned oid_id_ec_group_secp160r2_variable_num[5] = { 1, 3, 132, 0, 30};
193 : const heim_oid asn1_oid_id_ec_group_secp160r2 = { 5, oid_id_ec_group_secp160r2_variable_num };
194 :
195 : static unsigned oid_id_ec_group_secp224r1_variable_num[5] = { 1, 3, 132, 0, 33};
196 : const heim_oid asn1_oid_id_ec_group_secp224r1 = { 5, oid_id_ec_group_secp224r1_variable_num };
197 :
198 : static unsigned oid_id_ec_group_secp384r1_variable_num[5] = { 1, 3, 132, 0, 34};
199 : const heim_oid asn1_oid_id_ec_group_secp384r1 = { 5, oid_id_ec_group_secp384r1_variable_num };
200 :
201 : static unsigned oid_id_ec_group_secp521r1_variable_num[5] = { 1, 3, 132, 0, 35};
202 : const heim_oid asn1_oid_id_ec_group_secp521r1 = { 5, oid_id_ec_group_secp521r1_variable_num };
203 :
204 : static unsigned oid_id_x9_57_variable_num[5] = { 1, 2, 840, 10046, 4};
205 : const heim_oid asn1_oid_id_x9_57 = { 5, oid_id_x9_57_variable_num };
206 :
207 : static unsigned oid_id_dsa_variable_num[6] = { 1, 2, 840, 10046, 4, 1};
208 : const heim_oid asn1_oid_id_dsa = { 6, oid_id_dsa_variable_num };
209 :
210 : static unsigned oid_id_dsa_with_sha1_variable_num[6] = { 1, 2, 840, 10046, 4, 3};
211 : const heim_oid asn1_oid_id_dsa_with_sha1 = { 6, oid_id_dsa_with_sha1_variable_num };
212 :
213 : static unsigned oid_id_x520_at_variable_num[3] = { 2, 5, 4};
214 : const heim_oid asn1_oid_id_x520_at = { 3, oid_id_x520_at_variable_num };
215 :
216 : static unsigned oid_id_at_commonName_variable_num[4] = { 2, 5, 4, 3};
217 : const heim_oid asn1_oid_id_at_commonName = { 4, oid_id_at_commonName_variable_num };
218 :
219 : static unsigned oid_id_at_surname_variable_num[4] = { 2, 5, 4, 4};
220 : const heim_oid asn1_oid_id_at_surname = { 4, oid_id_at_surname_variable_num };
221 :
222 : static unsigned oid_id_at_serialNumber_variable_num[4] = { 2, 5, 4, 5};
223 : const heim_oid asn1_oid_id_at_serialNumber = { 4, oid_id_at_serialNumber_variable_num };
224 :
225 : static unsigned oid_id_at_countryName_variable_num[4] = { 2, 5, 4, 6};
226 : const heim_oid asn1_oid_id_at_countryName = { 4, oid_id_at_countryName_variable_num };
227 :
228 : static unsigned oid_id_at_localityName_variable_num[4] = { 2, 5, 4, 7};
229 : const heim_oid asn1_oid_id_at_localityName = { 4, oid_id_at_localityName_variable_num };
230 :
231 : static unsigned oid_id_at_stateOrProvinceName_variable_num[4] = { 2, 5, 4, 8};
232 : const heim_oid asn1_oid_id_at_stateOrProvinceName = { 4, oid_id_at_stateOrProvinceName_variable_num };
233 :
234 : static unsigned oid_id_at_streetAddress_variable_num[4] = { 2, 5, 4, 9};
235 : const heim_oid asn1_oid_id_at_streetAddress = { 4, oid_id_at_streetAddress_variable_num };
236 :
237 : static unsigned oid_id_at_organizationName_variable_num[4] = { 2, 5, 4, 10};
238 : const heim_oid asn1_oid_id_at_organizationName = { 4, oid_id_at_organizationName_variable_num };
239 :
240 : static unsigned oid_id_at_organizationalUnitName_variable_num[4] = { 2, 5, 4, 11};
241 : const heim_oid asn1_oid_id_at_organizationalUnitName = { 4, oid_id_at_organizationalUnitName_variable_num };
242 :
243 : static unsigned oid_id_at_title_variable_num[4] = { 2, 5, 4, 12};
244 : const heim_oid asn1_oid_id_at_title = { 4, oid_id_at_title_variable_num };
245 :
246 : static unsigned oid_id_at_description_variable_num[4] = { 2, 5, 4, 13};
247 : const heim_oid asn1_oid_id_at_description = { 4, oid_id_at_description_variable_num };
248 :
249 : static unsigned oid_id_at_name_variable_num[4] = { 2, 5, 4, 41};
250 : const heim_oid asn1_oid_id_at_name = { 4, oid_id_at_name_variable_num };
251 :
252 : static unsigned oid_id_at_givenName_variable_num[4] = { 2, 5, 4, 42};
253 : const heim_oid asn1_oid_id_at_givenName = { 4, oid_id_at_givenName_variable_num };
254 :
255 : static unsigned oid_id_at_initials_variable_num[4] = { 2, 5, 4, 43};
256 : const heim_oid asn1_oid_id_at_initials = { 4, oid_id_at_initials_variable_num };
257 :
258 : static unsigned oid_id_at_generationQualifier_variable_num[4] = { 2, 5, 4, 44};
259 : const heim_oid asn1_oid_id_at_generationQualifier = { 4, oid_id_at_generationQualifier_variable_num };
260 :
261 : static unsigned oid_id_at_dnQualifier_variable_num[4] = { 2, 5, 4, 46};
262 : const heim_oid asn1_oid_id_at_dnQualifier = { 4, oid_id_at_dnQualifier_variable_num };
263 :
264 : static unsigned oid_id_at_pseudonym_variable_num[4] = { 2, 5, 4, 65};
265 : const heim_oid asn1_oid_id_at_pseudonym = { 4, oid_id_at_pseudonym_variable_num };
266 :
267 : static unsigned oid_id_Userid_variable_num[7] = { 0, 9, 2342, 19200300, 100, 1, 1};
268 : const heim_oid asn1_oid_id_Userid = { 7, oid_id_Userid_variable_num };
269 :
270 : static unsigned oid_id_domainComponent_variable_num[7] = { 0, 9, 2342, 19200300, 100, 1, 25};
271 : const heim_oid asn1_oid_id_domainComponent = { 7, oid_id_domainComponent_variable_num };
272 :
273 : static unsigned oid_id_at_emailAddress_variable_num[7] = { 1, 2, 840, 113549, 1, 9, 1};
274 : const heim_oid asn1_oid_id_at_emailAddress = { 7, oid_id_at_emailAddress_variable_num };
275 :
276 : static unsigned oid_id_x509_ce_variable_num[3] = { 2, 5, 29};
277 : const heim_oid asn1_oid_id_x509_ce = { 3, oid_id_x509_ce_variable_num };
278 :
279 : extern const struct asn1_template asn1_AlgorithmIdentifier[];
280 : extern const struct asn1_template asn1_AttributeType[];
281 : extern const struct asn1_template asn1_AttributeType[];
282 : extern const struct asn1_template asn1_AttributeValue[];
283 : extern const struct asn1_template asn1_AttributeValue[];
284 : extern const struct asn1_template asn1_DirectoryString[];
285 : extern const struct asn1_template asn1_AttributeValues[];
286 : extern const struct asn1_template asn1_Attribute[];
287 : extern const struct asn1_template asn1_AttributeTypeAndValue[];
288 : extern const struct asn1_template asn1_RelativeDistinguishedName[];
289 : extern const struct asn1_template asn1_RDNSequence[];
290 : extern const struct asn1_template asn1_Name[];
291 : extern const struct asn1_template asn1_CertificateSerialNumber[];
292 : extern const struct asn1_template asn1_CertificateSerialNumber[];
293 : extern const struct asn1_template asn1_Time[];
294 : extern const struct asn1_template asn1_Validity[];
295 : extern const struct asn1_template asn1_UniqueIdentifier[];
296 : extern const struct asn1_template asn1_UniqueIdentifier[];
297 : extern const struct asn1_template asn1_SubjectPublicKeyInfo[];
298 : extern const struct asn1_template asn1_Extensions[];
299 : extern const struct asn1_template asn1_TBSCertificate[];
300 : extern const struct asn1_template asn1_Certificate[];
301 : extern const struct asn1_template asn1_Certificates[];
302 : extern const struct asn1_template asn1_ValidationParms[];
303 : extern const struct asn1_template asn1_DomainParameters[];
304 : extern const struct asn1_template asn1_DHParameter[];
305 : extern const struct asn1_template asn1_DHPublicKey[];
306 : extern const struct asn1_template asn1_DHPublicKey[];
307 : extern const struct asn1_template asn1_GeneralName[];
308 : extern const struct asn1_template asn1_GeneralNames[];
309 : static unsigned oid_id_x509_ce_keyUsage_variable_num[4] = { 2, 5, 29, 15};
310 : const heim_oid asn1_oid_id_x509_ce_keyUsage = { 4, oid_id_x509_ce_keyUsage_variable_num };
311 :
312 : extern const struct asn1_template asn1_KeyUsage[];
313 : extern const struct asn1_template asn1_KeyUsage[];
314 : extern const struct asn1_template asn1_PrivateKeyUsagePeriod[];
315 : extern const struct asn1_template asn1_CertPolicyId[];
316 : extern const struct asn1_template asn1_CertPolicyId[];
317 : extern const struct asn1_template asn1_PolicyQualifierId[];
318 : extern const struct asn1_template asn1_PolicyQualifierId[];
319 : extern const struct asn1_template asn1_PolicyQualifierInfos[];
320 : extern const struct asn1_template asn1_PolicyInformation[];
321 : extern const struct asn1_template asn1_CertificatePolicies[];
322 : extern const struct asn1_template asn1_CPSuri[];
323 : extern const struct asn1_template asn1_CPSuri[];
324 : extern const struct asn1_template asn1_DisplayText[];
325 : extern const struct asn1_template asn1_NoticeReference[];
326 : extern const struct asn1_template asn1_UserNotice[];
327 : extern const struct asn1_template asn1_PolicyMapping[];
328 : extern const struct asn1_template asn1_PolicyMappings[];
329 : static unsigned oid_id_x509_ce_authorityKeyIdentifier_variable_num[4] = { 2, 5, 29, 35};
330 : const heim_oid asn1_oid_id_x509_ce_authorityKeyIdentifier = { 4, oid_id_x509_ce_authorityKeyIdentifier_variable_num };
331 :
332 : extern const struct asn1_template asn1_KeyIdentifier[];
333 : extern const struct asn1_template asn1_KeyIdentifier[];
334 : extern const struct asn1_template asn1_AuthorityKeyIdentifier[];
335 : static unsigned oid_id_x509_ce_subjectKeyIdentifier_variable_num[4] = { 2, 5, 29, 14};
336 : const heim_oid asn1_oid_id_x509_ce_subjectKeyIdentifier = { 4, oid_id_x509_ce_subjectKeyIdentifier_variable_num };
337 :
338 : extern const struct asn1_template asn1_SubjectKeyIdentifier[];
339 : extern const struct asn1_template asn1_SubjectKeyIdentifier[];
340 : static unsigned oid_id_x509_ce_basicConstraints_variable_num[4] = { 2, 5, 29, 19};
341 : const heim_oid asn1_oid_id_x509_ce_basicConstraints = { 4, oid_id_x509_ce_basicConstraints_variable_num };
342 :
343 : extern const struct asn1_template asn1_BasicConstraints[];
344 : static unsigned oid_id_x509_ce_nameConstraints_variable_num[4] = { 2, 5, 29, 30};
345 : const heim_oid asn1_oid_id_x509_ce_nameConstraints = { 4, oid_id_x509_ce_nameConstraints_variable_num };
346 :
347 : extern const struct asn1_template asn1_BaseDistance[];
348 : extern const struct asn1_template asn1_BaseDistance[];
349 : extern const struct asn1_template asn1_GeneralSubtree[];
350 : extern const struct asn1_template asn1_GeneralSubtrees[];
351 : extern const struct asn1_template asn1_NameConstraints[];
352 : static unsigned oid_id_x509_ce_privateKeyUsagePeriod_variable_num[4] = { 2, 5, 29, 16};
353 : const heim_oid asn1_oid_id_x509_ce_privateKeyUsagePeriod = { 4, oid_id_x509_ce_privateKeyUsagePeriod_variable_num };
354 :
355 : static unsigned oid_id_x509_ce_certificatePolicies_variable_num[4] = { 2, 5, 29, 32};
356 : const heim_oid asn1_oid_id_x509_ce_certificatePolicies = { 4, oid_id_x509_ce_certificatePolicies_variable_num };
357 :
358 : static unsigned oid_id_x509_ce_certificatePolicies_anyPolicy_variable_num[5] = { 2, 5, 29, 32, 0};
359 : const heim_oid asn1_oid_id_x509_ce_certificatePolicies_anyPolicy = { 5, oid_id_x509_ce_certificatePolicies_anyPolicy_variable_num };
360 :
361 : static unsigned oid_id_x509_ce_policyMappings_variable_num[4] = { 2, 5, 29, 33};
362 : const heim_oid asn1_oid_id_x509_ce_policyMappings = { 4, oid_id_x509_ce_policyMappings_variable_num };
363 :
364 : static unsigned oid_id_x509_ce_subjectAltName_variable_num[4] = { 2, 5, 29, 17};
365 : const heim_oid asn1_oid_id_x509_ce_subjectAltName = { 4, oid_id_x509_ce_subjectAltName_variable_num };
366 :
367 : static unsigned oid_id_x509_ce_issuerAltName_variable_num[4] = { 2, 5, 29, 18};
368 : const heim_oid asn1_oid_id_x509_ce_issuerAltName = { 4, oid_id_x509_ce_issuerAltName_variable_num };
369 :
370 : static unsigned oid_id_x509_ce_subjectDirectoryAttributes_variable_num[4] = { 2, 5, 29, 9};
371 : const heim_oid asn1_oid_id_x509_ce_subjectDirectoryAttributes = { 4, oid_id_x509_ce_subjectDirectoryAttributes_variable_num };
372 :
373 : static unsigned oid_id_x509_ce_policyConstraints_variable_num[4] = { 2, 5, 29, 36};
374 : const heim_oid asn1_oid_id_x509_ce_policyConstraints = { 4, oid_id_x509_ce_policyConstraints_variable_num };
375 :
376 : static unsigned oid_id_x509_ce_extKeyUsage_variable_num[4] = { 2, 5, 29, 37};
377 : const heim_oid asn1_oid_id_x509_ce_extKeyUsage = { 4, oid_id_x509_ce_extKeyUsage_variable_num };
378 :
379 : static unsigned oid_id_x509_ce_anyExtendedKeyUsage_variable_num[5] = { 2, 5, 29, 37, 0};
380 : const heim_oid asn1_oid_id_x509_ce_anyExtendedKeyUsage = { 5, oid_id_x509_ce_anyExtendedKeyUsage_variable_num };
381 :
382 : extern const struct asn1_template asn1_ExtKeyUsage[];
383 : static unsigned oid_id_x509_ce_cRLReasons_variable_num[4] = { 2, 5, 29, 21};
384 : const heim_oid asn1_oid_id_x509_ce_cRLReasons = { 4, oid_id_x509_ce_cRLReasons_variable_num };
385 :
386 : static unsigned oid_id_x509_ce_cRLDistributionPoints_variable_num[4] = { 2, 5, 29, 31};
387 : const heim_oid asn1_oid_id_x509_ce_cRLDistributionPoints = { 4, oid_id_x509_ce_cRLDistributionPoints_variable_num };
388 :
389 : static unsigned oid_id_x509_ce_deltaCRLIndicator_variable_num[4] = { 2, 5, 29, 27};
390 : const heim_oid asn1_oid_id_x509_ce_deltaCRLIndicator = { 4, oid_id_x509_ce_deltaCRLIndicator_variable_num };
391 :
392 : static unsigned oid_id_x509_ce_issuingDistributionPoint_variable_num[4] = { 2, 5, 29, 28};
393 : const heim_oid asn1_oid_id_x509_ce_issuingDistributionPoint = { 4, oid_id_x509_ce_issuingDistributionPoint_variable_num };
394 :
395 : static unsigned oid_id_x509_ce_holdInstructionCode_variable_num[4] = { 2, 5, 29, 23};
396 : const heim_oid asn1_oid_id_x509_ce_holdInstructionCode = { 4, oid_id_x509_ce_holdInstructionCode_variable_num };
397 :
398 : static unsigned oid_id_x509_ce_invalidityDate_variable_num[4] = { 2, 5, 29, 24};
399 : const heim_oid asn1_oid_id_x509_ce_invalidityDate = { 4, oid_id_x509_ce_invalidityDate_variable_num };
400 :
401 : static unsigned oid_id_x509_ce_certificateIssuer_variable_num[4] = { 2, 5, 29, 29};
402 : const heim_oid asn1_oid_id_x509_ce_certificateIssuer = { 4, oid_id_x509_ce_certificateIssuer_variable_num };
403 :
404 : static unsigned oid_id_x509_ce_inhibitAnyPolicy_variable_num[4] = { 2, 5, 29, 54};
405 : const heim_oid asn1_oid_id_x509_ce_inhibitAnyPolicy = { 4, oid_id_x509_ce_inhibitAnyPolicy_variable_num };
406 :
407 : static unsigned oid_id_heim_ce_pkinit_princ_max_life_variable_num[6] = { 1, 2, 752, 43, 16, 4};
408 : const heim_oid asn1_oid_id_heim_ce_pkinit_princ_max_life = { 6, oid_id_heim_ce_pkinit_princ_max_life_variable_num };
409 :
410 : extern const struct asn1_template asn1_DistributionPointReasonFlags[];
411 : extern const struct asn1_template asn1_DistributionPointReasonFlags[];
412 : extern const struct asn1_template asn1_DistributionPointName[];
413 : extern const struct asn1_template asn1_DistributionPoint[];
414 : extern const struct asn1_template asn1_CRLDistributionPoints[];
415 : extern const struct asn1_template asn1_DSASigValue[];
416 : extern const struct asn1_template asn1_DSAPublicKey[];
417 : extern const struct asn1_template asn1_DSAPublicKey[];
418 : extern const struct asn1_template asn1_DSAParams[];
419 : extern const struct asn1_template asn1_ECPoint[];
420 : extern const struct asn1_template asn1_ECPoint[];
421 : extern const struct asn1_template asn1_ECParameters[];
422 : extern const struct asn1_template asn1_ECDSA_Sig_Value[];
423 : extern const struct asn1_template asn1_RSAPublicKey[];
424 : extern const struct asn1_template asn1_RSAPrivateKey[];
425 : extern const struct asn1_template asn1_DigestInfo[];
426 : extern const struct asn1_template asn1_TBSCRLCertList[];
427 : extern const struct asn1_template asn1_CRLCertificateList[];
428 : static unsigned oid_id_x509_ce_cRLNumber_variable_num[4] = { 2, 5, 29, 20};
429 : const heim_oid asn1_oid_id_x509_ce_cRLNumber = { 4, oid_id_x509_ce_cRLNumber_variable_num };
430 :
431 : static unsigned oid_id_x509_ce_freshestCRL_variable_num[4] = { 2, 5, 29, 46};
432 : const heim_oid asn1_oid_id_x509_ce_freshestCRL = { 4, oid_id_x509_ce_freshestCRL_variable_num };
433 :
434 : static unsigned oid_id_x509_ce_cRLReason_variable_num[4] = { 2, 5, 29, 21};
435 : const heim_oid asn1_oid_id_x509_ce_cRLReason = { 4, oid_id_x509_ce_cRLReason_variable_num };
436 :
437 : extern const struct asn1_template asn1_CRLReason[];
438 : extern const struct asn1_template asn1_CRLReason[];
439 : extern const struct asn1_template asn1_PKIXXmppAddr[];
440 : extern const struct asn1_template asn1_PKIXXmppAddr[];
441 : extern const struct asn1_template asn1_SRVName[];
442 : extern const struct asn1_template asn1_SRVName[];
443 : static unsigned oid_id_pkix_variable_num[7] = { 1, 3, 6, 1, 5, 5, 7};
444 : const heim_oid asn1_oid_id_pkix = { 7, oid_id_pkix_variable_num };
445 :
446 : static unsigned oid_id_pkix_on_variable_num[8] = { 1, 3, 6, 1, 5, 5, 7, 8};
447 : const heim_oid asn1_oid_id_pkix_on = { 8, oid_id_pkix_on_variable_num };
448 :
449 : static unsigned oid_id_pkix_on_xmppAddr_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 8, 5};
450 : const heim_oid asn1_oid_id_pkix_on_xmppAddr = { 9, oid_id_pkix_on_xmppAddr_variable_num };
451 :
452 : static unsigned oid_id_pkix_on_dnsSRV_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 8, 7};
453 : const heim_oid asn1_oid_id_pkix_on_dnsSRV = { 9, oid_id_pkix_on_dnsSRV_variable_num };
454 :
455 : static unsigned oid_id_pkix_on_hardwareModuleName_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 8, 4};
456 : const heim_oid asn1_oid_id_pkix_on_hardwareModuleName = { 9, oid_id_pkix_on_hardwareModuleName_variable_num };
457 :
458 : extern const struct asn1_template asn1_HardwareModuleName[];
459 : static unsigned oid_id_pkix_on_pkinit_san_variable_num[7] = { 1, 3, 6, 1, 5, 2, 2};
460 : const heim_oid asn1_oid_id_pkix_on_pkinit_san = { 7, oid_id_pkix_on_pkinit_san_variable_num };
461 :
462 : extern const struct asn1_template asn1_KRB5PrincipalName[];
463 : static unsigned oid_id_pkix_on_permanentIdentifier_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 8, 3};
464 : const heim_oid asn1_oid_id_pkix_on_permanentIdentifier = { 9, oid_id_pkix_on_permanentIdentifier_variable_num };
465 :
466 : extern const struct asn1_template asn1_PermanentIdentifier[];
467 : static unsigned oid_id_pkix_kp_variable_num[8] = { 1, 3, 6, 1, 5, 5, 7, 3};
468 : const heim_oid asn1_oid_id_pkix_kp = { 8, oid_id_pkix_kp_variable_num };
469 :
470 : static unsigned oid_id_pkix_kp_serverAuth_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 1};
471 : const heim_oid asn1_oid_id_pkix_kp_serverAuth = { 9, oid_id_pkix_kp_serverAuth_variable_num };
472 :
473 : static unsigned oid_id_pkix_kp_clientAuth_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 2};
474 : const heim_oid asn1_oid_id_pkix_kp_clientAuth = { 9, oid_id_pkix_kp_clientAuth_variable_num };
475 :
476 : static unsigned oid_id_pkix_kp_codeSigning_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 3};
477 : const heim_oid asn1_oid_id_pkix_kp_codeSigning = { 9, oid_id_pkix_kp_codeSigning_variable_num };
478 :
479 : static unsigned oid_id_pkix_kp_emailProtection_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 4};
480 : const heim_oid asn1_oid_id_pkix_kp_emailProtection = { 9, oid_id_pkix_kp_emailProtection_variable_num };
481 :
482 : static unsigned oid_id_pkix_kp_ipsecEndSystem_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 5};
483 : const heim_oid asn1_oid_id_pkix_kp_ipsecEndSystem = { 9, oid_id_pkix_kp_ipsecEndSystem_variable_num };
484 :
485 : static unsigned oid_id_pkix_kp_ipsecTunnel_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 6};
486 : const heim_oid asn1_oid_id_pkix_kp_ipsecTunnel = { 9, oid_id_pkix_kp_ipsecTunnel_variable_num };
487 :
488 : static unsigned oid_id_pkix_kp_ipsecUser_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 7};
489 : const heim_oid asn1_oid_id_pkix_kp_ipsecUser = { 9, oid_id_pkix_kp_ipsecUser_variable_num };
490 :
491 : static unsigned oid_id_pkix_kp_timeStamping_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 8};
492 : const heim_oid asn1_oid_id_pkix_kp_timeStamping = { 9, oid_id_pkix_kp_timeStamping_variable_num };
493 :
494 : static unsigned oid_id_pkix_kp_OCSPSigning_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 9};
495 : const heim_oid asn1_oid_id_pkix_kp_OCSPSigning = { 9, oid_id_pkix_kp_OCSPSigning_variable_num };
496 :
497 : static unsigned oid_id_pkix_kp_DVCS_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 10};
498 : const heim_oid asn1_oid_id_pkix_kp_DVCS = { 9, oid_id_pkix_kp_DVCS_variable_num };
499 :
500 : static unsigned oid_id_pkix_kp_ipsecIKE_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 17};
501 : const heim_oid asn1_oid_id_pkix_kp_ipsecIKE = { 9, oid_id_pkix_kp_ipsecIKE_variable_num };
502 :
503 : static unsigned oid_id_pkix_kp_capwapAC_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 18};
504 : const heim_oid asn1_oid_id_pkix_kp_capwapAC = { 9, oid_id_pkix_kp_capwapAC_variable_num };
505 :
506 : static unsigned oid_id_pkix_kp_capwapWTP_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 19};
507 : const heim_oid asn1_oid_id_pkix_kp_capwapWTP = { 9, oid_id_pkix_kp_capwapWTP_variable_num };
508 :
509 : static unsigned oid_id_pkix_kp_sipDomain_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 20};
510 : const heim_oid asn1_oid_id_pkix_kp_sipDomain = { 9, oid_id_pkix_kp_sipDomain_variable_num };
511 :
512 : static unsigned oid_id_pkix_kp_secureShellClient_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 21};
513 : const heim_oid asn1_oid_id_pkix_kp_secureShellClient = { 9, oid_id_pkix_kp_secureShellClient_variable_num };
514 :
515 : static unsigned oid_id_pkix_kp_secureShellServer_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 22};
516 : const heim_oid asn1_oid_id_pkix_kp_secureShellServer = { 9, oid_id_pkix_kp_secureShellServer_variable_num };
517 :
518 : static unsigned oid_id_pkix_kp_sendRouter_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 23};
519 : const heim_oid asn1_oid_id_pkix_kp_sendRouter = { 9, oid_id_pkix_kp_sendRouter_variable_num };
520 :
521 : static unsigned oid_id_pkix_kp_sendProxiedRouter_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 24};
522 : const heim_oid asn1_oid_id_pkix_kp_sendProxiedRouter = { 9, oid_id_pkix_kp_sendProxiedRouter_variable_num };
523 :
524 : static unsigned oid_id_pkix_kp_sendOwner_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 25};
525 : const heim_oid asn1_oid_id_pkix_kp_sendOwner = { 9, oid_id_pkix_kp_sendOwner_variable_num };
526 :
527 : static unsigned oid_id_pkix_kp_sendProxiedOwner_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 26};
528 : const heim_oid asn1_oid_id_pkix_kp_sendProxiedOwner = { 9, oid_id_pkix_kp_sendProxiedOwner_variable_num };
529 :
530 : static unsigned oid_id_pkix_kp_cmcCA_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 27};
531 : const heim_oid asn1_oid_id_pkix_kp_cmcCA = { 9, oid_id_pkix_kp_cmcCA_variable_num };
532 :
533 : static unsigned oid_id_pkix_kp_cmcRA_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 28};
534 : const heim_oid asn1_oid_id_pkix_kp_cmcRA = { 9, oid_id_pkix_kp_cmcRA_variable_num };
535 :
536 : static unsigned oid_id_pkix_kp_cmcArchive_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 29};
537 : const heim_oid asn1_oid_id_pkix_kp_cmcArchive = { 9, oid_id_pkix_kp_cmcArchive_variable_num };
538 :
539 : static unsigned oid_id_pkix_kp_bgpsec_router_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 3, 30};
540 : const heim_oid asn1_oid_id_pkix_kp_bgpsec_router = { 9, oid_id_pkix_kp_bgpsec_router_variable_num };
541 :
542 : static unsigned oid_id_msft_variable_num[7] = { 1, 3, 6, 1, 4, 1, 311};
543 : const heim_oid asn1_oid_id_msft = { 7, oid_id_msft_variable_num };
544 :
545 : static unsigned oid_id_msft_kp_msCodeInd_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 2, 1, 21};
546 : const heim_oid asn1_oid_id_msft_kp_msCodeInd = { 10, oid_id_msft_kp_msCodeInd_variable_num };
547 :
548 : static unsigned oid_id_msft_kp_msCodeCom_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 2, 1, 22};
549 : const heim_oid asn1_oid_id_msft_kp_msCodeCom = { 10, oid_id_msft_kp_msCodeCom_variable_num };
550 :
551 : static unsigned oid_id_msft_kp_msCTLSign_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 10, 3, 1};
552 : const heim_oid asn1_oid_id_msft_kp_msCTLSign = { 10, oid_id_msft_kp_msCTLSign_variable_num };
553 :
554 : static unsigned oid_id_msft_kp_msSGC_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 10, 3, 3};
555 : const heim_oid asn1_oid_id_msft_kp_msSGC = { 10, oid_id_msft_kp_msSGC_variable_num };
556 :
557 : static unsigned oid_id_msft_kp_msEFS_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 10, 3, 4};
558 : const heim_oid asn1_oid_id_msft_kp_msEFS = { 10, oid_id_msft_kp_msEFS_variable_num };
559 :
560 : static unsigned oid_id_msft_kp_msSmartcardLogin_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 20, 2, 2};
561 : const heim_oid asn1_oid_id_msft_kp_msSmartcardLogin = { 10, oid_id_msft_kp_msSmartcardLogin_variable_num };
562 :
563 : static unsigned oid_id_msft_kp_msUPN_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 20, 2, 3};
564 : const heim_oid asn1_oid_id_msft_kp_msUPN = { 10, oid_id_msft_kp_msUPN_variable_num };
565 :
566 : static unsigned oid_id_pkix_pe_variable_num[8] = { 1, 3, 6, 1, 5, 5, 7, 1};
567 : const heim_oid asn1_oid_id_pkix_pe = { 8, oid_id_pkix_pe_variable_num };
568 :
569 : static unsigned oid_id_pkix_pe_authorityInfoAccess_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 1, 1};
570 : const heim_oid asn1_oid_id_pkix_pe_authorityInfoAccess = { 9, oid_id_pkix_pe_authorityInfoAccess_variable_num };
571 :
572 : extern const struct asn1_template asn1_AccessDescription[];
573 : extern const struct asn1_template asn1_AuthorityInfoAccessSyntax[];
574 : static unsigned oid_id_pkix_pe_proxyCertInfo_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 1, 14};
575 : const heim_oid asn1_oid_id_pkix_pe_proxyCertInfo = { 9, oid_id_pkix_pe_proxyCertInfo_variable_num };
576 :
577 : static unsigned oid_id_pkix_pe_subjectInfoAccess_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 1, 11};
578 : const heim_oid asn1_oid_id_pkix_pe_subjectInfoAccess = { 9, oid_id_pkix_pe_subjectInfoAccess_variable_num };
579 :
580 : extern const struct asn1_template asn1_SubjectInfoAccessSyntax[];
581 : static unsigned oid_id_pkix_ppl_variable_num[8] = { 1, 3, 6, 1, 5, 5, 7, 21};
582 : const heim_oid asn1_oid_id_pkix_ppl = { 8, oid_id_pkix_ppl_variable_num };
583 :
584 : static unsigned oid_id_pkix_ppl_anyLanguage_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 21, 0};
585 : const heim_oid asn1_oid_id_pkix_ppl_anyLanguage = { 9, oid_id_pkix_ppl_anyLanguage_variable_num };
586 :
587 : static unsigned oid_id_pkix_ppl_inheritAll_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 21, 1};
588 : const heim_oid asn1_oid_id_pkix_ppl_inheritAll = { 9, oid_id_pkix_ppl_inheritAll_variable_num };
589 :
590 : static unsigned oid_id_pkix_ppl_independent_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 21, 2};
591 : const heim_oid asn1_oid_id_pkix_ppl_independent = { 9, oid_id_pkix_ppl_independent_variable_num };
592 :
593 : extern const struct asn1_template asn1_ProxyPolicy[];
594 : extern const struct asn1_template asn1_ProxyCertInfo[];
595 : static unsigned oid_tcg_variable_num[3] = { 2, 23, 133};
596 : const heim_oid asn1_oid_tcg = { 3, oid_tcg_variable_num };
597 :
598 : static unsigned oid_tcg_attribute_variable_num[4] = { 2, 23, 133, 2};
599 : const heim_oid asn1_oid_tcg_attribute = { 4, oid_tcg_attribute_variable_num };
600 :
601 : static unsigned oid_tcg_kp_variable_num[4] = { 2, 23, 133, 8};
602 : const heim_oid asn1_oid_tcg_kp = { 4, oid_tcg_kp_variable_num };
603 :
604 : static unsigned oid_tcg_at_tpmManufacturer_variable_num[5] = { 2, 23, 133, 2, 1};
605 : const heim_oid asn1_oid_tcg_at_tpmManufacturer = { 5, oid_tcg_at_tpmManufacturer_variable_num };
606 :
607 : static unsigned oid_tcg_at_tpmModel_variable_num[5] = { 2, 23, 133, 2, 2};
608 : const heim_oid asn1_oid_tcg_at_tpmModel = { 5, oid_tcg_at_tpmModel_variable_num };
609 :
610 : static unsigned oid_tcg_at_tpmVersion_variable_num[5] = { 2, 23, 133, 2, 3};
611 : const heim_oid asn1_oid_tcg_at_tpmVersion = { 5, oid_tcg_at_tpmVersion_variable_num };
612 :
613 : static unsigned oid_tcg_at_tpmSpecification_variable_num[5] = { 2, 23, 133, 2, 16};
614 : const heim_oid asn1_oid_tcg_at_tpmSpecification = { 5, oid_tcg_at_tpmSpecification_variable_num };
615 :
616 : static unsigned oid_tcg_at_tpmSecurityAssertions_variable_num[5] = { 2, 23, 133, 2, 18};
617 : const heim_oid asn1_oid_tcg_at_tpmSecurityAssertions = { 5, oid_tcg_at_tpmSecurityAssertions_variable_num };
618 :
619 : static unsigned oid_tcg_kp_EKCertificate_variable_num[5] = { 2, 23, 133, 8, 1};
620 : const heim_oid asn1_oid_tcg_kp_EKCertificate = { 5, oid_tcg_kp_EKCertificate_variable_num };
621 :
622 : static unsigned oid_tcg_tpm20_variable_num[5] = { 2, 23, 133, 1, 2};
623 : const heim_oid asn1_oid_tcg_tpm20 = { 5, oid_tcg_tpm20_variable_num };
624 :
625 : static unsigned oid_tcg_on_ekPermIdSha256_variable_num[5] = { 2, 23, 133, 12, 1};
626 : const heim_oid asn1_oid_tcg_on_ekPermIdSha256 = { 5, oid_tcg_on_ekPermIdSha256_variable_num };
627 :
628 : static unsigned oid_tcg_cap_verifiedTPMResidency_variable_num[6] = { 2, 23, 133, 11, 1, 1};
629 : const heim_oid asn1_oid_tcg_cap_verifiedTPMResidency = { 6, oid_tcg_cap_verifiedTPMResidency_variable_num };
630 :
631 : static unsigned oid_tcg_cap_verifiedTPMFixed_variable_num[6] = { 2, 23, 133, 11, 1, 2};
632 : const heim_oid asn1_oid_tcg_cap_verifiedTPMFixed = { 6, oid_tcg_cap_verifiedTPMFixed_variable_num };
633 :
634 : static unsigned oid_tcg_cap_verifiedTPMRestricted_variable_num[6] = { 2, 23, 133, 11, 1, 3};
635 : const heim_oid asn1_oid_tcg_cap_verifiedTPMRestricted = { 6, oid_tcg_cap_verifiedTPMRestricted_variable_num };
636 :
637 : extern const struct asn1_template asn1_EKGenerationType[];
638 : extern const struct asn1_template asn1_EKGenerationType[];
639 : extern const struct asn1_template asn1_EKGenerationLocation[];
640 : extern const struct asn1_template asn1_EKGenerationLocation[];
641 : extern const struct asn1_template asn1_EKCertificateGenerationLocation[];
642 : extern const struct asn1_template asn1_EKCertificateGenerationLocation[];
643 : extern const struct asn1_template asn1_EvaluationAssuranceLevel[];
644 : extern const struct asn1_template asn1_EvaluationAssuranceLevel[];
645 : extern const struct asn1_template asn1_SecurityLevel[];
646 : extern const struct asn1_template asn1_SecurityLevel[];
647 : extern const struct asn1_template asn1_StrengthOfFunction[];
648 : extern const struct asn1_template asn1_StrengthOfFunction[];
649 : extern const struct asn1_template asn1_URIReference[];
650 : extern const struct asn1_template asn1_EvaluationStatus[];
651 : extern const struct asn1_template asn1_EvaluationStatus[];
652 : extern const struct asn1_template asn1_TPMSpecification[];
653 : extern const struct asn1_template asn1_CommonCriteriaMeasures[];
654 : extern const struct asn1_template asn1_FIPSLevel[];
655 : extern const struct asn1_template asn1_TPMVersion[];
656 : extern const struct asn1_template asn1_TPMVersion[];
657 : extern const struct asn1_template asn1_TPMSecurityAssertions[];
658 : static unsigned oid_id_pkix_on_pkinit_ms_san_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 20, 2, 3};
659 : const heim_oid asn1_oid_id_pkix_on_pkinit_ms_san = { 10, oid_id_pkix_on_pkinit_ms_san_variable_num };
660 :
661 : extern const struct asn1_template asn1_AliasUTF8String[];
662 : extern const struct asn1_template asn1_AliasUTF8String[];
663 : extern const struct asn1_template asn1_AliasIA5String[];
664 : extern const struct asn1_template asn1_AliasIA5String[];
665 : extern const struct asn1_template asn1_AliasPrintableString[];
666 : extern const struct asn1_template asn1_AliasPrintableString[];
667 : extern const struct asn1_template asn1_KnownOtherNameTypes[];
668 : extern const struct asn1_template asn1_OtherName[];
669 : extern const struct asn1_template asn1_X520name[];
670 : extern const struct asn1_template asn1_X520name[];
671 : extern const struct asn1_template asn1_X520CommonName[];
672 : extern const struct asn1_template asn1_X520CommonName[];
673 : extern const struct asn1_template asn1_X520LocalityName[];
674 : extern const struct asn1_template asn1_X520LocalityName[];
675 : extern const struct asn1_template asn1_X520OrganizationName[];
676 : extern const struct asn1_template asn1_X520OrganizationName[];
677 : extern const struct asn1_template asn1_X520StateOrProvinceName[];
678 : extern const struct asn1_template asn1_X520StateOrProvinceName[];
679 : extern const struct asn1_template asn1_X520OrganizationalUnitName[];
680 : extern const struct asn1_template asn1_X520OrganizationalUnitName[];
681 : extern const struct asn1_template asn1_SupportedAttributes[];
682 : extern const struct asn1_template asn1_SingleAttribute[];
683 : extern const struct asn1_template asn1_AttributeSet[];
684 : extern const struct asn1_template asn1_SubjectDirectoryAttributes[];
685 : extern const struct asn1_template asn1_SkipCerts[];
686 : extern const struct asn1_template asn1_SkipCerts[];
687 : extern const struct asn1_template asn1_PolicyConstraints[];
688 : extern const struct asn1_template asn1_HeimPkinitPrincMaxLifeSecs[];
689 : extern const struct asn1_template asn1_HeimPkinitPrincMaxLifeSecs[];
690 : extern const struct asn1_template asn1_CertExtensions[];
691 : extern const struct asn1_template asn1_Extension[];
692 : static unsigned oid_id_uspkicommon_card_id_variable_num[8] = { 2, 16, 840, 1, 101, 3, 6, 6};
693 : const heim_oid asn1_oid_id_uspkicommon_card_id = { 8, oid_id_uspkicommon_card_id_variable_num };
694 :
695 : static unsigned oid_id_uspkicommon_piv_interim_variable_num[9] = { 2, 16, 840, 1, 101, 3, 6, 9, 1};
696 : const heim_oid asn1_oid_id_uspkicommon_piv_interim = { 9, oid_id_uspkicommon_piv_interim_variable_num };
697 :
698 : static unsigned oid_id_netscape_variable_num[5] = { 2, 16, 840, 1, 113730};
699 : const heim_oid asn1_oid_id_netscape = { 5, oid_id_netscape_variable_num };
700 :
701 : static unsigned oid_id_netscape_cert_comment_variable_num[7] = { 2, 16, 840, 1, 113730, 1, 13};
702 : const heim_oid asn1_oid_id_netscape_cert_comment = { 7, oid_id_netscape_cert_comment_variable_num };
703 :
704 : static unsigned oid_id_ms_cert_enroll_domaincontroller_variable_num[9] = { 1, 3, 6, 1, 4, 1, 311, 20, 2};
705 : const heim_oid asn1_oid_id_ms_cert_enroll_domaincontroller = { 9, oid_id_ms_cert_enroll_domaincontroller_variable_num };
706 :
707 : static unsigned oid_id_pkix_qt_variable_num[8] = { 1, 3, 6, 1, 5, 5, 7, 2};
708 : const heim_oid asn1_oid_id_pkix_qt = { 8, oid_id_pkix_qt_variable_num };
709 :
710 : static unsigned oid_id_pkix_qt_cps_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 2, 1};
711 : const heim_oid asn1_oid_id_pkix_qt_cps = { 9, oid_id_pkix_qt_cps_variable_num };
712 :
713 : static unsigned oid_id_pkix_qt_unotice_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 2, 2};
714 : const heim_oid asn1_oid_id_pkix_qt_unotice = { 9, oid_id_pkix_qt_unotice_variable_num };
715 :
716 : static unsigned oid_id_pkix_ad_variable_num[8] = { 1, 3, 6, 1, 5, 5, 7, 48};
717 : const heim_oid asn1_oid_id_pkix_ad = { 8, oid_id_pkix_ad_variable_num };
718 :
719 : static unsigned oid_id_pkix_ad_ocsp_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 48, 1};
720 : const heim_oid asn1_oid_id_pkix_ad_ocsp = { 9, oid_id_pkix_ad_ocsp_variable_num };
721 :
722 : static unsigned oid_id_pkix_ad_caIssuers_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 48, 2};
723 : const heim_oid asn1_oid_id_pkix_ad_caIssuers = { 9, oid_id_pkix_ad_caIssuers_variable_num };
724 :
725 : static unsigned oid_id_pkix_ad_timeStamping_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 48, 3};
726 : const heim_oid asn1_oid_id_pkix_ad_timeStamping = { 9, oid_id_pkix_ad_timeStamping_variable_num };
727 :
728 : static unsigned oid_id_pkix_ad_caRepository_variable_num[9] = { 1, 3, 6, 1, 5, 5, 7, 48, 5};
729 : const heim_oid asn1_oid_id_pkix_ad_caRepository = { 9, oid_id_pkix_ad_caRepository_variable_num };
730 :
731 : extern const struct asn1_template asn1_KnownPolicyQualifiers[];
732 : extern const struct asn1_template asn1_PolicyQualifierInfo[];
733 : /* template_members: Version exp exp */
734 : const struct asn1_template asn1_Version_enum_names[] = {
735 : /* 0 */ { 0, 0, ((void *)(uintptr_t)3) },
736 : /* 1 */ { A1_OP_NAME, 0, "rfc3280_version_1" },
737 : /* 2 */ { A1_OP_NAME, 1, "rfc3280_version_2" },
738 : /* 3 */ { A1_OP_NAME, 2, "rfc3280_version_3" }
739 : };
740 : /* generate_template_type: Version_tag__0 */
741 : const struct asn1_template asn1_Version_tag__0[] = {
742 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
743 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_Version_enum_names }
744 : };
745 : /* generate_template_type: Version */
746 : const struct asn1_template asn1_Version[] = {
747 : /* 0 */ { 0, sizeof(Version), ((void *)(uintptr_t)1) },
748 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_Version_tag__0 }
749 : };
750 :
751 : int ASN1CALL
752 0 : decode_Version(const unsigned char *p, size_t len, Version *data, size_t *size)
753 : {
754 0 : memset(data, 0, sizeof(*data));
755 0 : return _asn1_decode_top(asn1_Version, 0|0, p, len, data, size);
756 : }
757 :
758 :
759 : int ASN1CALL
760 0 : encode_Version(unsigned char *p, size_t len, const Version *data, size_t *size)
761 : {
762 0 : return _asn1_encode(asn1_Version, p, len, data, size);
763 : }
764 :
765 :
766 : size_t ASN1CALL
767 0 : length_Version(const Version *data)
768 : {
769 0 : return _asn1_length(asn1_Version, data);
770 : }
771 :
772 :
773 : void ASN1CALL
774 0 : free_Version(Version *data)
775 : {
776 0 : _asn1_free_top(asn1_Version, data);
777 0 : }
778 :
779 :
780 : int ASN1CALL
781 0 : copy_Version(const Version *from, Version *to)
782 : {
783 0 : return _asn1_copy_top(asn1_Version, from, to);
784 : }
785 :
786 :
787 : char * ASN1CALL
788 0 : print_Version(const Version *data, int flags)
789 : {
790 0 : return _asn1_print_top(asn1_Version, flags, data);
791 : }
792 :
793 : /* template_members: AttributeType exp exp */
794 : /* generate_template_type: AttributeType_tag__1 */
795 : const struct asn1_template asn1_AttributeType_tag__1[] = {
796 : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
797 : /* 1 */ { A1_PARSE_T(A1T_OID), 0, NULL }
798 : };
799 : /* generate_template_type: AttributeType */
800 : const struct asn1_template asn1_AttributeType[] = {
801 : /* 0 */ { 0, sizeof(AttributeType), ((void *)(uintptr_t)1) },
802 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), 0, asn1_AttributeType_tag__1 }
803 : };
804 :
805 : int ASN1CALL
806 0 : decode_AttributeType(const unsigned char *p, size_t len, AttributeType *data, size_t *size)
807 : {
808 0 : memset(data, 0, sizeof(*data));
809 0 : return _asn1_decode_top(asn1_AttributeType, 0|0, p, len, data, size);
810 : }
811 :
812 :
813 : int ASN1CALL
814 0 : encode_AttributeType(unsigned char *p, size_t len, const AttributeType *data, size_t *size)
815 : {
816 0 : return _asn1_encode(asn1_AttributeType, p, len, data, size);
817 : }
818 :
819 :
820 : size_t ASN1CALL
821 0 : length_AttributeType(const AttributeType *data)
822 : {
823 0 : return _asn1_length(asn1_AttributeType, data);
824 : }
825 :
826 :
827 : void ASN1CALL
828 0 : free_AttributeType(AttributeType *data)
829 : {
830 0 : _asn1_free_top(asn1_AttributeType, data);
831 0 : }
832 :
833 :
834 : int ASN1CALL
835 0 : copy_AttributeType(const AttributeType *from, AttributeType *to)
836 : {
837 0 : return _asn1_copy_top(asn1_AttributeType, from, to);
838 : }
839 :
840 :
841 : char * ASN1CALL
842 0 : print_AttributeType(const AttributeType *data, int flags)
843 : {
844 0 : return _asn1_print_top(asn1_AttributeType, flags, data);
845 : }
846 :
847 : /* template_members: AlgorithmIdentifier exp exp */
848 : /* tsequence: members isstruct: 1 */
849 : /* template_members: AlgorithmIdentifier exp exp */
850 : /* generate_template_type: AlgorithmIdentifier_tag_algorithm_3 */
851 : /* generate_template_type: AlgorithmIdentifier_tag__2 */
852 : const struct asn1_template asn1_AlgorithmIdentifier_tag__2[] = {
853 : /* 0 */ { 0, sizeof(struct AlgorithmIdentifier), ((void *)(uintptr_t)5) },
854 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct AlgorithmIdentifier, algorithm), asn1_AttributeType_tag__1 },
855 : /* 2 */ { A1_OP_TYPE_EXTERN |A1_FLAG_OPTIONAL, offsetof(struct AlgorithmIdentifier, parameters), &asn1_extern_HEIM_ANY},
856 : /* 3 */ { A1_OP_NAME, 0, "AlgorithmIdentifier" },
857 : /* 4 */ { A1_OP_NAME, 0, "algorithm" },
858 : /* 5 */ { A1_OP_NAME, 0, "parameters" }
859 : };
860 : /* generate_template_type: AlgorithmIdentifier */
861 : const struct asn1_template asn1_AlgorithmIdentifier[] = {
862 : /* 0 */ { 0, sizeof(AlgorithmIdentifier), ((void *)(uintptr_t)1) },
863 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AlgorithmIdentifier_tag__2 }
864 : };
865 :
866 : int ASN1CALL
867 498 : decode_AlgorithmIdentifier(const unsigned char *p, size_t len, AlgorithmIdentifier *data, size_t *size)
868 : {
869 498 : memset(data, 0, sizeof(*data));
870 498 : return _asn1_decode_top(asn1_AlgorithmIdentifier, 0|0, p, len, data, size);
871 : }
872 :
873 :
874 : int ASN1CALL
875 2221 : encode_AlgorithmIdentifier(unsigned char *p, size_t len, const AlgorithmIdentifier *data, size_t *size)
876 : {
877 2221 : return _asn1_encode(asn1_AlgorithmIdentifier, p, len, data, size);
878 : }
879 :
880 :
881 : size_t ASN1CALL
882 2437 : length_AlgorithmIdentifier(const AlgorithmIdentifier *data)
883 : {
884 2437 : return _asn1_length(asn1_AlgorithmIdentifier, data);
885 : }
886 :
887 :
888 : void ASN1CALL
889 3231 : free_AlgorithmIdentifier(AlgorithmIdentifier *data)
890 : {
891 3231 : _asn1_free_top(asn1_AlgorithmIdentifier, data);
892 3231 : }
893 :
894 :
895 : int ASN1CALL
896 2626 : copy_AlgorithmIdentifier(const AlgorithmIdentifier *from, AlgorithmIdentifier *to)
897 : {
898 2626 : return _asn1_copy_top(asn1_AlgorithmIdentifier, from, to);
899 : }
900 :
901 :
902 : char * ASN1CALL
903 0 : print_AlgorithmIdentifier(const AlgorithmIdentifier *data, int flags)
904 : {
905 0 : return _asn1_print_top(asn1_AlgorithmIdentifier, flags, data);
906 : }
907 :
908 : /* generate_template_type: AttributeValue */
909 : const struct asn1_template asn1_AttributeValue[] = {
910 : /* 0 */ { 0, sizeof(AttributeValue), ((void *)(uintptr_t)1) },
911 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_HEIM_ANY}
912 : };
913 :
914 : int ASN1CALL
915 0 : decode_AttributeValue(const unsigned char *p, size_t len, AttributeValue *data, size_t *size)
916 : {
917 0 : memset(data, 0, sizeof(*data));
918 0 : return _asn1_decode_top(asn1_AttributeValue, 0|0, p, len, data, size);
919 : }
920 :
921 :
922 : int ASN1CALL
923 0 : encode_AttributeValue(unsigned char *p, size_t len, const AttributeValue *data, size_t *size)
924 : {
925 0 : return _asn1_encode(asn1_AttributeValue, p, len, data, size);
926 : }
927 :
928 :
929 : size_t ASN1CALL
930 0 : length_AttributeValue(const AttributeValue *data)
931 : {
932 0 : return _asn1_length(asn1_AttributeValue, data);
933 : }
934 :
935 :
936 : void ASN1CALL
937 0 : free_AttributeValue(AttributeValue *data)
938 : {
939 0 : _asn1_free_top(asn1_AttributeValue, data);
940 0 : }
941 :
942 :
943 : int ASN1CALL
944 0 : copy_AttributeValue(const AttributeValue *from, AttributeValue *to)
945 : {
946 0 : return _asn1_copy_top(asn1_AttributeValue, from, to);
947 : }
948 :
949 :
950 : char * ASN1CALL
951 0 : print_AttributeValue(const AttributeValue *data, int flags)
952 : {
953 0 : return _asn1_print_top(asn1_AttributeValue, flags, data);
954 : }
955 :
956 : /* template_members: heim_ia5_string exp exp */
957 : /* generate_template_type: heim_ia5_string_tag__4 */
958 : const struct asn1_template asn1_heim_ia5_string_tag__4[] = {
959 : /* 0 */ { 0, sizeof(heim_ia5_string), ((void *)(uintptr_t)1) },
960 : /* 1 */ { A1_PARSE_T(A1T_IA5_STRING), 0, NULL }
961 : };
962 : /* generate_template_type: DirectoryString_choice_ia5String */
963 : const struct asn1_template asn1_DirectoryString_choice_ia5String[] = {
964 : /* 0 */ { 0, sizeof(heim_ia5_string), ((void *)(uintptr_t)1) },
965 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String), 0, asn1_heim_ia5_string_tag__4 }
966 : };
967 : /* template_members: heim_general_string exp exp */
968 : /* generate_template_type: heim_general_string_tag__5 */
969 : const struct asn1_template asn1_heim_general_string_tag__5[] = {
970 : /* 0 */ { 0, sizeof(heim_general_string), ((void *)(uintptr_t)1) },
971 : /* 1 */ { A1_PARSE_T(A1T_TELETEX_STRING), 0, NULL }
972 : };
973 : /* generate_template_type: DirectoryString_choice_teletexString */
974 : const struct asn1_template asn1_DirectoryString_choice_teletexString[] = {
975 : /* 0 */ { 0, sizeof(heim_general_string), ((void *)(uintptr_t)1) },
976 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_TeletexString), 0, asn1_heim_general_string_tag__5 }
977 : };
978 : /* template_members: heim_printable_string exp exp */
979 : /* generate_template_type: heim_printable_string_tag__6 */
980 : const struct asn1_template asn1_heim_printable_string_tag__6[] = {
981 : /* 0 */ { 0, sizeof(heim_printable_string), ((void *)(uintptr_t)1) },
982 : /* 1 */ { A1_PARSE_T(A1T_PRINTABLE_STRING), 0, NULL }
983 : };
984 : /* generate_template_type: DirectoryString_choice_printableString */
985 : const struct asn1_template asn1_DirectoryString_choice_printableString[] = {
986 : /* 0 */ { 0, sizeof(heim_printable_string), ((void *)(uintptr_t)1) },
987 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_PrintableString), 0, asn1_heim_printable_string_tag__6 }
988 : };
989 : /* template_members: heim_universal_string exp exp */
990 : /* generate_template_type: heim_universal_string_tag__7 */
991 : const struct asn1_template asn1_heim_universal_string_tag__7[] = {
992 : /* 0 */ { 0, sizeof(heim_universal_string), ((void *)(uintptr_t)1) },
993 : /* 1 */ { A1_PARSE_T(A1T_UNIVERSAL_STRING), 0, NULL }
994 : };
995 : /* generate_template_type: DirectoryString_choice_universalString */
996 : const struct asn1_template asn1_DirectoryString_choice_universalString[] = {
997 : /* 0 */ { 0, sizeof(heim_universal_string), ((void *)(uintptr_t)1) },
998 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UniversalString), 0, asn1_heim_universal_string_tag__7 }
999 : };
1000 : /* template_members: heim_utf8_string exp exp */
1001 : /* generate_template_type: heim_utf8_string_tag__8 */
1002 : const struct asn1_template asn1_heim_utf8_string_tag__8[] = {
1003 : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
1004 : /* 1 */ { A1_PARSE_T(A1T_UTF8_STRING), 0, NULL }
1005 : };
1006 : /* generate_template_type: DirectoryString_choice_utf8String */
1007 : const struct asn1_template asn1_DirectoryString_choice_utf8String[] = {
1008 : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
1009 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_heim_utf8_string_tag__8 }
1010 : };
1011 : /* template_members: heim_bmp_string exp exp */
1012 : /* generate_template_type: heim_bmp_string_tag__9 */
1013 : const struct asn1_template asn1_heim_bmp_string_tag__9[] = {
1014 : /* 0 */ { 0, sizeof(heim_bmp_string), ((void *)(uintptr_t)1) },
1015 : /* 1 */ { A1_PARSE_T(A1T_BMP_STRING), 0, NULL }
1016 : };
1017 : /* generate_template_type: DirectoryString_choice_bmpString */
1018 : const struct asn1_template asn1_DirectoryString_choice_bmpString[] = {
1019 : /* 0 */ { 0, sizeof(heim_bmp_string), ((void *)(uintptr_t)1) },
1020 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BMPString), 0, asn1_heim_bmp_string_tag__9 }
1021 : };
1022 : static const struct asn1_template asn1_choice_DirectoryString_0[] = {
1023 : /* 0 */ { 0, offsetof(DirectoryString, element), ((void *)(uintptr_t)12) },
1024 : /* 1 */ { choice_DirectoryString_ia5String, offsetof(DirectoryString, u.ia5String), asn1_DirectoryString_choice_ia5String },
1025 : /* 2 */ { choice_DirectoryString_teletexString, offsetof(DirectoryString, u.teletexString), asn1_DirectoryString_choice_teletexString },
1026 : /* 3 */ { choice_DirectoryString_printableString, offsetof(DirectoryString, u.printableString), asn1_DirectoryString_choice_printableString },
1027 : /* 4 */ { choice_DirectoryString_universalString, offsetof(DirectoryString, u.universalString), asn1_DirectoryString_choice_universalString },
1028 : /* 5 */ { choice_DirectoryString_utf8String, offsetof(DirectoryString, u.utf8String), asn1_DirectoryString_choice_utf8String },
1029 : /* 6 */ { choice_DirectoryString_bmpString, offsetof(DirectoryString, u.bmpString), asn1_DirectoryString_choice_bmpString },
1030 : /* 7 */ { 0, 0, "ia5String" },
1031 : /* 8 */ { 0, 0, "teletexString" },
1032 : /* 9 */ { 0, 0, "printableString" },
1033 : /* 10 */ { 0, 0, "universalString" },
1034 : /* 11 */ { 0, 0, "utf8String" },
1035 : /* 12 */ { 0, 0, "bmpString" }
1036 : };
1037 : /* generate_template_type: DirectoryString */
1038 : const struct asn1_template asn1_DirectoryString[] = {
1039 : /* 0 */ { 0, sizeof(DirectoryString), ((void *)(uintptr_t)1) },
1040 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DirectoryString_0 }
1041 : };
1042 :
1043 : int ASN1CALL
1044 0 : decode_DirectoryString(const unsigned char *p, size_t len, DirectoryString *data, size_t *size)
1045 : {
1046 0 : memset(data, 0, sizeof(*data));
1047 0 : return _asn1_decode_top(asn1_DirectoryString, 0|0, p, len, data, size);
1048 : }
1049 :
1050 :
1051 : int ASN1CALL
1052 0 : encode_DirectoryString(unsigned char *p, size_t len, const DirectoryString *data, size_t *size)
1053 : {
1054 0 : return _asn1_encode(asn1_DirectoryString, p, len, data, size);
1055 : }
1056 :
1057 :
1058 : size_t ASN1CALL
1059 0 : length_DirectoryString(const DirectoryString *data)
1060 : {
1061 0 : return _asn1_length(asn1_DirectoryString, data);
1062 : }
1063 :
1064 :
1065 : void ASN1CALL
1066 0 : free_DirectoryString(DirectoryString *data)
1067 : {
1068 0 : _asn1_free_top(asn1_DirectoryString, data);
1069 0 : }
1070 :
1071 :
1072 : int ASN1CALL
1073 0 : copy_DirectoryString(const DirectoryString *from, DirectoryString *to)
1074 : {
1075 0 : return _asn1_copy_top(asn1_DirectoryString, from, to);
1076 : }
1077 :
1078 :
1079 : char * ASN1CALL
1080 0 : print_DirectoryString(const DirectoryString *data, int flags)
1081 : {
1082 0 : return _asn1_print_top(asn1_DirectoryString, flags, data);
1083 : }
1084 :
1085 : /* template_members: AttributeValues exp exp */
1086 : /* generate_template_type: AttributeValue_seofTstruct_0 */
1087 : const struct asn1_template asn1_AttributeValue_seofTstruct_0[] = {
1088 : /* 0 */ { 0, sizeof(AttributeValue), ((void *)(uintptr_t)1) },
1089 : /* 1 */ { A1_OP_TYPE , 0, asn1_AttributeValue }
1090 : };
1091 : /* generate_template_type: AttributeValues_tag__10 */
1092 : const struct asn1_template asn1_AttributeValues_tag__10[] = {
1093 : /* 0 */ { 0, sizeof(AttributeValue), ((void *)(uintptr_t)1) },
1094 : /* 1 */ { A1_OP_SETOF, 0, asn1_AttributeValue_seofTstruct_0 }
1095 : };
1096 : /* generate_template_type: AttributeValues */
1097 : const struct asn1_template asn1_AttributeValues[] = {
1098 : /* 0 */ { 0, sizeof(AttributeValues), ((void *)(uintptr_t)1) },
1099 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Set), 0, asn1_AttributeValues_tag__10 }
1100 : };
1101 :
1102 : int ASN1CALL
1103 0 : decode_AttributeValues(const unsigned char *p, size_t len, AttributeValues *data, size_t *size)
1104 : {
1105 0 : memset(data, 0, sizeof(*data));
1106 0 : return _asn1_decode_top(asn1_AttributeValues, 0|0, p, len, data, size);
1107 : }
1108 :
1109 :
1110 : int ASN1CALL
1111 0 : encode_AttributeValues(unsigned char *p, size_t len, const AttributeValues *data, size_t *size)
1112 : {
1113 0 : return _asn1_encode(asn1_AttributeValues, p, len, data, size);
1114 : }
1115 :
1116 :
1117 : size_t ASN1CALL
1118 0 : length_AttributeValues(const AttributeValues *data)
1119 : {
1120 0 : return _asn1_length(asn1_AttributeValues, data);
1121 : }
1122 :
1123 :
1124 : void ASN1CALL
1125 0 : free_AttributeValues(AttributeValues *data)
1126 : {
1127 0 : _asn1_free_top(asn1_AttributeValues, data);
1128 0 : }
1129 :
1130 :
1131 : int ASN1CALL
1132 0 : copy_AttributeValues(const AttributeValues *from, AttributeValues *to)
1133 : {
1134 0 : return _asn1_copy_top(asn1_AttributeValues, from, to);
1135 : }
1136 :
1137 :
1138 : char * ASN1CALL
1139 0 : print_AttributeValues(const AttributeValues *data, int flags)
1140 : {
1141 0 : return _asn1_print_top(asn1_AttributeValues, flags, data);
1142 : }
1143 :
1144 : int ASN1CALL
1145 0 : add_AttributeValues(AttributeValues *data, const AttributeValue *element)
1146 : {
1147 0 : int ret;
1148 0 : void *ptr;
1149 :
1150 0 : ptr = realloc(data->val,
1151 0 : (data->len + 1) * sizeof(data->val[0]));
1152 0 : if (ptr == NULL) return ENOMEM;
1153 0 : data->val = ptr;
1154 :
1155 0 : ret = copy_AttributeValue(element, &data->val[data->len]);
1156 0 : if (ret) return ret;
1157 0 : data->len++;
1158 0 : return 0;
1159 : }
1160 :
1161 : int ASN1CALL
1162 0 : remove_AttributeValues(AttributeValues *data, unsigned int element)
1163 : {
1164 0 : void *ptr;
1165 :
1166 0 : if (data->len == 0 || element >= data->len)
1167 0 : return ASN1_OVERRUN;
1168 0 : free_AttributeValue(&data->val[element]);
1169 0 : data->len--;
1170 0 : if (element < data->len)
1171 0 : memmove(&data->val[element], &data->val[element + 1],
1172 0 : sizeof(data->val[0]) * (data->len - element));
1173 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
1174 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
1175 0 : return 0;
1176 : }
1177 :
1178 : /* template_members: Attribute exp exp */
1179 : /* tsequence: members isstruct: 1 */
1180 : /* generate_template_type: Attribute_tag__11 */
1181 : const struct asn1_template asn1_Attribute_tag__11[] = {
1182 : /* 0 */ { 0, sizeof(struct Attribute), ((void *)(uintptr_t)5) },
1183 : /* 1 */ { A1_OP_TYPE , offsetof(struct Attribute, type), asn1_AttributeType },
1184 : /* 2 */ { A1_OP_TYPE , offsetof(struct Attribute, value), asn1_AttributeValues },
1185 : /* 3 */ { A1_OP_NAME, 0, "Attribute" },
1186 : /* 4 */ { A1_OP_NAME, 0, "type" },
1187 : /* 5 */ { A1_OP_NAME, 0, "value" }
1188 : };
1189 : /* generate_template_type: Attribute */
1190 : const struct asn1_template asn1_Attribute[] = {
1191 : /* 0 */ { 0, sizeof(Attribute), ((void *)(uintptr_t)1) },
1192 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_Attribute_tag__11 }
1193 : };
1194 :
1195 : int ASN1CALL
1196 56 : decode_Attribute(const unsigned char *p, size_t len, Attribute *data, size_t *size)
1197 : {
1198 56 : memset(data, 0, sizeof(*data));
1199 56 : return _asn1_decode_top(asn1_Attribute, 0|0, p, len, data, size);
1200 : }
1201 :
1202 :
1203 : int ASN1CALL
1204 300 : encode_Attribute(unsigned char *p, size_t len, const Attribute *data, size_t *size)
1205 : {
1206 300 : return _asn1_encode(asn1_Attribute, p, len, data, size);
1207 : }
1208 :
1209 :
1210 : size_t ASN1CALL
1211 844 : length_Attribute(const Attribute *data)
1212 : {
1213 844 : return _asn1_length(asn1_Attribute, data);
1214 : }
1215 :
1216 :
1217 : void ASN1CALL
1218 178 : free_Attribute(Attribute *data)
1219 : {
1220 178 : _asn1_free_top(asn1_Attribute, data);
1221 178 : }
1222 :
1223 :
1224 : int ASN1CALL
1225 0 : copy_Attribute(const Attribute *from, Attribute *to)
1226 : {
1227 0 : return _asn1_copy_top(asn1_Attribute, from, to);
1228 : }
1229 :
1230 :
1231 : char * ASN1CALL
1232 0 : print_Attribute(const Attribute *data, int flags)
1233 : {
1234 0 : return _asn1_print_top(asn1_Attribute, flags, data);
1235 : }
1236 :
1237 : /* template_members: AttributeTypeAndValue exp exp */
1238 : /* tsequence: members isstruct: 1 */
1239 : /* generate_template_type: AttributeTypeAndValue_tag__12 */
1240 : const struct asn1_template asn1_AttributeTypeAndValue_tag__12[] = {
1241 : /* 0 */ { 0, sizeof(struct AttributeTypeAndValue), ((void *)(uintptr_t)5) },
1242 : /* 1 */ { A1_OP_TYPE , offsetof(struct AttributeTypeAndValue, type), asn1_AttributeType },
1243 : /* 2 */ { A1_OP_TYPE , offsetof(struct AttributeTypeAndValue, value), asn1_DirectoryString },
1244 : /* 3 */ { A1_OP_NAME, 0, "AttributeTypeAndValue" },
1245 : /* 4 */ { A1_OP_NAME, 0, "type" },
1246 : /* 5 */ { A1_OP_NAME, 0, "value" }
1247 : };
1248 : /* generate_template_type: AttributeTypeAndValue */
1249 : const struct asn1_template asn1_AttributeTypeAndValue[] = {
1250 : /* 0 */ { 0, sizeof(AttributeTypeAndValue), ((void *)(uintptr_t)1) },
1251 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AttributeTypeAndValue_tag__12 }
1252 : };
1253 :
1254 : int ASN1CALL
1255 0 : decode_AttributeTypeAndValue(const unsigned char *p, size_t len, AttributeTypeAndValue *data, size_t *size)
1256 : {
1257 0 : memset(data, 0, sizeof(*data));
1258 0 : return _asn1_decode_top(asn1_AttributeTypeAndValue, 0|0, p, len, data, size);
1259 : }
1260 :
1261 :
1262 : int ASN1CALL
1263 0 : encode_AttributeTypeAndValue(unsigned char *p, size_t len, const AttributeTypeAndValue *data, size_t *size)
1264 : {
1265 0 : return _asn1_encode(asn1_AttributeTypeAndValue, p, len, data, size);
1266 : }
1267 :
1268 :
1269 : size_t ASN1CALL
1270 0 : length_AttributeTypeAndValue(const AttributeTypeAndValue *data)
1271 : {
1272 0 : return _asn1_length(asn1_AttributeTypeAndValue, data);
1273 : }
1274 :
1275 :
1276 : void ASN1CALL
1277 0 : free_AttributeTypeAndValue(AttributeTypeAndValue *data)
1278 : {
1279 0 : _asn1_free_top(asn1_AttributeTypeAndValue, data);
1280 0 : }
1281 :
1282 :
1283 : int ASN1CALL
1284 0 : copy_AttributeTypeAndValue(const AttributeTypeAndValue *from, AttributeTypeAndValue *to)
1285 : {
1286 0 : return _asn1_copy_top(asn1_AttributeTypeAndValue, from, to);
1287 : }
1288 :
1289 :
1290 : char * ASN1CALL
1291 0 : print_AttributeTypeAndValue(const AttributeTypeAndValue *data, int flags)
1292 : {
1293 0 : return _asn1_print_top(asn1_AttributeTypeAndValue, flags, data);
1294 : }
1295 :
1296 : /* template_members: RelativeDistinguishedName exp exp */
1297 : /* generate_template_type: AttributeTypeAndValue_seofTstruct_1 */
1298 : const struct asn1_template asn1_AttributeTypeAndValue_seofTstruct_1[] = {
1299 : /* 0 */ { 0, sizeof(AttributeTypeAndValue), ((void *)(uintptr_t)1) },
1300 : /* 1 */ { A1_OP_TYPE , 0, asn1_AttributeTypeAndValue }
1301 : };
1302 : /* generate_template_type: RelativeDistinguishedName_tag__13 */
1303 : const struct asn1_template asn1_RelativeDistinguishedName_tag__13[] = {
1304 : /* 0 */ { 0, sizeof(AttributeTypeAndValue), ((void *)(uintptr_t)1) },
1305 : /* 1 */ { A1_OP_SETOF, 0, asn1_AttributeTypeAndValue_seofTstruct_1 }
1306 : };
1307 : /* generate_template_type: RelativeDistinguishedName */
1308 : const struct asn1_template asn1_RelativeDistinguishedName[] = {
1309 : /* 0 */ { 0, sizeof(RelativeDistinguishedName), ((void *)(uintptr_t)1) },
1310 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Set), 0, asn1_RelativeDistinguishedName_tag__13 }
1311 : };
1312 :
1313 : int ASN1CALL
1314 0 : decode_RelativeDistinguishedName(const unsigned char *p, size_t len, RelativeDistinguishedName *data, size_t *size)
1315 : {
1316 0 : memset(data, 0, sizeof(*data));
1317 0 : return _asn1_decode_top(asn1_RelativeDistinguishedName, 0|0, p, len, data, size);
1318 : }
1319 :
1320 :
1321 : int ASN1CALL
1322 0 : encode_RelativeDistinguishedName(unsigned char *p, size_t len, const RelativeDistinguishedName *data, size_t *size)
1323 : {
1324 0 : return _asn1_encode(asn1_RelativeDistinguishedName, p, len, data, size);
1325 : }
1326 :
1327 :
1328 : size_t ASN1CALL
1329 0 : length_RelativeDistinguishedName(const RelativeDistinguishedName *data)
1330 : {
1331 0 : return _asn1_length(asn1_RelativeDistinguishedName, data);
1332 : }
1333 :
1334 :
1335 : void ASN1CALL
1336 0 : free_RelativeDistinguishedName(RelativeDistinguishedName *data)
1337 : {
1338 0 : _asn1_free_top(asn1_RelativeDistinguishedName, data);
1339 0 : }
1340 :
1341 :
1342 : int ASN1CALL
1343 0 : copy_RelativeDistinguishedName(const RelativeDistinguishedName *from, RelativeDistinguishedName *to)
1344 : {
1345 0 : return _asn1_copy_top(asn1_RelativeDistinguishedName, from, to);
1346 : }
1347 :
1348 :
1349 : char * ASN1CALL
1350 0 : print_RelativeDistinguishedName(const RelativeDistinguishedName *data, int flags)
1351 : {
1352 0 : return _asn1_print_top(asn1_RelativeDistinguishedName, flags, data);
1353 : }
1354 :
1355 : /* template_members: RDNSequence exp exp */
1356 : /* generate_template_type: RelativeDistinguishedName_seofTstruct_2 */
1357 : const struct asn1_template asn1_RelativeDistinguishedName_seofTstruct_2[] = {
1358 : /* 0 */ { 0, sizeof(RelativeDistinguishedName), ((void *)(uintptr_t)1) },
1359 : /* 1 */ { A1_OP_TYPE , 0, asn1_RelativeDistinguishedName }
1360 : };
1361 : /* generate_template_type: RDNSequence_tag__14 */
1362 : const struct asn1_template asn1_RDNSequence_tag__14[] = {
1363 : /* 0 */ { 0, sizeof(RelativeDistinguishedName), ((void *)(uintptr_t)1) },
1364 : /* 1 */ { A1_OP_SEQOF, 0, asn1_RelativeDistinguishedName_seofTstruct_2 }
1365 : };
1366 : /* generate_template_type: RDNSequence */
1367 : const struct asn1_template asn1_RDNSequence[] = {
1368 : /* 0 */ { 0, sizeof(RDNSequence), ((void *)(uintptr_t)1) },
1369 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_RDNSequence_tag__14 }
1370 : };
1371 :
1372 : int ASN1CALL
1373 0 : decode_RDNSequence(const unsigned char *p, size_t len, RDNSequence *data, size_t *size)
1374 : {
1375 0 : memset(data, 0, sizeof(*data));
1376 0 : return _asn1_decode_top(asn1_RDNSequence, 0|0, p, len, data, size);
1377 : }
1378 :
1379 :
1380 : int ASN1CALL
1381 0 : encode_RDNSequence(unsigned char *p, size_t len, const RDNSequence *data, size_t *size)
1382 : {
1383 0 : return _asn1_encode(asn1_RDNSequence, p, len, data, size);
1384 : }
1385 :
1386 :
1387 : size_t ASN1CALL
1388 0 : length_RDNSequence(const RDNSequence *data)
1389 : {
1390 0 : return _asn1_length(asn1_RDNSequence, data);
1391 : }
1392 :
1393 :
1394 : void ASN1CALL
1395 0 : free_RDNSequence(RDNSequence *data)
1396 : {
1397 0 : _asn1_free_top(asn1_RDNSequence, data);
1398 0 : }
1399 :
1400 :
1401 : int ASN1CALL
1402 0 : copy_RDNSequence(const RDNSequence *from, RDNSequence *to)
1403 : {
1404 0 : return _asn1_copy_top(asn1_RDNSequence, from, to);
1405 : }
1406 :
1407 :
1408 : char * ASN1CALL
1409 0 : print_RDNSequence(const RDNSequence *data, int flags)
1410 : {
1411 0 : return _asn1_print_top(asn1_RDNSequence, flags, data);
1412 : }
1413 :
1414 : int ASN1CALL
1415 0 : add_RDNSequence(RDNSequence *data, const RelativeDistinguishedName *element)
1416 : {
1417 0 : int ret;
1418 0 : void *ptr;
1419 :
1420 0 : ptr = realloc(data->val,
1421 0 : (data->len + 1) * sizeof(data->val[0]));
1422 0 : if (ptr == NULL) return ENOMEM;
1423 0 : data->val = ptr;
1424 :
1425 0 : ret = copy_RelativeDistinguishedName(element, &data->val[data->len]);
1426 0 : if (ret) return ret;
1427 0 : data->len++;
1428 0 : return 0;
1429 : }
1430 :
1431 : int ASN1CALL
1432 0 : remove_RDNSequence(RDNSequence *data, unsigned int element)
1433 : {
1434 0 : void *ptr;
1435 :
1436 0 : if (data->len == 0 || element >= data->len)
1437 0 : return ASN1_OVERRUN;
1438 0 : free_RelativeDistinguishedName(&data->val[element]);
1439 0 : data->len--;
1440 0 : if (element < data->len)
1441 0 : memmove(&data->val[element], &data->val[element + 1],
1442 0 : sizeof(data->val[0]) * (data->len - element));
1443 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
1444 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
1445 0 : return 0;
1446 : }
1447 :
1448 : /* generate_template_type: Name_choice_rdnSequence */
1449 : const struct asn1_template asn1_Name_choice_rdnSequence[] = {
1450 : /* 0 */ { 0, sizeof(RDNSequence), ((void *)(uintptr_t)1) },
1451 : /* 1 */ { A1_OP_TYPE , 0, asn1_RDNSequence }
1452 : };
1453 : static const struct asn1_template asn1_choice_Name_1[] = {
1454 : /* 0 */ { 0, offsetof(Name, element), ((void *)(uintptr_t)2) },
1455 : /* 1 */ { choice_Name_rdnSequence, offsetof(Name, u.rdnSequence), asn1_Name_choice_rdnSequence },
1456 : /* 2 */ { 0, 0, "rdnSequence" }
1457 : };
1458 : /* generate_template_type: Name */
1459 : const struct asn1_template asn1_Name[] = {
1460 : /* 0 */ { 0|A1_HF_PRESERVE, sizeof(Name), ((void *)(uintptr_t)1) },
1461 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_Name_1 }
1462 : };
1463 :
1464 : int ASN1CALL
1465 15 : decode_Name(const unsigned char *p, size_t len, Name *data, size_t *size)
1466 : {
1467 15 : memset(data, 0, sizeof(*data));
1468 15 : return _asn1_decode_top(asn1_Name, 0|0, p, len, data, size);
1469 : }
1470 :
1471 :
1472 : int ASN1CALL
1473 121 : encode_Name(unsigned char *p, size_t len, const Name *data, size_t *size)
1474 : {
1475 121 : return _asn1_encode(asn1_Name, p, len, data, size);
1476 : }
1477 :
1478 :
1479 : size_t ASN1CALL
1480 121 : length_Name(const Name *data)
1481 : {
1482 121 : return _asn1_length(asn1_Name, data);
1483 : }
1484 :
1485 :
1486 : void ASN1CALL
1487 653 : free_Name(Name *data)
1488 : {
1489 653 : _asn1_free_top(asn1_Name, data);
1490 653 : }
1491 :
1492 :
1493 : int ASN1CALL
1494 490 : copy_Name(const Name *from, Name *to)
1495 : {
1496 490 : return _asn1_copy_top(asn1_Name, from, to);
1497 : }
1498 :
1499 :
1500 : char * ASN1CALL
1501 0 : print_Name(const Name *data, int flags)
1502 : {
1503 0 : return _asn1_print_top(asn1_Name, flags, data);
1504 : }
1505 :
1506 : /* template_members: CertificateSerialNumber exp exp */
1507 : /* generate_template_type: CertificateSerialNumber_tag__15 */
1508 : const struct asn1_template asn1_CertificateSerialNumber_tag__15[] = {
1509 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
1510 : /* 1 */ { A1_PARSE_T(A1T_HEIM_INTEGER), 0, NULL }
1511 : };
1512 : /* generate_template_type: CertificateSerialNumber */
1513 : const struct asn1_template asn1_CertificateSerialNumber[] = {
1514 : /* 0 */ { 0, sizeof(CertificateSerialNumber), ((void *)(uintptr_t)1) },
1515 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_CertificateSerialNumber_tag__15 }
1516 : };
1517 :
1518 : int ASN1CALL
1519 15 : decode_CertificateSerialNumber(const unsigned char *p, size_t len, CertificateSerialNumber *data, size_t *size)
1520 : {
1521 15 : memset(data, 0, sizeof(*data));
1522 15 : return _asn1_decode_top(asn1_CertificateSerialNumber, 0|0, p, len, data, size);
1523 : }
1524 :
1525 :
1526 : int ASN1CALL
1527 121 : encode_CertificateSerialNumber(unsigned char *p, size_t len, const CertificateSerialNumber *data, size_t *size)
1528 : {
1529 121 : return _asn1_encode(asn1_CertificateSerialNumber, p, len, data, size);
1530 : }
1531 :
1532 :
1533 : size_t ASN1CALL
1534 121 : length_CertificateSerialNumber(const CertificateSerialNumber *data)
1535 : {
1536 121 : return _asn1_length(asn1_CertificateSerialNumber, data);
1537 : }
1538 :
1539 :
1540 : void ASN1CALL
1541 210 : free_CertificateSerialNumber(CertificateSerialNumber *data)
1542 : {
1543 210 : _asn1_free_top(asn1_CertificateSerialNumber, data);
1544 210 : }
1545 :
1546 :
1547 : int ASN1CALL
1548 0 : copy_CertificateSerialNumber(const CertificateSerialNumber *from, CertificateSerialNumber *to)
1549 : {
1550 0 : return _asn1_copy_top(asn1_CertificateSerialNumber, from, to);
1551 : }
1552 :
1553 :
1554 : char * ASN1CALL
1555 0 : print_CertificateSerialNumber(const CertificateSerialNumber *data, int flags)
1556 : {
1557 0 : return _asn1_print_top(asn1_CertificateSerialNumber, flags, data);
1558 : }
1559 :
1560 : /* template_members: time_t exp exp */
1561 : /* generate_template_type: time_t_tag__16 */
1562 : const struct asn1_template asn1_time_t_tag__16[] = {
1563 : /* 0 */ { 0, sizeof(time_t), ((void *)(uintptr_t)1) },
1564 : /* 1 */ { A1_PARSE_T(A1T_UTC_TIME), 0, NULL }
1565 : };
1566 : /* generate_template_type: Time_choice_utcTime */
1567 : const struct asn1_template asn1_Time_choice_utcTime[] = {
1568 : /* 0 */ { 0, sizeof(time_t), ((void *)(uintptr_t)1) },
1569 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTCTime), 0, asn1_time_t_tag__16 }
1570 : };
1571 : /* template_members: time_t exp exp */
1572 : /* generate_template_type: time_t_tag__17 */
1573 : const struct asn1_template asn1_time_t_tag__17[] = {
1574 : /* 0 */ { 0, sizeof(time_t), ((void *)(uintptr_t)1) },
1575 : /* 1 */ { A1_PARSE_T(A1T_GENERALIZED_TIME), 0, NULL }
1576 : };
1577 : /* generate_template_type: Time_choice_generalTime */
1578 : const struct asn1_template asn1_Time_choice_generalTime[] = {
1579 : /* 0 */ { 0, sizeof(time_t), ((void *)(uintptr_t)1) },
1580 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_GeneralizedTime), 0, asn1_time_t_tag__17 }
1581 : };
1582 : static const struct asn1_template asn1_choice_Time_2[] = {
1583 : /* 0 */ { 0, offsetof(Time, element), ((void *)(uintptr_t)4) },
1584 : /* 1 */ { choice_Time_utcTime, offsetof(Time, u.utcTime), asn1_Time_choice_utcTime },
1585 : /* 2 */ { choice_Time_generalTime, offsetof(Time, u.generalTime), asn1_Time_choice_generalTime },
1586 : /* 3 */ { 0, 0, "utcTime" },
1587 : /* 4 */ { 0, 0, "generalTime" }
1588 : };
1589 : /* generate_template_type: Time */
1590 : const struct asn1_template asn1_Time[] = {
1591 : /* 0 */ { 0, sizeof(Time), ((void *)(uintptr_t)1) },
1592 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_Time_2 }
1593 : };
1594 :
1595 : int ASN1CALL
1596 0 : decode_Time(const unsigned char *p, size_t len, Time *data, size_t *size)
1597 : {
1598 0 : memset(data, 0, sizeof(*data));
1599 0 : return _asn1_decode_top(asn1_Time, 0|0, p, len, data, size);
1600 : }
1601 :
1602 :
1603 : int ASN1CALL
1604 0 : encode_Time(unsigned char *p, size_t len, const Time *data, size_t *size)
1605 : {
1606 0 : return _asn1_encode(asn1_Time, p, len, data, size);
1607 : }
1608 :
1609 :
1610 : size_t ASN1CALL
1611 0 : length_Time(const Time *data)
1612 : {
1613 0 : return _asn1_length(asn1_Time, data);
1614 : }
1615 :
1616 :
1617 : void ASN1CALL
1618 0 : free_Time(Time *data)
1619 : {
1620 0 : _asn1_free_top(asn1_Time, data);
1621 0 : }
1622 :
1623 :
1624 : int ASN1CALL
1625 0 : copy_Time(const Time *from, Time *to)
1626 : {
1627 0 : return _asn1_copy_top(asn1_Time, from, to);
1628 : }
1629 :
1630 :
1631 : char * ASN1CALL
1632 0 : print_Time(const Time *data, int flags)
1633 : {
1634 0 : return _asn1_print_top(asn1_Time, flags, data);
1635 : }
1636 :
1637 : /* template_members: Validity exp exp */
1638 : /* tsequence: members isstruct: 1 */
1639 : /* generate_template_type: Validity_tag__18 */
1640 : const struct asn1_template asn1_Validity_tag__18[] = {
1641 : /* 0 */ { 0, sizeof(struct Validity), ((void *)(uintptr_t)5) },
1642 : /* 1 */ { A1_OP_TYPE , offsetof(struct Validity, notBefore), asn1_Time },
1643 : /* 2 */ { A1_OP_TYPE , offsetof(struct Validity, notAfter), asn1_Time },
1644 : /* 3 */ { A1_OP_NAME, 0, "Validity" },
1645 : /* 4 */ { A1_OP_NAME, 0, "notBefore" },
1646 : /* 5 */ { A1_OP_NAME, 0, "notAfter" }
1647 : };
1648 : /* generate_template_type: Validity */
1649 : const struct asn1_template asn1_Validity[] = {
1650 : /* 0 */ { 0, sizeof(Validity), ((void *)(uintptr_t)1) },
1651 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_Validity_tag__18 }
1652 : };
1653 :
1654 : int ASN1CALL
1655 0 : decode_Validity(const unsigned char *p, size_t len, Validity *data, size_t *size)
1656 : {
1657 0 : memset(data, 0, sizeof(*data));
1658 0 : return _asn1_decode_top(asn1_Validity, 0|0, p, len, data, size);
1659 : }
1660 :
1661 :
1662 : int ASN1CALL
1663 0 : encode_Validity(unsigned char *p, size_t len, const Validity *data, size_t *size)
1664 : {
1665 0 : return _asn1_encode(asn1_Validity, p, len, data, size);
1666 : }
1667 :
1668 :
1669 : size_t ASN1CALL
1670 0 : length_Validity(const Validity *data)
1671 : {
1672 0 : return _asn1_length(asn1_Validity, data);
1673 : }
1674 :
1675 :
1676 : void ASN1CALL
1677 0 : free_Validity(Validity *data)
1678 : {
1679 0 : _asn1_free_top(asn1_Validity, data);
1680 0 : }
1681 :
1682 :
1683 : int ASN1CALL
1684 0 : copy_Validity(const Validity *from, Validity *to)
1685 : {
1686 0 : return _asn1_copy_top(asn1_Validity, from, to);
1687 : }
1688 :
1689 :
1690 : char * ASN1CALL
1691 0 : print_Validity(const Validity *data, int flags)
1692 : {
1693 0 : return _asn1_print_top(asn1_Validity, flags, data);
1694 : }
1695 :
1696 : /* template_members: UniqueIdentifier exp exp */
1697 : /* generate_template_type: UniqueIdentifier_tag__19 */
1698 : const struct asn1_template asn1_UniqueIdentifier_tag__19[] = {
1699 : /* 0 */ { 0, sizeof(UniqueIdentifier), ((void *)(uintptr_t)1) },
1700 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
1701 : };
1702 : /* generate_template_type: UniqueIdentifier */
1703 : const struct asn1_template asn1_UniqueIdentifier[] = {
1704 : /* 0 */ { 0, sizeof(UniqueIdentifier), ((void *)(uintptr_t)1) },
1705 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_UniqueIdentifier_tag__19 }
1706 : };
1707 :
1708 : int ASN1CALL
1709 0 : decode_UniqueIdentifier(const unsigned char *p, size_t len, UniqueIdentifier *data, size_t *size)
1710 : {
1711 0 : memset(data, 0, sizeof(*data));
1712 0 : return _asn1_decode_top(asn1_UniqueIdentifier, 0|0, p, len, data, size);
1713 : }
1714 :
1715 :
1716 : int ASN1CALL
1717 0 : encode_UniqueIdentifier(unsigned char *p, size_t len, const UniqueIdentifier *data, size_t *size)
1718 : {
1719 0 : return _asn1_encode(asn1_UniqueIdentifier, p, len, data, size);
1720 : }
1721 :
1722 :
1723 : size_t ASN1CALL
1724 0 : length_UniqueIdentifier(const UniqueIdentifier *data)
1725 : {
1726 0 : return _asn1_length(asn1_UniqueIdentifier, data);
1727 : }
1728 :
1729 :
1730 : void ASN1CALL
1731 0 : free_UniqueIdentifier(UniqueIdentifier *data)
1732 : {
1733 0 : _asn1_free_top(asn1_UniqueIdentifier, data);
1734 0 : }
1735 :
1736 :
1737 : int ASN1CALL
1738 0 : copy_UniqueIdentifier(const UniqueIdentifier *from, UniqueIdentifier *to)
1739 : {
1740 0 : return _asn1_copy_top(asn1_UniqueIdentifier, from, to);
1741 : }
1742 :
1743 :
1744 : char * ASN1CALL
1745 0 : print_UniqueIdentifier(const UniqueIdentifier *data, int flags)
1746 : {
1747 0 : return _asn1_print_top(asn1_UniqueIdentifier, flags, data);
1748 : }
1749 :
1750 : /* template_members: SubjectPublicKeyInfo exp exp */
1751 : /* tsequence: members isstruct: 1 */
1752 : /* template_members: SubjectPublicKeyInfo exp exp */
1753 : /* generate_template_type: SubjectPublicKeyInfo_tag_subjectPublicKey_21 */
1754 : const struct asn1_template asn1_SubjectPublicKeyInfo_tag_subjectPublicKey_21[] = {
1755 : /* 0 */ { 0, sizeof(SubjectPublicKeyInfo), ((void *)(uintptr_t)1) },
1756 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
1757 : };
1758 : /* generate_template_type: SubjectPublicKeyInfo_tag__20 */
1759 : const struct asn1_template asn1_SubjectPublicKeyInfo_tag__20[] = {
1760 : /* 0 */ { 0, sizeof(struct SubjectPublicKeyInfo), ((void *)(uintptr_t)5) },
1761 : /* 1 */ { A1_OP_TYPE , offsetof(struct SubjectPublicKeyInfo, algorithm), asn1_AlgorithmIdentifier },
1762 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), offsetof(struct SubjectPublicKeyInfo, subjectPublicKey), asn1_SubjectPublicKeyInfo_tag_subjectPublicKey_21 },
1763 : /* 3 */ { A1_OP_NAME, 0, "SubjectPublicKeyInfo" },
1764 : /* 4 */ { A1_OP_NAME, 0, "algorithm" },
1765 : /* 5 */ { A1_OP_NAME, 0, "subjectPublicKey" }
1766 : };
1767 : /* generate_template_type: SubjectPublicKeyInfo */
1768 : const struct asn1_template asn1_SubjectPublicKeyInfo[] = {
1769 : /* 0 */ { 0, sizeof(SubjectPublicKeyInfo), ((void *)(uintptr_t)1) },
1770 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_SubjectPublicKeyInfo_tag__20 }
1771 : };
1772 :
1773 : int ASN1CALL
1774 32 : decode_SubjectPublicKeyInfo(const unsigned char *p, size_t len, SubjectPublicKeyInfo *data, size_t *size)
1775 : {
1776 32 : memset(data, 0, sizeof(*data));
1777 32 : return _asn1_decode_top(asn1_SubjectPublicKeyInfo, 0|0, p, len, data, size);
1778 : }
1779 :
1780 :
1781 : int ASN1CALL
1782 124 : encode_SubjectPublicKeyInfo(unsigned char *p, size_t len, const SubjectPublicKeyInfo *data, size_t *size)
1783 : {
1784 124 : return _asn1_encode(asn1_SubjectPublicKeyInfo, p, len, data, size);
1785 : }
1786 :
1787 :
1788 : size_t ASN1CALL
1789 124 : length_SubjectPublicKeyInfo(const SubjectPublicKeyInfo *data)
1790 : {
1791 124 : return _asn1_length(asn1_SubjectPublicKeyInfo, data);
1792 : }
1793 :
1794 :
1795 : void ASN1CALL
1796 156 : free_SubjectPublicKeyInfo(SubjectPublicKeyInfo *data)
1797 : {
1798 156 : _asn1_free_top(asn1_SubjectPublicKeyInfo, data);
1799 156 : }
1800 :
1801 :
1802 : int ASN1CALL
1803 0 : copy_SubjectPublicKeyInfo(const SubjectPublicKeyInfo *from, SubjectPublicKeyInfo *to)
1804 : {
1805 0 : return _asn1_copy_top(asn1_SubjectPublicKeyInfo, from, to);
1806 : }
1807 :
1808 :
1809 : char * ASN1CALL
1810 0 : print_SubjectPublicKeyInfo(const SubjectPublicKeyInfo *data, int flags)
1811 : {
1812 0 : return _asn1_print_top(asn1_SubjectPublicKeyInfo, flags, data);
1813 : }
1814 :
1815 : /* template_members: Extension exp exp */
1816 : /* tsequence: members isstruct: 1 */
1817 : /* template_members: Extension exp exp */
1818 : /* generate_template_type: Extension_tag_extnID_23 */
1819 : /* template_members: Extension exp exp */
1820 : /* generate_template_type: Extension_tag_critical_24 */
1821 : const struct asn1_template asn1_Extension_tag_critical_24[] = {
1822 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
1823 : /* 1 */ { A1_PARSE_T(A1T_BOOLEAN), 0, NULL }
1824 : };
1825 : /* template_members: Extension exp exp */
1826 : /* generate_template_type: Extension_tag_extnValue_25 */
1827 : const struct asn1_template asn1_Extension_tag_extnValue_25[] = {
1828 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
1829 : /* 1 */ { A1_PARSE_T(A1T_OCTET_STRING), 0, NULL }
1830 : };
1831 : const struct asn1_template asn1_CertExtensions[] = {
1832 : /* 0 */ { 0, 0, ((void *)(uintptr_t)20) },
1833 : /* 1 */ { A1_OP_NAME, 0, "CertExtensions" },
1834 : /* 2 */ { A1_OP_NAME, 0, "ext-HeimPkinitPrincMaxLife" },
1835 : /* 3 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_heim_ce_pkinit_princ_max_life },
1836 : /* 4 */ { A1_OP_OPENTYPE, sizeof(HeimPkinitPrincMaxLifeSecs), (const void *)&asn1_HeimPkinitPrincMaxLifeSecs },
1837 : /* 5 */ { A1_OP_NAME, 0, "ext-AuthorityInfoAccess" },
1838 : /* 6 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_pe_authorityInfoAccess },
1839 : /* 7 */ { A1_OP_OPENTYPE, sizeof(AuthorityInfoAccessSyntax), (const void *)&asn1_AuthorityInfoAccessSyntax },
1840 : /* 8 */ { A1_OP_NAME, 0, "ext-SubjectInfoAccessSyntax" },
1841 : /* 9 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_pe_subjectInfoAccess },
1842 : /* 10 */ { A1_OP_OPENTYPE, sizeof(SubjectInfoAccessSyntax), (const void *)&asn1_SubjectInfoAccessSyntax },
1843 : /* 11 */ { A1_OP_NAME, 0, "ext-ProxyCertInfo" },
1844 : /* 12 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_pe_proxyCertInfo },
1845 : /* 13 */ { A1_OP_OPENTYPE, sizeof(ProxyCertInfo), (const void *)&asn1_ProxyCertInfo },
1846 : /* 14 */ { A1_OP_NAME, 0, "ext-SubjectDirectoryAttributes" },
1847 : /* 15 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_subjectDirectoryAttributes },
1848 : /* 16 */ { A1_OP_OPENTYPE, sizeof(SubjectDirectoryAttributes), (const void *)&asn1_SubjectDirectoryAttributes },
1849 : /* 17 */ { A1_OP_NAME, 0, "ext-SubjectKeyIdentifier" },
1850 : /* 18 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_subjectKeyIdentifier },
1851 : /* 19 */ { A1_OP_OPENTYPE, sizeof(SubjectKeyIdentifier), (const void *)&asn1_SubjectKeyIdentifier },
1852 : /* 20 */ { A1_OP_NAME, 0, "ext-KeyUsage" },
1853 : /* 21 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_keyUsage },
1854 : /* 22 */ { A1_OP_OPENTYPE, sizeof(KeyUsage), (const void *)&asn1_KeyUsage },
1855 : /* 23 */ { A1_OP_NAME, 0, "ext-PrivateKeyUsagePeriod" },
1856 : /* 24 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_privateKeyUsagePeriod },
1857 : /* 25 */ { A1_OP_OPENTYPE, sizeof(PrivateKeyUsagePeriod), (const void *)&asn1_PrivateKeyUsagePeriod },
1858 : /* 26 */ { A1_OP_NAME, 0, "ext-SubjectAltName" },
1859 : /* 27 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_subjectAltName },
1860 : /* 28 */ { A1_OP_OPENTYPE, sizeof(GeneralNames), (const void *)&asn1_GeneralNames },
1861 : /* 29 */ { A1_OP_NAME, 0, "ext-IssuerAltName" },
1862 : /* 30 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_issuerAltName },
1863 : /* 31 */ { A1_OP_OPENTYPE, sizeof(GeneralNames), (const void *)&asn1_GeneralNames },
1864 : /* 32 */ { A1_OP_NAME, 0, "ext-BasicConstraints" },
1865 : /* 33 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_basicConstraints },
1866 : /* 34 */ { A1_OP_OPENTYPE, sizeof(BasicConstraints), (const void *)&asn1_BasicConstraints },
1867 : /* 35 */ { A1_OP_NAME, 0, "ext-NameConstraints" },
1868 : /* 36 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_nameConstraints },
1869 : /* 37 */ { A1_OP_OPENTYPE, sizeof(NameConstraints), (const void *)&asn1_NameConstraints },
1870 : /* 38 */ { A1_OP_NAME, 0, "ext-CRLDistributionPoints" },
1871 : /* 39 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_cRLDistributionPoints },
1872 : /* 40 */ { A1_OP_OPENTYPE, sizeof(CRLDistributionPoints), (const void *)&asn1_CRLDistributionPoints },
1873 : /* 41 */ { A1_OP_NAME, 0, "ext-CertificatePolicies" },
1874 : /* 42 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_certificatePolicies },
1875 : /* 43 */ { A1_OP_OPENTYPE, sizeof(CertificatePolicies), (const void *)&asn1_CertificatePolicies },
1876 : /* 44 */ { A1_OP_NAME, 0, "ext-PolicyMappings" },
1877 : /* 45 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_policyMappings },
1878 : /* 46 */ { A1_OP_OPENTYPE, sizeof(PolicyMappings), (const void *)&asn1_PolicyMappings },
1879 : /* 47 */ { A1_OP_NAME, 0, "ext-AuthorityKeyIdentifier" },
1880 : /* 48 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_authorityKeyIdentifier },
1881 : /* 49 */ { A1_OP_OPENTYPE, sizeof(AuthorityKeyIdentifier), (const void *)&asn1_AuthorityKeyIdentifier },
1882 : /* 50 */ { A1_OP_NAME, 0, "ext-PolicyConstraints" },
1883 : /* 51 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_policyConstraints },
1884 : /* 52 */ { A1_OP_OPENTYPE, sizeof(PolicyConstraints), (const void *)&asn1_PolicyConstraints },
1885 : /* 53 */ { A1_OP_NAME, 0, "ext-ExtKeyUsage" },
1886 : /* 54 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_extKeyUsage },
1887 : /* 55 */ { A1_OP_OPENTYPE, sizeof(ExtKeyUsage), (const void *)&asn1_ExtKeyUsage },
1888 : /* 56 */ { A1_OP_NAME, 0, "ext-FreshestCRL" },
1889 : /* 57 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_freshestCRL },
1890 : /* 58 */ { A1_OP_OPENTYPE, sizeof(CRLDistributionPoints), (const void *)&asn1_CRLDistributionPoints },
1891 : /* 59 */ { A1_OP_NAME, 0, "ext-InhibitAnyPolicy" },
1892 : /* 60 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_x509_ce_inhibitAnyPolicy },
1893 : /* 61 */ { A1_OP_OPENTYPE, sizeof(SkipCerts), (const void *)&asn1_SkipCerts }
1894 : };
1895 : /* generate_template_type: Extension_tag__22 */
1896 : const struct asn1_template asn1_Extension_tag__22[] = {
1897 : /* 0 */ { 0, sizeof(struct Extension), ((void *)(uintptr_t)9) },
1898 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct Extension, extnID), asn1_AttributeType_tag__1 },
1899 : /* 2 */ { A1_OP_DEFVAL|A1_DV_BOOLEAN, ~0, (void *)(uintptr_t)0 },
1900 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean)|A1_FLAG_DEFAULT, offsetof(struct Extension, critical), asn1_Extension_tag_critical_24 },
1901 : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), offsetof(struct Extension, extnValue), asn1_Extension_tag_extnValue_25 },
1902 : /* 5 */ { A1_OP_OPENTYPE_OBJSET | A1_OS_IS_SORTED |0 | (2 << 10) | 0, offsetof(Extension, _ioschoice_extnValue), asn1_CertExtensions },
1903 : /* 6 */ { A1_OP_NAME, 0, "Extension" },
1904 : /* 7 */ { A1_OP_NAME, 0, "extnID" },
1905 : /* 8 */ { A1_OP_NAME, 0, "critical" },
1906 : /* 9 */ { A1_OP_NAME, 0, "extnValue" }
1907 : };
1908 : /* generate_template_type: Extension */
1909 : const struct asn1_template asn1_Extension[] = {
1910 : /* 0 */ { 0, sizeof(Extension), ((void *)(uintptr_t)1) },
1911 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_Extension_tag__22 }
1912 : };
1913 :
1914 : int ASN1CALL
1915 0 : decode_Extension(const unsigned char *p, size_t len, Extension *data, size_t *size)
1916 : {
1917 0 : memset(data, 0, sizeof(*data));
1918 0 : return _asn1_decode_top(asn1_Extension, 0|0, p, len, data, size);
1919 : }
1920 :
1921 :
1922 : int ASN1CALL
1923 0 : encode_Extension(unsigned char *p, size_t len, const Extension *data, size_t *size)
1924 : {
1925 0 : return _asn1_encode(asn1_Extension, p, len, data, size);
1926 : }
1927 :
1928 :
1929 : size_t ASN1CALL
1930 0 : length_Extension(const Extension *data)
1931 : {
1932 0 : return _asn1_length(asn1_Extension, data);
1933 : }
1934 :
1935 :
1936 : void ASN1CALL
1937 0 : free_Extension(Extension *data)
1938 : {
1939 0 : _asn1_free_top(asn1_Extension, data);
1940 0 : }
1941 :
1942 :
1943 : int ASN1CALL
1944 0 : copy_Extension(const Extension *from, Extension *to)
1945 : {
1946 0 : return _asn1_copy_top(asn1_Extension, from, to);
1947 : }
1948 :
1949 :
1950 : char * ASN1CALL
1951 0 : print_Extension(const Extension *data, int flags)
1952 : {
1953 0 : return _asn1_print_top(asn1_Extension, flags, data);
1954 : }
1955 :
1956 : /* template_members: Extensions exp exp */
1957 : /* generate_template_type: Extension_seofTstruct_3 */
1958 : const struct asn1_template asn1_Extension_seofTstruct_3[] = {
1959 : /* 0 */ { 0, sizeof(Extension), ((void *)(uintptr_t)1) },
1960 : /* 1 */ { A1_OP_TYPE , 0, asn1_Extension }
1961 : };
1962 : /* generate_template_type: Extensions_tag__26 */
1963 : const struct asn1_template asn1_Extensions_tag__26[] = {
1964 : /* 0 */ { 0, sizeof(Extension), ((void *)(uintptr_t)1) },
1965 : /* 1 */ { A1_OP_SEQOF, 0, asn1_Extension_seofTstruct_3 }
1966 : };
1967 : /* generate_template_type: Extensions */
1968 : const struct asn1_template asn1_Extensions[] = {
1969 : /* 0 */ { 0, sizeof(Extensions), ((void *)(uintptr_t)1) },
1970 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_Extensions_tag__26 }
1971 : };
1972 :
1973 : int ASN1CALL
1974 0 : decode_Extensions(const unsigned char *p, size_t len, Extensions *data, size_t *size)
1975 : {
1976 0 : memset(data, 0, sizeof(*data));
1977 0 : return _asn1_decode_top(asn1_Extensions, 0|0, p, len, data, size);
1978 : }
1979 :
1980 :
1981 : int ASN1CALL
1982 0 : encode_Extensions(unsigned char *p, size_t len, const Extensions *data, size_t *size)
1983 : {
1984 0 : return _asn1_encode(asn1_Extensions, p, len, data, size);
1985 : }
1986 :
1987 :
1988 : size_t ASN1CALL
1989 0 : length_Extensions(const Extensions *data)
1990 : {
1991 0 : return _asn1_length(asn1_Extensions, data);
1992 : }
1993 :
1994 :
1995 : void ASN1CALL
1996 0 : free_Extensions(Extensions *data)
1997 : {
1998 0 : _asn1_free_top(asn1_Extensions, data);
1999 0 : }
2000 :
2001 :
2002 : int ASN1CALL
2003 0 : copy_Extensions(const Extensions *from, Extensions *to)
2004 : {
2005 0 : return _asn1_copy_top(asn1_Extensions, from, to);
2006 : }
2007 :
2008 :
2009 : char * ASN1CALL
2010 0 : print_Extensions(const Extensions *data, int flags)
2011 : {
2012 0 : return _asn1_print_top(asn1_Extensions, flags, data);
2013 : }
2014 :
2015 : int ASN1CALL
2016 0 : add_Extensions(Extensions *data, const Extension *element)
2017 : {
2018 0 : int ret;
2019 0 : void *ptr;
2020 :
2021 0 : ptr = realloc(data->val,
2022 0 : (data->len + 1) * sizeof(data->val[0]));
2023 0 : if (ptr == NULL) return ENOMEM;
2024 0 : data->val = ptr;
2025 :
2026 0 : ret = copy_Extension(element, &data->val[data->len]);
2027 0 : if (ret) return ret;
2028 0 : data->len++;
2029 0 : return 0;
2030 : }
2031 :
2032 : int ASN1CALL
2033 0 : remove_Extensions(Extensions *data, unsigned int element)
2034 : {
2035 0 : void *ptr;
2036 :
2037 0 : if (data->len == 0 || element >= data->len)
2038 0 : return ASN1_OVERRUN;
2039 0 : free_Extension(&data->val[element]);
2040 0 : data->len--;
2041 0 : if (element < data->len)
2042 0 : memmove(&data->val[element], &data->val[element + 1],
2043 0 : sizeof(data->val[0]) * (data->len - element));
2044 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
2045 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
2046 0 : return 0;
2047 : }
2048 :
2049 : /* template_members: TBSCertificate exp exp */
2050 : /* tsequence: members isstruct: 1 */
2051 : /* template_members: TBSCertificate exp exp */
2052 : /* generate_template_type: TBSCertificate_tag_version_28 */
2053 : const struct asn1_template asn1_TBSCertificate_tag_version_28[] = {
2054 : /* 0 */ { 0, sizeof(Version), ((void *)(uintptr_t)1) },
2055 : /* 1 */ { A1_OP_TYPE , 0, asn1_Version }
2056 : };
2057 : /* template_members: TBSCertificate exp imp */
2058 : /* template_members: TBSCertificate exp exp */
2059 : /* generate_template_type: TBSCertificate_tag_issuerUniqueID_30 */
2060 : const struct asn1_template asn1_TBSCertificate_tag_issuerUniqueID_30[] = {
2061 : /* 0 */ { 0, sizeof(TBSCertificate), ((void *)(uintptr_t)1) },
2062 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
2063 : };
2064 : /* generate_template_type: TBSCertificate_tag_issuerUniqueID_29 */
2065 : const struct asn1_template asn1_TBSCertificate_tag_issuerUniqueID_29[] = {
2066 : /* 0 */ { 0, sizeof(TBSCertificate), ((void *)(uintptr_t)1) },
2067 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_TBSCertificate_tag_issuerUniqueID_30 }
2068 : };
2069 : /* template_members: TBSCertificate exp imp */
2070 : /* template_members: TBSCertificate exp exp */
2071 : /* generate_template_type: TBSCertificate_tag_subjectUniqueID_32 */
2072 : /* generate_template_type: TBSCertificate_tag_subjectUniqueID_31 */
2073 : /* template_members: TBSCertificate exp exp */
2074 : /* generate_template_type: TBSCertificate_tag_extensions_33 */
2075 : const struct asn1_template asn1_TBSCertificate_tag_extensions_33[] = {
2076 : /* 0 */ { 0, sizeof(Extensions), ((void *)(uintptr_t)1) },
2077 : /* 1 */ { A1_OP_TYPE , 0, asn1_Extensions }
2078 : };
2079 : /* generate_template_type: TBSCertificate_tag__27 */
2080 : const struct asn1_template asn1_TBSCertificate_tag__27[] = {
2081 : /* 0 */ { 0, sizeof(struct TBSCertificate), ((void *)(uintptr_t)21) },
2082 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct TBSCertificate, version), asn1_TBSCertificate_tag_version_28 },
2083 : /* 2 */ { A1_OP_TYPE , offsetof(struct TBSCertificate, serialNumber), asn1_CertificateSerialNumber },
2084 : /* 3 */ { A1_OP_TYPE , offsetof(struct TBSCertificate, signature), asn1_AlgorithmIdentifier },
2085 : /* 4 */ { A1_OP_TYPE , offsetof(struct TBSCertificate, issuer), asn1_Name },
2086 : /* 5 */ { A1_OP_TYPE , offsetof(struct TBSCertificate, validity), asn1_Validity },
2087 : /* 6 */ { A1_OP_TYPE , offsetof(struct TBSCertificate, subject), asn1_Name },
2088 : /* 7 */ { A1_OP_TYPE , offsetof(struct TBSCertificate, subjectPublicKeyInfo), asn1_SubjectPublicKeyInfo },
2089 : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct TBSCertificate, issuerUniqueID), asn1_TBSCertificate_tag_issuerUniqueID_29 },
2090 : /* 9 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,2)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct TBSCertificate, subjectUniqueID), asn1_TBSCertificate_tag_issuerUniqueID_29 },
2091 : /* 10 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct TBSCertificate, extensions), asn1_TBSCertificate_tag_extensions_33 },
2092 : /* 11 */ { A1_OP_NAME, 0, "TBSCertificate" },
2093 : /* 12 */ { A1_OP_NAME, 0, "version" },
2094 : /* 13 */ { A1_OP_NAME, 0, "serialNumber" },
2095 : /* 14 */ { A1_OP_NAME, 0, "signature" },
2096 : /* 15 */ { A1_OP_NAME, 0, "issuer" },
2097 : /* 16 */ { A1_OP_NAME, 0, "validity" },
2098 : /* 17 */ { A1_OP_NAME, 0, "subject" },
2099 : /* 18 */ { A1_OP_NAME, 0, "subjectPublicKeyInfo" },
2100 : /* 19 */ { A1_OP_NAME, 0, "issuerUniqueID" },
2101 : /* 20 */ { A1_OP_NAME, 0, "subjectUniqueID" },
2102 : /* 21 */ { A1_OP_NAME, 0, "extensions" }
2103 : };
2104 : /* generate_template_type: TBSCertificate */
2105 : const struct asn1_template asn1_TBSCertificate[] = {
2106 : /* 0 */ { 0|A1_HF_PRESERVE, sizeof(TBSCertificate), ((void *)(uintptr_t)1) },
2107 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TBSCertificate_tag__27 }
2108 : };
2109 :
2110 : int ASN1CALL
2111 0 : decode_TBSCertificate(const unsigned char *p, size_t len, TBSCertificate *data, size_t *size)
2112 : {
2113 0 : memset(data, 0, sizeof(*data));
2114 0 : return _asn1_decode_top(asn1_TBSCertificate, 0|0, p, len, data, size);
2115 : }
2116 :
2117 :
2118 : int ASN1CALL
2119 0 : encode_TBSCertificate(unsigned char *p, size_t len, const TBSCertificate *data, size_t *size)
2120 : {
2121 0 : return _asn1_encode(asn1_TBSCertificate, p, len, data, size);
2122 : }
2123 :
2124 :
2125 : size_t ASN1CALL
2126 0 : length_TBSCertificate(const TBSCertificate *data)
2127 : {
2128 0 : return _asn1_length(asn1_TBSCertificate, data);
2129 : }
2130 :
2131 :
2132 : void ASN1CALL
2133 0 : free_TBSCertificate(TBSCertificate *data)
2134 : {
2135 0 : _asn1_free_top(asn1_TBSCertificate, data);
2136 0 : }
2137 :
2138 :
2139 : int ASN1CALL
2140 0 : copy_TBSCertificate(const TBSCertificate *from, TBSCertificate *to)
2141 : {
2142 0 : return _asn1_copy_top(asn1_TBSCertificate, from, to);
2143 : }
2144 :
2145 :
2146 : char * ASN1CALL
2147 0 : print_TBSCertificate(const TBSCertificate *data, int flags)
2148 : {
2149 0 : return _asn1_print_top(asn1_TBSCertificate, flags, data);
2150 : }
2151 :
2152 : /* template_members: Certificate exp exp */
2153 : /* tsequence: members isstruct: 1 */
2154 : /* template_members: Certificate exp exp */
2155 : /* generate_template_type: Certificate_tag_signatureValue_35 */
2156 : const struct asn1_template asn1_Certificate_tag_signatureValue_35[] = {
2157 : /* 0 */ { 0, sizeof(Certificate), ((void *)(uintptr_t)1) },
2158 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
2159 : };
2160 : /* generate_template_type: Certificate_tag__34 */
2161 : const struct asn1_template asn1_Certificate_tag__34[] = {
2162 : /* 0 */ { 0, sizeof(struct Certificate), ((void *)(uintptr_t)7) },
2163 : /* 1 */ { A1_OP_TYPE , offsetof(struct Certificate, tbsCertificate), asn1_TBSCertificate },
2164 : /* 2 */ { A1_OP_TYPE , offsetof(struct Certificate, signatureAlgorithm), asn1_AlgorithmIdentifier },
2165 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), offsetof(struct Certificate, signatureValue), asn1_Certificate_tag_signatureValue_35 },
2166 : /* 4 */ { A1_OP_NAME, 0, "Certificate" },
2167 : /* 5 */ { A1_OP_NAME, 0, "tbsCertificate" },
2168 : /* 6 */ { A1_OP_NAME, 0, "signatureAlgorithm" },
2169 : /* 7 */ { A1_OP_NAME, 0, "signatureValue" }
2170 : };
2171 : /* generate_template_type: Certificate */
2172 : const struct asn1_template asn1_Certificate[] = {
2173 : /* 0 */ { 0, sizeof(Certificate), ((void *)(uintptr_t)1) },
2174 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_Certificate_tag__34 }
2175 : };
2176 :
2177 : int ASN1CALL
2178 323 : decode_Certificate(const unsigned char *p, size_t len, Certificate *data, size_t *size)
2179 : {
2180 323 : memset(data, 0, sizeof(*data));
2181 323 : return _asn1_decode_top(asn1_Certificate, 0|0, p, len, data, size);
2182 : }
2183 :
2184 :
2185 : int ASN1CALL
2186 65 : encode_Certificate(unsigned char *p, size_t len, const Certificate *data, size_t *size)
2187 : {
2188 65 : return _asn1_encode(asn1_Certificate, p, len, data, size);
2189 : }
2190 :
2191 :
2192 : size_t ASN1CALL
2193 65 : length_Certificate(const Certificate *data)
2194 : {
2195 65 : return _asn1_length(asn1_Certificate, data);
2196 : }
2197 :
2198 :
2199 : void ASN1CALL
2200 538 : free_Certificate(Certificate *data)
2201 : {
2202 538 : _asn1_free_top(asn1_Certificate, data);
2203 538 : }
2204 :
2205 :
2206 : int ASN1CALL
2207 323 : copy_Certificate(const Certificate *from, Certificate *to)
2208 : {
2209 323 : return _asn1_copy_top(asn1_Certificate, from, to);
2210 : }
2211 :
2212 :
2213 : char * ASN1CALL
2214 0 : print_Certificate(const Certificate *data, int flags)
2215 : {
2216 0 : return _asn1_print_top(asn1_Certificate, flags, data);
2217 : }
2218 :
2219 : /* template_members: Certificates exp exp */
2220 : /* generate_template_type: Certificate_seofTstruct_4 */
2221 : const struct asn1_template asn1_Certificate_seofTstruct_4[] = {
2222 : /* 0 */ { 0, sizeof(Certificate), ((void *)(uintptr_t)1) },
2223 : /* 1 */ { A1_OP_TYPE , 0, asn1_Certificate }
2224 : };
2225 : /* generate_template_type: Certificates_tag__36 */
2226 : const struct asn1_template asn1_Certificates_tag__36[] = {
2227 : /* 0 */ { 0, sizeof(Certificate), ((void *)(uintptr_t)1) },
2228 : /* 1 */ { A1_OP_SEQOF, 0, asn1_Certificate_seofTstruct_4 }
2229 : };
2230 : /* generate_template_type: Certificates */
2231 : const struct asn1_template asn1_Certificates[] = {
2232 : /* 0 */ { 0, sizeof(Certificates), ((void *)(uintptr_t)1) },
2233 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_Certificates_tag__36 }
2234 : };
2235 :
2236 : int ASN1CALL
2237 0 : decode_Certificates(const unsigned char *p, size_t len, Certificates *data, size_t *size)
2238 : {
2239 0 : memset(data, 0, sizeof(*data));
2240 0 : return _asn1_decode_top(asn1_Certificates, 0|0, p, len, data, size);
2241 : }
2242 :
2243 :
2244 : int ASN1CALL
2245 0 : encode_Certificates(unsigned char *p, size_t len, const Certificates *data, size_t *size)
2246 : {
2247 0 : return _asn1_encode(asn1_Certificates, p, len, data, size);
2248 : }
2249 :
2250 :
2251 : size_t ASN1CALL
2252 0 : length_Certificates(const Certificates *data)
2253 : {
2254 0 : return _asn1_length(asn1_Certificates, data);
2255 : }
2256 :
2257 :
2258 : void ASN1CALL
2259 0 : free_Certificates(Certificates *data)
2260 : {
2261 0 : _asn1_free_top(asn1_Certificates, data);
2262 0 : }
2263 :
2264 :
2265 : int ASN1CALL
2266 0 : copy_Certificates(const Certificates *from, Certificates *to)
2267 : {
2268 0 : return _asn1_copy_top(asn1_Certificates, from, to);
2269 : }
2270 :
2271 :
2272 : char * ASN1CALL
2273 0 : print_Certificates(const Certificates *data, int flags)
2274 : {
2275 0 : return _asn1_print_top(asn1_Certificates, flags, data);
2276 : }
2277 :
2278 : int ASN1CALL
2279 0 : add_Certificates(Certificates *data, const Certificate *element)
2280 : {
2281 0 : int ret;
2282 0 : void *ptr;
2283 :
2284 0 : ptr = realloc(data->val,
2285 0 : (data->len + 1) * sizeof(data->val[0]));
2286 0 : if (ptr == NULL) return ENOMEM;
2287 0 : data->val = ptr;
2288 :
2289 0 : ret = copy_Certificate(element, &data->val[data->len]);
2290 0 : if (ret) return ret;
2291 0 : data->len++;
2292 0 : return 0;
2293 : }
2294 :
2295 : int ASN1CALL
2296 0 : remove_Certificates(Certificates *data, unsigned int element)
2297 : {
2298 0 : void *ptr;
2299 :
2300 0 : if (data->len == 0 || element >= data->len)
2301 0 : return ASN1_OVERRUN;
2302 0 : free_Certificate(&data->val[element]);
2303 0 : data->len--;
2304 0 : if (element < data->len)
2305 0 : memmove(&data->val[element], &data->val[element + 1],
2306 0 : sizeof(data->val[0]) * (data->len - element));
2307 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
2308 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
2309 0 : return 0;
2310 : }
2311 :
2312 : /* template_members: ValidationParms exp exp */
2313 : /* tsequence: members isstruct: 1 */
2314 : /* template_members: ValidationParms exp exp */
2315 : /* generate_template_type: ValidationParms_tag_seed_38 */
2316 : const struct asn1_template asn1_ValidationParms_tag_seed_38[] = {
2317 : /* 0 */ { 0, sizeof(ValidationParms), ((void *)(uintptr_t)1) },
2318 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
2319 : };
2320 : /* template_members: ValidationParms exp exp */
2321 : /* generate_template_type: ValidationParms_tag_pgenCounter_39 */
2322 : /* generate_template_type: ValidationParms_tag__37 */
2323 : const struct asn1_template asn1_ValidationParms_tag__37[] = {
2324 : /* 0 */ { 0, sizeof(struct ValidationParms), ((void *)(uintptr_t)5) },
2325 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), offsetof(struct ValidationParms, seed), asn1_ValidationParms_tag_seed_38 },
2326 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct ValidationParms, pgenCounter), asn1_CertificateSerialNumber_tag__15 },
2327 : /* 3 */ { A1_OP_NAME, 0, "ValidationParms" },
2328 : /* 4 */ { A1_OP_NAME, 0, "seed" },
2329 : /* 5 */ { A1_OP_NAME, 0, "pgenCounter" }
2330 : };
2331 : /* generate_template_type: ValidationParms */
2332 : const struct asn1_template asn1_ValidationParms[] = {
2333 : /* 0 */ { 0, sizeof(ValidationParms), ((void *)(uintptr_t)1) },
2334 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ValidationParms_tag__37 }
2335 : };
2336 :
2337 : int ASN1CALL
2338 0 : decode_ValidationParms(const unsigned char *p, size_t len, ValidationParms *data, size_t *size)
2339 : {
2340 0 : memset(data, 0, sizeof(*data));
2341 0 : return _asn1_decode_top(asn1_ValidationParms, 0|0, p, len, data, size);
2342 : }
2343 :
2344 :
2345 : int ASN1CALL
2346 0 : encode_ValidationParms(unsigned char *p, size_t len, const ValidationParms *data, size_t *size)
2347 : {
2348 0 : return _asn1_encode(asn1_ValidationParms, p, len, data, size);
2349 : }
2350 :
2351 :
2352 : size_t ASN1CALL
2353 0 : length_ValidationParms(const ValidationParms *data)
2354 : {
2355 0 : return _asn1_length(asn1_ValidationParms, data);
2356 : }
2357 :
2358 :
2359 : void ASN1CALL
2360 0 : free_ValidationParms(ValidationParms *data)
2361 : {
2362 0 : _asn1_free_top(asn1_ValidationParms, data);
2363 0 : }
2364 :
2365 :
2366 : int ASN1CALL
2367 0 : copy_ValidationParms(const ValidationParms *from, ValidationParms *to)
2368 : {
2369 0 : return _asn1_copy_top(asn1_ValidationParms, from, to);
2370 : }
2371 :
2372 :
2373 : char * ASN1CALL
2374 0 : print_ValidationParms(const ValidationParms *data, int flags)
2375 : {
2376 0 : return _asn1_print_top(asn1_ValidationParms, flags, data);
2377 : }
2378 :
2379 : /* template_members: DomainParameters exp exp */
2380 : /* tsequence: members isstruct: 1 */
2381 : /* template_members: DomainParameters exp exp */
2382 : /* generate_template_type: DomainParameters_tag_p_41 */
2383 : /* template_members: DomainParameters exp exp */
2384 : /* generate_template_type: DomainParameters_tag_g_42 */
2385 : /* template_members: DomainParameters exp exp */
2386 : /* generate_template_type: DomainParameters_tag_q_43 */
2387 : /* template_members: DomainParameters exp exp */
2388 : /* generate_template_type: DomainParameters_tag_j_44 */
2389 : /* generate_template_type: DomainParameters_tag__40 */
2390 : const struct asn1_template asn1_DomainParameters_tag__40[] = {
2391 : /* 0 */ { 0, sizeof(struct DomainParameters), ((void *)(uintptr_t)11) },
2392 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DomainParameters, p), asn1_CertificateSerialNumber_tag__15 },
2393 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DomainParameters, g), asn1_CertificateSerialNumber_tag__15 },
2394 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer)|A1_FLAG_OPTIONAL, offsetof(struct DomainParameters, q), asn1_CertificateSerialNumber_tag__15 },
2395 : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer)|A1_FLAG_OPTIONAL, offsetof(struct DomainParameters, j), asn1_CertificateSerialNumber_tag__15 },
2396 : /* 5 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct DomainParameters, validationParms), asn1_ValidationParms },
2397 : /* 6 */ { A1_OP_NAME, 0, "DomainParameters" },
2398 : /* 7 */ { A1_OP_NAME, 0, "p" },
2399 : /* 8 */ { A1_OP_NAME, 0, "g" },
2400 : /* 9 */ { A1_OP_NAME, 0, "q" },
2401 : /* 10 */ { A1_OP_NAME, 0, "j" },
2402 : /* 11 */ { A1_OP_NAME, 0, "validationParms" }
2403 : };
2404 : /* generate_template_type: DomainParameters */
2405 : const struct asn1_template asn1_DomainParameters[] = {
2406 : /* 0 */ { 0, sizeof(DomainParameters), ((void *)(uintptr_t)1) },
2407 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DomainParameters_tag__40 }
2408 : };
2409 :
2410 : int ASN1CALL
2411 32 : decode_DomainParameters(const unsigned char *p, size_t len, DomainParameters *data, size_t *size)
2412 : {
2413 32 : memset(data, 0, sizeof(*data));
2414 32 : return _asn1_decode_top(asn1_DomainParameters, 0|0, p, len, data, size);
2415 : }
2416 :
2417 :
2418 : int ASN1CALL
2419 124 : encode_DomainParameters(unsigned char *p, size_t len, const DomainParameters *data, size_t *size)
2420 : {
2421 124 : return _asn1_encode(asn1_DomainParameters, p, len, data, size);
2422 : }
2423 :
2424 :
2425 : size_t ASN1CALL
2426 124 : length_DomainParameters(const DomainParameters *data)
2427 : {
2428 124 : return _asn1_length(asn1_DomainParameters, data);
2429 : }
2430 :
2431 :
2432 : void ASN1CALL
2433 156 : free_DomainParameters(DomainParameters *data)
2434 : {
2435 156 : _asn1_free_top(asn1_DomainParameters, data);
2436 156 : }
2437 :
2438 :
2439 : int ASN1CALL
2440 0 : copy_DomainParameters(const DomainParameters *from, DomainParameters *to)
2441 : {
2442 0 : return _asn1_copy_top(asn1_DomainParameters, from, to);
2443 : }
2444 :
2445 :
2446 : char * ASN1CALL
2447 0 : print_DomainParameters(const DomainParameters *data, int flags)
2448 : {
2449 0 : return _asn1_print_top(asn1_DomainParameters, flags, data);
2450 : }
2451 :
2452 : /* template_members: DHParameter exp exp */
2453 : /* tsequence: members isstruct: 1 */
2454 : /* template_members: DHParameter exp exp */
2455 : /* generate_template_type: DHParameter_tag_prime_46 */
2456 : /* template_members: DHParameter exp exp */
2457 : /* generate_template_type: DHParameter_tag_base_47 */
2458 : /* template_members: DHParameter exp exp */
2459 : /* generate_template_type: DHParameter_tag_privateValueLength_48 */
2460 : /* generate_template_type: DHParameter_tag__45 */
2461 : const struct asn1_template asn1_DHParameter_tag__45[] = {
2462 : /* 0 */ { 0, sizeof(struct DHParameter), ((void *)(uintptr_t)7) },
2463 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DHParameter, prime), asn1_CertificateSerialNumber_tag__15 },
2464 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DHParameter, base), asn1_CertificateSerialNumber_tag__15 },
2465 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer)|A1_FLAG_OPTIONAL, offsetof(struct DHParameter, privateValueLength), asn1_CertificateSerialNumber_tag__15 },
2466 : /* 4 */ { A1_OP_NAME, 0, "DHParameter" },
2467 : /* 5 */ { A1_OP_NAME, 0, "prime" },
2468 : /* 6 */ { A1_OP_NAME, 0, "base" },
2469 : /* 7 */ { A1_OP_NAME, 0, "privateValueLength" }
2470 : };
2471 : /* generate_template_type: DHParameter */
2472 : const struct asn1_template asn1_DHParameter[] = {
2473 : /* 0 */ { 0, sizeof(DHParameter), ((void *)(uintptr_t)1) },
2474 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DHParameter_tag__45 }
2475 : };
2476 :
2477 : int ASN1CALL
2478 0 : decode_DHParameter(const unsigned char *p, size_t len, DHParameter *data, size_t *size)
2479 : {
2480 0 : memset(data, 0, sizeof(*data));
2481 0 : return _asn1_decode_top(asn1_DHParameter, 0|0, p, len, data, size);
2482 : }
2483 :
2484 :
2485 : int ASN1CALL
2486 0 : encode_DHParameter(unsigned char *p, size_t len, const DHParameter *data, size_t *size)
2487 : {
2488 0 : return _asn1_encode(asn1_DHParameter, p, len, data, size);
2489 : }
2490 :
2491 :
2492 : size_t ASN1CALL
2493 0 : length_DHParameter(const DHParameter *data)
2494 : {
2495 0 : return _asn1_length(asn1_DHParameter, data);
2496 : }
2497 :
2498 :
2499 : void ASN1CALL
2500 0 : free_DHParameter(DHParameter *data)
2501 : {
2502 0 : _asn1_free_top(asn1_DHParameter, data);
2503 0 : }
2504 :
2505 :
2506 : int ASN1CALL
2507 0 : copy_DHParameter(const DHParameter *from, DHParameter *to)
2508 : {
2509 0 : return _asn1_copy_top(asn1_DHParameter, from, to);
2510 : }
2511 :
2512 :
2513 : char * ASN1CALL
2514 0 : print_DHParameter(const DHParameter *data, int flags)
2515 : {
2516 0 : return _asn1_print_top(asn1_DHParameter, flags, data);
2517 : }
2518 :
2519 : /* template_members: DHPublicKey exp exp */
2520 : /* generate_template_type: DHPublicKey_tag__49 */
2521 : /* generate_template_type: DHPublicKey */
2522 : const struct asn1_template asn1_DHPublicKey[] = {
2523 : /* 0 */ { 0, sizeof(DHPublicKey), ((void *)(uintptr_t)1) },
2524 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_CertificateSerialNumber_tag__15 }
2525 : };
2526 :
2527 : int ASN1CALL
2528 45 : decode_DHPublicKey(const unsigned char *p, size_t len, DHPublicKey *data, size_t *size)
2529 : {
2530 45 : memset(data, 0, sizeof(*data));
2531 45 : return _asn1_decode_top(asn1_DHPublicKey, 0|0, p, len, data, size);
2532 : }
2533 :
2534 :
2535 : int ASN1CALL
2536 148 : encode_DHPublicKey(unsigned char *p, size_t len, const DHPublicKey *data, size_t *size)
2537 : {
2538 148 : return _asn1_encode(asn1_DHPublicKey, p, len, data, size);
2539 : }
2540 :
2541 :
2542 : size_t ASN1CALL
2543 148 : length_DHPublicKey(const DHPublicKey *data)
2544 : {
2545 148 : return _asn1_length(asn1_DHPublicKey, data);
2546 : }
2547 :
2548 :
2549 : void ASN1CALL
2550 13 : free_DHPublicKey(DHPublicKey *data)
2551 : {
2552 13 : _asn1_free_top(asn1_DHPublicKey, data);
2553 13 : }
2554 :
2555 :
2556 : int ASN1CALL
2557 0 : copy_DHPublicKey(const DHPublicKey *from, DHPublicKey *to)
2558 : {
2559 0 : return _asn1_copy_top(asn1_DHPublicKey, from, to);
2560 : }
2561 :
2562 :
2563 : char * ASN1CALL
2564 0 : print_DHPublicKey(const DHPublicKey *data, int flags)
2565 : {
2566 0 : return _asn1_print_top(asn1_DHPublicKey, flags, data);
2567 : }
2568 :
2569 : /* template_members: OtherName exp exp */
2570 : /* tsequence: members isstruct: 1 */
2571 : /* template_members: OtherName exp exp */
2572 : /* generate_template_type: OtherName_tag_type_id_51 */
2573 : /* template_members: OtherName exp exp */
2574 : /* generate_template_type: OtherName_tag_value_52 */
2575 : const struct asn1_template asn1_OtherName_tag_value_52[] = {
2576 : /* 0 */ { 0, sizeof(HEIM_ANY), ((void *)(uintptr_t)1) },
2577 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_HEIM_ANY}
2578 : };
2579 : const struct asn1_template asn1_KnownOtherNameTypes[] = {
2580 : /* 0 */ { 0, 0, ((void *)(uintptr_t)6) },
2581 : /* 1 */ { A1_OP_NAME, 0, "KnownOtherNameTypes" },
2582 : /* 2 */ { A1_OP_NAME, 0, "on-pkinit-ms-san" },
2583 : /* 3 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_on_pkinit_ms_san },
2584 : /* 4 */ { A1_OP_OPENTYPE, sizeof(AliasUTF8String), (const void *)&asn1_AliasUTF8String },
2585 : /* 5 */ { A1_OP_NAME, 0, "on-krb5PrincipalName" },
2586 : /* 6 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_on_pkinit_san },
2587 : /* 7 */ { A1_OP_OPENTYPE, sizeof(KRB5PrincipalName), (const void *)&asn1_KRB5PrincipalName },
2588 : /* 8 */ { A1_OP_NAME, 0, "on-permanentIdentifier" },
2589 : /* 9 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_on_permanentIdentifier },
2590 : /* 10 */ { A1_OP_OPENTYPE, sizeof(PermanentIdentifier), (const void *)&asn1_PermanentIdentifier },
2591 : /* 11 */ { A1_OP_NAME, 0, "on-hardwareModuleName" },
2592 : /* 12 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_on_hardwareModuleName },
2593 : /* 13 */ { A1_OP_OPENTYPE, sizeof(HardwareModuleName), (const void *)&asn1_HardwareModuleName },
2594 : /* 14 */ { A1_OP_NAME, 0, "on-xmppAddr" },
2595 : /* 15 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_on_xmppAddr },
2596 : /* 16 */ { A1_OP_OPENTYPE, sizeof(AliasUTF8String), (const void *)&asn1_AliasUTF8String },
2597 : /* 17 */ { A1_OP_NAME, 0, "on-dnsSRV" },
2598 : /* 18 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_on_dnsSRV },
2599 : /* 19 */ { A1_OP_OPENTYPE, sizeof(AliasIA5String), (const void *)&asn1_AliasIA5String }
2600 : };
2601 : /* generate_template_type: OtherName_tag__50 */
2602 : const struct asn1_template asn1_OtherName_tag__50[] = {
2603 : /* 0 */ { 0, sizeof(struct OtherName), ((void *)(uintptr_t)6) },
2604 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct OtherName, type_id), asn1_AttributeType_tag__1 },
2605 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct OtherName, value), asn1_OtherName_tag_value_52 },
2606 : /* 3 */ { A1_OP_OPENTYPE_OBJSET | A1_OS_IS_SORTED |0 | (1 << 10) | 0, offsetof(OtherName, _ioschoice_value), asn1_KnownOtherNameTypes },
2607 : /* 4 */ { A1_OP_NAME, 0, "OtherName" },
2608 : /* 5 */ { A1_OP_NAME, 0, "type-id" },
2609 : /* 6 */ { A1_OP_NAME, 0, "value" }
2610 : };
2611 : /* generate_template_type: OtherName */
2612 : const struct asn1_template asn1_OtherName[] = {
2613 : /* 0 */ { 0, sizeof(OtherName), ((void *)(uintptr_t)1) },
2614 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_OtherName_tag__50 }
2615 : };
2616 :
2617 : int ASN1CALL
2618 0 : decode_OtherName(const unsigned char *p, size_t len, OtherName *data, size_t *size)
2619 : {
2620 0 : memset(data, 0, sizeof(*data));
2621 0 : return _asn1_decode_top(asn1_OtherName, 0|0, p, len, data, size);
2622 : }
2623 :
2624 :
2625 : int ASN1CALL
2626 0 : encode_OtherName(unsigned char *p, size_t len, const OtherName *data, size_t *size)
2627 : {
2628 0 : return _asn1_encode(asn1_OtherName, p, len, data, size);
2629 : }
2630 :
2631 :
2632 : size_t ASN1CALL
2633 0 : length_OtherName(const OtherName *data)
2634 : {
2635 0 : return _asn1_length(asn1_OtherName, data);
2636 : }
2637 :
2638 :
2639 : void ASN1CALL
2640 0 : free_OtherName(OtherName *data)
2641 : {
2642 0 : _asn1_free_top(asn1_OtherName, data);
2643 0 : }
2644 :
2645 :
2646 : int ASN1CALL
2647 0 : copy_OtherName(const OtherName *from, OtherName *to)
2648 : {
2649 0 : return _asn1_copy_top(asn1_OtherName, from, to);
2650 : }
2651 :
2652 :
2653 : char * ASN1CALL
2654 0 : print_OtherName(const OtherName *data, int flags)
2655 : {
2656 0 : return _asn1_print_top(asn1_OtherName, flags, data);
2657 : }
2658 :
2659 : /* template_members: OtherName imp imp */
2660 : /* generate_template_type: OtherName_tag__53 */
2661 : const struct asn1_template asn1_OtherName_tag__53[] = {
2662 : /* 0 */ { 0, sizeof(OtherName), ((void *)(uintptr_t)1) },
2663 : /* 1 */ { A1_OP_TYPE , 0, asn1_OtherName }
2664 : };
2665 : /* generate_template_type: GeneralName_choice_otherName */
2666 : const struct asn1_template asn1_GeneralName_choice_otherName[] = {
2667 : /* 0 */ { 0, sizeof(OtherName), ((void *)(uintptr_t)1) },
2668 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_IMPLICIT, 0, asn1_OtherName_tag__53 }
2669 : };
2670 : /* template_members: heim_ia5_string imp imp */
2671 : /* template_members: heim_ia5_string exp exp */
2672 : /* generate_template_type: heim_ia5_string_tag__55 */
2673 : /* generate_template_type: heim_ia5_string_tag__54 */
2674 : /* generate_template_type: GeneralName_choice_rfc822Name */
2675 : const struct asn1_template asn1_GeneralName_choice_rfc822Name[] = {
2676 : /* 0 */ { 0, sizeof(heim_ia5_string), ((void *)(uintptr_t)1) },
2677 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_IMPLICIT, 0, asn1_DirectoryString_choice_ia5String }
2678 : };
2679 : /* template_members: heim_ia5_string imp imp */
2680 : /* template_members: heim_ia5_string exp exp */
2681 : /* generate_template_type: heim_ia5_string_tag__57 */
2682 : /* generate_template_type: heim_ia5_string_tag__56 */
2683 : /* generate_template_type: GeneralName_choice_dNSName */
2684 : const struct asn1_template asn1_GeneralName_choice_dNSName[] = {
2685 : /* 0 */ { 0, sizeof(heim_ia5_string), ((void *)(uintptr_t)1) },
2686 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,2)|A1_FLAG_IMPLICIT, 0, asn1_DirectoryString_choice_ia5String }
2687 : };
2688 : /* template_members: Name exp exp */
2689 : /* generate_template_type: Name_tag__58 */
2690 : const struct asn1_template asn1_Name_tag__58[] = {
2691 : /* 0 */ { 0, sizeof(Name), ((void *)(uintptr_t)1) },
2692 : /* 1 */ { A1_OP_TYPE , 0, asn1_Name }
2693 : };
2694 : /* generate_template_type: GeneralName_choice_directoryName */
2695 : const struct asn1_template asn1_GeneralName_choice_directoryName[] = {
2696 : /* 0 */ { 0, sizeof(Name), ((void *)(uintptr_t)1) },
2697 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), 0, asn1_Name_tag__58 }
2698 : };
2699 : /* template_members: heim_ia5_string imp imp */
2700 : /* template_members: heim_ia5_string exp exp */
2701 : /* generate_template_type: heim_ia5_string_tag__60 */
2702 : /* generate_template_type: heim_ia5_string_tag__59 */
2703 : /* generate_template_type: GeneralName_choice_uniformResourceIdentifier */
2704 : const struct asn1_template asn1_GeneralName_choice_uniformResourceIdentifier[] = {
2705 : /* 0 */ { 0, sizeof(heim_ia5_string), ((void *)(uintptr_t)1) },
2706 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,6)|A1_FLAG_IMPLICIT, 0, asn1_DirectoryString_choice_ia5String }
2707 : };
2708 : /* template_members: heim_octet_string imp imp */
2709 : /* template_members: heim_octet_string exp exp */
2710 : /* generate_template_type: heim_octet_string_tag__62 */
2711 : /* generate_template_type: heim_octet_string_tag__61 */
2712 : const struct asn1_template asn1_heim_octet_string_tag__61[] = {
2713 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
2714 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_Extension_tag_extnValue_25 }
2715 : };
2716 : /* generate_template_type: GeneralName_choice_iPAddress */
2717 : const struct asn1_template asn1_GeneralName_choice_iPAddress[] = {
2718 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
2719 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,7)|A1_FLAG_IMPLICIT, 0, asn1_heim_octet_string_tag__61 }
2720 : };
2721 : /* template_members: heim_oid imp imp */
2722 : /* template_members: heim_oid exp exp */
2723 : /* generate_template_type: heim_oid_tag__64 */
2724 : /* generate_template_type: heim_oid_tag__63 */
2725 : const struct asn1_template asn1_heim_oid_tag__63[] = {
2726 : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
2727 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), 0, asn1_AttributeType_tag__1 }
2728 : };
2729 : /* generate_template_type: GeneralName_choice_registeredID */
2730 : const struct asn1_template asn1_GeneralName_choice_registeredID[] = {
2731 : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
2732 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,8)|A1_FLAG_IMPLICIT, 0, asn1_heim_oid_tag__63 }
2733 : };
2734 : static const struct asn1_template asn1_choice_GeneralName_3[] = {
2735 : /* 0 */ { 0, offsetof(GeneralName, element), ((void *)(uintptr_t)14) },
2736 : /* 1 */ { choice_GeneralName_otherName, offsetof(GeneralName, u.otherName), asn1_GeneralName_choice_otherName },
2737 : /* 2 */ { choice_GeneralName_rfc822Name, offsetof(GeneralName, u.rfc822Name), asn1_GeneralName_choice_rfc822Name },
2738 : /* 3 */ { choice_GeneralName_dNSName, offsetof(GeneralName, u.dNSName), asn1_GeneralName_choice_dNSName },
2739 : /* 4 */ { choice_GeneralName_directoryName, offsetof(GeneralName, u.directoryName), asn1_GeneralName_choice_directoryName },
2740 : /* 5 */ { choice_GeneralName_uniformResourceIdentifier, offsetof(GeneralName, u.uniformResourceIdentifier), asn1_GeneralName_choice_uniformResourceIdentifier },
2741 : /* 6 */ { choice_GeneralName_iPAddress, offsetof(GeneralName, u.iPAddress), asn1_GeneralName_choice_iPAddress },
2742 : /* 7 */ { choice_GeneralName_registeredID, offsetof(GeneralName, u.registeredID), asn1_GeneralName_choice_registeredID },
2743 : /* 8 */ { 0, 0, "otherName" },
2744 : /* 9 */ { 0, 0, "rfc822Name" },
2745 : /* 10 */ { 0, 0, "dNSName" },
2746 : /* 11 */ { 0, 0, "directoryName" },
2747 : /* 12 */ { 0, 0, "uniformResourceIdentifier" },
2748 : /* 13 */ { 0, 0, "iPAddress" },
2749 : /* 14 */ { 0, 0, "registeredID" }
2750 : };
2751 : /* generate_template_type: GeneralName */
2752 : const struct asn1_template asn1_GeneralName[] = {
2753 : /* 0 */ { 0, sizeof(GeneralName), ((void *)(uintptr_t)1) },
2754 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_GeneralName_3 }
2755 : };
2756 :
2757 : int ASN1CALL
2758 0 : decode_GeneralName(const unsigned char *p, size_t len, GeneralName *data, size_t *size)
2759 : {
2760 0 : memset(data, 0, sizeof(*data));
2761 0 : return _asn1_decode_top(asn1_GeneralName, 0|0, p, len, data, size);
2762 : }
2763 :
2764 :
2765 : int ASN1CALL
2766 0 : encode_GeneralName(unsigned char *p, size_t len, const GeneralName *data, size_t *size)
2767 : {
2768 0 : return _asn1_encode(asn1_GeneralName, p, len, data, size);
2769 : }
2770 :
2771 :
2772 : size_t ASN1CALL
2773 0 : length_GeneralName(const GeneralName *data)
2774 : {
2775 0 : return _asn1_length(asn1_GeneralName, data);
2776 : }
2777 :
2778 :
2779 : void ASN1CALL
2780 0 : free_GeneralName(GeneralName *data)
2781 : {
2782 0 : _asn1_free_top(asn1_GeneralName, data);
2783 0 : }
2784 :
2785 :
2786 : int ASN1CALL
2787 0 : copy_GeneralName(const GeneralName *from, GeneralName *to)
2788 : {
2789 0 : return _asn1_copy_top(asn1_GeneralName, from, to);
2790 : }
2791 :
2792 :
2793 : char * ASN1CALL
2794 0 : print_GeneralName(const GeneralName *data, int flags)
2795 : {
2796 0 : return _asn1_print_top(asn1_GeneralName, flags, data);
2797 : }
2798 :
2799 : /* template_members: GeneralNames exp exp */
2800 : /* generate_template_type: GeneralName_seofTstruct_5 */
2801 : const struct asn1_template asn1_GeneralName_seofTstruct_5[] = {
2802 : /* 0 */ { 0, sizeof(GeneralName), ((void *)(uintptr_t)1) },
2803 : /* 1 */ { A1_OP_TYPE , 0, asn1_GeneralName }
2804 : };
2805 : /* generate_template_type: GeneralNames_tag__65 */
2806 : const struct asn1_template asn1_GeneralNames_tag__65[] = {
2807 : /* 0 */ { 0, sizeof(GeneralName), ((void *)(uintptr_t)1) },
2808 : /* 1 */ { A1_OP_SEQOF, 0, asn1_GeneralName_seofTstruct_5 }
2809 : };
2810 : /* generate_template_type: GeneralNames */
2811 : const struct asn1_template asn1_GeneralNames[] = {
2812 : /* 0 */ { 0, sizeof(GeneralNames), ((void *)(uintptr_t)1) },
2813 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_GeneralNames_tag__65 }
2814 : };
2815 :
2816 : int ASN1CALL
2817 94 : decode_GeneralNames(const unsigned char *p, size_t len, GeneralNames *data, size_t *size)
2818 : {
2819 94 : memset(data, 0, sizeof(*data));
2820 94 : return _asn1_decode_top(asn1_GeneralNames, 0|0, p, len, data, size);
2821 : }
2822 :
2823 :
2824 : int ASN1CALL
2825 0 : encode_GeneralNames(unsigned char *p, size_t len, const GeneralNames *data, size_t *size)
2826 : {
2827 0 : return _asn1_encode(asn1_GeneralNames, p, len, data, size);
2828 : }
2829 :
2830 :
2831 : size_t ASN1CALL
2832 0 : length_GeneralNames(const GeneralNames *data)
2833 : {
2834 0 : return _asn1_length(asn1_GeneralNames, data);
2835 : }
2836 :
2837 :
2838 : void ASN1CALL
2839 94 : free_GeneralNames(GeneralNames *data)
2840 : {
2841 94 : _asn1_free_top(asn1_GeneralNames, data);
2842 94 : }
2843 :
2844 :
2845 : int ASN1CALL
2846 0 : copy_GeneralNames(const GeneralNames *from, GeneralNames *to)
2847 : {
2848 0 : return _asn1_copy_top(asn1_GeneralNames, from, to);
2849 : }
2850 :
2851 :
2852 : char * ASN1CALL
2853 0 : print_GeneralNames(const GeneralNames *data, int flags)
2854 : {
2855 0 : return _asn1_print_top(asn1_GeneralNames, flags, data);
2856 : }
2857 :
2858 : int ASN1CALL
2859 0 : add_GeneralNames(GeneralNames *data, const GeneralName *element)
2860 : {
2861 0 : int ret;
2862 0 : void *ptr;
2863 :
2864 0 : ptr = realloc(data->val,
2865 0 : (data->len + 1) * sizeof(data->val[0]));
2866 0 : if (ptr == NULL) return ENOMEM;
2867 0 : data->val = ptr;
2868 :
2869 0 : ret = copy_GeneralName(element, &data->val[data->len]);
2870 0 : if (ret) return ret;
2871 0 : data->len++;
2872 0 : return 0;
2873 : }
2874 :
2875 : int ASN1CALL
2876 0 : remove_GeneralNames(GeneralNames *data, unsigned int element)
2877 : {
2878 0 : void *ptr;
2879 :
2880 0 : if (data->len == 0 || element >= data->len)
2881 0 : return ASN1_OVERRUN;
2882 0 : free_GeneralName(&data->val[element]);
2883 0 : data->len--;
2884 0 : if (element < data->len)
2885 0 : memmove(&data->val[element], &data->val[element + 1],
2886 0 : sizeof(data->val[0]) * (data->len - element));
2887 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
2888 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
2889 0 : return 0;
2890 : }
2891 :
2892 : /* template_members: KeyUsage exp exp */
2893 : static const struct asn1_template asn1_KeyUsage_bmember__0[] = {
2894 : /* 0 */ { 0, sizeof(KeyUsage), ((void *)(uintptr_t)9) },
2895 : /* 1 */ { 0, 0, "digitalSignature" },
2896 : /* 2 */ { 0, 1, "nonRepudiation" },
2897 : /* 3 */ { 0, 2, "keyEncipherment" },
2898 : /* 4 */ { 0, 3, "dataEncipherment" },
2899 : /* 5 */ { 0, 4, "keyAgreement" },
2900 : /* 6 */ { 0, 5, "keyCertSign" },
2901 : /* 7 */ { 0, 6, "cRLSign" },
2902 : /* 8 */ { 0, 7, "encipherOnly" },
2903 : /* 9 */ { 0, 8, "decipherOnly" }
2904 : };
2905 : /* generate_template_type: KeyUsage_tag__66 */
2906 : const struct asn1_template asn1_KeyUsage_tag__66[] = {
2907 : /* 0 */ { 0, sizeof(KeyUsage), ((void *)(uintptr_t)1) },
2908 : /* 1 */ { A1_OP_BMEMBER, 0, asn1_KeyUsage_bmember__0 }
2909 : };
2910 : /* generate_template_type: KeyUsage */
2911 : const struct asn1_template asn1_KeyUsage[] = {
2912 : /* 0 */ { 0, sizeof(KeyUsage), ((void *)(uintptr_t)1) },
2913 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_KeyUsage_tag__66 }
2914 : };
2915 :
2916 : int ASN1CALL
2917 202 : decode_KeyUsage(const unsigned char *p, size_t len, KeyUsage *data, size_t *size)
2918 : {
2919 202 : memset(data, 0, sizeof(*data));
2920 202 : return _asn1_decode_top(asn1_KeyUsage, 0|0, p, len, data, size);
2921 : }
2922 :
2923 :
2924 : int ASN1CALL
2925 0 : encode_KeyUsage(unsigned char *p, size_t len, const KeyUsage *data, size_t *size)
2926 : {
2927 0 : return _asn1_encode(asn1_KeyUsage, p, len, data, size);
2928 : }
2929 :
2930 :
2931 : size_t ASN1CALL
2932 0 : length_KeyUsage(const KeyUsage *data)
2933 : {
2934 0 : return _asn1_length(asn1_KeyUsage, data);
2935 : }
2936 :
2937 :
2938 : void ASN1CALL
2939 0 : free_KeyUsage(KeyUsage *data)
2940 : {
2941 0 : _asn1_free_top(asn1_KeyUsage, data);
2942 0 : }
2943 :
2944 :
2945 : int ASN1CALL
2946 0 : copy_KeyUsage(const KeyUsage *from, KeyUsage *to)
2947 : {
2948 0 : return _asn1_copy_top(asn1_KeyUsage, from, to);
2949 : }
2950 :
2951 :
2952 : char * ASN1CALL
2953 0 : print_KeyUsage(const KeyUsage *data, int flags)
2954 : {
2955 0 : return _asn1_print_top(asn1_KeyUsage, flags, data);
2956 : }
2957 :
2958 202 : uint64_t KeyUsage2int(KeyUsage f)
2959 : {
2960 202 : uint64_t r = 0;
2961 202 : if(f.digitalSignature) r |= (1ULL << 0);
2962 202 : if(f.nonRepudiation) r |= (1ULL << 1);
2963 202 : if(f.keyEncipherment) r |= (1ULL << 2);
2964 202 : if(f.dataEncipherment) r |= (1ULL << 3);
2965 202 : if(f.keyAgreement) r |= (1ULL << 4);
2966 202 : if(f.keyCertSign) r |= (1ULL << 5);
2967 202 : if(f.cRLSign) r |= (1ULL << 6);
2968 202 : if(f.encipherOnly) r |= (1ULL << 7);
2969 202 : if(f.decipherOnly) r |= (1ULL << 8);
2970 202 : return r;
2971 : }
2972 :
2973 0 : KeyUsage int2KeyUsage(uint64_t n)
2974 : {
2975 0 : KeyUsage flags;
2976 :
2977 0 : memset(&flags, 0, sizeof(flags));
2978 :
2979 0 : flags.digitalSignature = (n >> 0) & 1;
2980 0 : flags.nonRepudiation = (n >> 1) & 1;
2981 0 : flags.keyEncipherment = (n >> 2) & 1;
2982 0 : flags.dataEncipherment = (n >> 3) & 1;
2983 0 : flags.keyAgreement = (n >> 4) & 1;
2984 0 : flags.keyCertSign = (n >> 5) & 1;
2985 0 : flags.cRLSign = (n >> 6) & 1;
2986 0 : flags.encipherOnly = (n >> 7) & 1;
2987 0 : flags.decipherOnly = (n >> 8) & 1;
2988 0 : return flags;
2989 : }
2990 :
2991 : static struct units KeyUsage_units[] = {
2992 : {"decipherOnly", 1ULL << 8},
2993 : {"encipherOnly", 1ULL << 7},
2994 : {"cRLSign", 1ULL << 6},
2995 : {"keyCertSign", 1ULL << 5},
2996 : {"keyAgreement", 1ULL << 4},
2997 : {"dataEncipherment", 1ULL << 3},
2998 : {"keyEncipherment", 1ULL << 2},
2999 : {"nonRepudiation", 1ULL << 1},
3000 : {"digitalSignature", 1ULL << 0},
3001 : {NULL, 0}
3002 : };
3003 :
3004 0 : const struct units * asn1_KeyUsage_units(void){
3005 0 : return KeyUsage_units;
3006 : }
3007 :
3008 : /* template_members: PrivateKeyUsagePeriod exp exp */
3009 : /* tsequence: members isstruct: 1 */
3010 : /* template_members: PrivateKeyUsagePeriod exp imp */
3011 : /* template_members: time_t exp exp */
3012 : /* generate_template_type: time_t_tag_notBefore_69 */
3013 : /* generate_template_type: PrivateKeyUsagePeriod_tag_notBefore_68 */
3014 : /* template_members: PrivateKeyUsagePeriod exp imp */
3015 : /* template_members: time_t exp exp */
3016 : /* generate_template_type: time_t_tag_notAfter_71 */
3017 : /* generate_template_type: PrivateKeyUsagePeriod_tag_notAfter_70 */
3018 : /* generate_template_type: PrivateKeyUsagePeriod_tag__67 */
3019 : const struct asn1_template asn1_PrivateKeyUsagePeriod_tag__67[] = {
3020 : /* 0 */ { 0, sizeof(struct PrivateKeyUsagePeriod), ((void *)(uintptr_t)5) },
3021 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PrivateKeyUsagePeriod, notBefore), asn1_Time_choice_generalTime },
3022 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PrivateKeyUsagePeriod, notAfter), asn1_Time_choice_generalTime },
3023 : /* 3 */ { A1_OP_NAME, 0, "PrivateKeyUsagePeriod" },
3024 : /* 4 */ { A1_OP_NAME, 0, "notBefore" },
3025 : /* 5 */ { A1_OP_NAME, 0, "notAfter" }
3026 : };
3027 : /* generate_template_type: PrivateKeyUsagePeriod */
3028 : const struct asn1_template asn1_PrivateKeyUsagePeriod[] = {
3029 : /* 0 */ { 0, sizeof(PrivateKeyUsagePeriod), ((void *)(uintptr_t)1) },
3030 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PrivateKeyUsagePeriod_tag__67 }
3031 : };
3032 :
3033 : int ASN1CALL
3034 0 : decode_PrivateKeyUsagePeriod(const unsigned char *p, size_t len, PrivateKeyUsagePeriod *data, size_t *size)
3035 : {
3036 0 : memset(data, 0, sizeof(*data));
3037 0 : return _asn1_decode_top(asn1_PrivateKeyUsagePeriod, 0|0, p, len, data, size);
3038 : }
3039 :
3040 :
3041 : int ASN1CALL
3042 0 : encode_PrivateKeyUsagePeriod(unsigned char *p, size_t len, const PrivateKeyUsagePeriod *data, size_t *size)
3043 : {
3044 0 : return _asn1_encode(asn1_PrivateKeyUsagePeriod, p, len, data, size);
3045 : }
3046 :
3047 :
3048 : size_t ASN1CALL
3049 0 : length_PrivateKeyUsagePeriod(const PrivateKeyUsagePeriod *data)
3050 : {
3051 0 : return _asn1_length(asn1_PrivateKeyUsagePeriod, data);
3052 : }
3053 :
3054 :
3055 : void ASN1CALL
3056 0 : free_PrivateKeyUsagePeriod(PrivateKeyUsagePeriod *data)
3057 : {
3058 0 : _asn1_free_top(asn1_PrivateKeyUsagePeriod, data);
3059 0 : }
3060 :
3061 :
3062 : int ASN1CALL
3063 0 : copy_PrivateKeyUsagePeriod(const PrivateKeyUsagePeriod *from, PrivateKeyUsagePeriod *to)
3064 : {
3065 0 : return _asn1_copy_top(asn1_PrivateKeyUsagePeriod, from, to);
3066 : }
3067 :
3068 :
3069 : char * ASN1CALL
3070 0 : print_PrivateKeyUsagePeriod(const PrivateKeyUsagePeriod *data, int flags)
3071 : {
3072 0 : return _asn1_print_top(asn1_PrivateKeyUsagePeriod, flags, data);
3073 : }
3074 :
3075 : /* template_members: CertPolicyId exp exp */
3076 : /* generate_template_type: CertPolicyId_tag__72 */
3077 : /* generate_template_type: CertPolicyId */
3078 : const struct asn1_template asn1_CertPolicyId[] = {
3079 : /* 0 */ { 0, sizeof(CertPolicyId), ((void *)(uintptr_t)1) },
3080 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), 0, asn1_AttributeType_tag__1 }
3081 : };
3082 :
3083 : int ASN1CALL
3084 0 : decode_CertPolicyId(const unsigned char *p, size_t len, CertPolicyId *data, size_t *size)
3085 : {
3086 0 : memset(data, 0, sizeof(*data));
3087 0 : return _asn1_decode_top(asn1_CertPolicyId, 0|0, p, len, data, size);
3088 : }
3089 :
3090 :
3091 : int ASN1CALL
3092 0 : encode_CertPolicyId(unsigned char *p, size_t len, const CertPolicyId *data, size_t *size)
3093 : {
3094 0 : return _asn1_encode(asn1_CertPolicyId, p, len, data, size);
3095 : }
3096 :
3097 :
3098 : size_t ASN1CALL
3099 0 : length_CertPolicyId(const CertPolicyId *data)
3100 : {
3101 0 : return _asn1_length(asn1_CertPolicyId, data);
3102 : }
3103 :
3104 :
3105 : void ASN1CALL
3106 0 : free_CertPolicyId(CertPolicyId *data)
3107 : {
3108 0 : _asn1_free_top(asn1_CertPolicyId, data);
3109 0 : }
3110 :
3111 :
3112 : int ASN1CALL
3113 0 : copy_CertPolicyId(const CertPolicyId *from, CertPolicyId *to)
3114 : {
3115 0 : return _asn1_copy_top(asn1_CertPolicyId, from, to);
3116 : }
3117 :
3118 :
3119 : char * ASN1CALL
3120 0 : print_CertPolicyId(const CertPolicyId *data, int flags)
3121 : {
3122 0 : return _asn1_print_top(asn1_CertPolicyId, flags, data);
3123 : }
3124 :
3125 : /* template_members: PolicyQualifierId exp exp */
3126 : /* generate_template_type: PolicyQualifierId_tag__73 */
3127 : /* generate_template_type: PolicyQualifierId */
3128 : const struct asn1_template asn1_PolicyQualifierId[] = {
3129 : /* 0 */ { 0, sizeof(PolicyQualifierId), ((void *)(uintptr_t)1) },
3130 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), 0, asn1_AttributeType_tag__1 }
3131 : };
3132 :
3133 : int ASN1CALL
3134 0 : decode_PolicyQualifierId(const unsigned char *p, size_t len, PolicyQualifierId *data, size_t *size)
3135 : {
3136 0 : memset(data, 0, sizeof(*data));
3137 0 : return _asn1_decode_top(asn1_PolicyQualifierId, 0|0, p, len, data, size);
3138 : }
3139 :
3140 :
3141 : int ASN1CALL
3142 0 : encode_PolicyQualifierId(unsigned char *p, size_t len, const PolicyQualifierId *data, size_t *size)
3143 : {
3144 0 : return _asn1_encode(asn1_PolicyQualifierId, p, len, data, size);
3145 : }
3146 :
3147 :
3148 : size_t ASN1CALL
3149 0 : length_PolicyQualifierId(const PolicyQualifierId *data)
3150 : {
3151 0 : return _asn1_length(asn1_PolicyQualifierId, data);
3152 : }
3153 :
3154 :
3155 : void ASN1CALL
3156 0 : free_PolicyQualifierId(PolicyQualifierId *data)
3157 : {
3158 0 : _asn1_free_top(asn1_PolicyQualifierId, data);
3159 0 : }
3160 :
3161 :
3162 : int ASN1CALL
3163 0 : copy_PolicyQualifierId(const PolicyQualifierId *from, PolicyQualifierId *to)
3164 : {
3165 0 : return _asn1_copy_top(asn1_PolicyQualifierId, from, to);
3166 : }
3167 :
3168 :
3169 : char * ASN1CALL
3170 0 : print_PolicyQualifierId(const PolicyQualifierId *data, int flags)
3171 : {
3172 0 : return _asn1_print_top(asn1_PolicyQualifierId, flags, data);
3173 : }
3174 :
3175 : /* template_members: PolicyQualifierInfo exp exp */
3176 : /* tsequence: members isstruct: 1 */
3177 : /* template_members: PolicyQualifierInfo exp exp */
3178 : /* generate_template_type: PolicyQualifierInfo_tag_policyQualifierId_75 */
3179 : const struct asn1_template asn1_KnownPolicyQualifiers[] = {
3180 : /* 0 */ { 0, 0, ((void *)(uintptr_t)2) },
3181 : /* 1 */ { A1_OP_NAME, 0, "KnownPolicyQualifiers" },
3182 : /* 2 */ { A1_OP_NAME, 0, "pq-CPS" },
3183 : /* 3 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_qt_cps },
3184 : /* 4 */ { A1_OP_OPENTYPE, sizeof(AliasIA5String), (const void *)&asn1_AliasIA5String },
3185 : /* 5 */ { A1_OP_NAME, 0, "pq-UserNotice" },
3186 : /* 6 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_pkix_qt_unotice },
3187 : /* 7 */ { A1_OP_OPENTYPE, sizeof(UserNotice), (const void *)&asn1_UserNotice }
3188 : };
3189 : /* generate_template_type: PolicyQualifierInfo_tag__74 */
3190 : const struct asn1_template asn1_PolicyQualifierInfo_tag__74[] = {
3191 : /* 0 */ { 0, sizeof(struct PolicyQualifierInfo), ((void *)(uintptr_t)6) },
3192 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct PolicyQualifierInfo, policyQualifierId), asn1_AttributeType_tag__1 },
3193 : /* 2 */ { A1_OP_TYPE_EXTERN , offsetof(struct PolicyQualifierInfo, qualifier), &asn1_extern_HEIM_ANY},
3194 : /* 3 */ { A1_OP_OPENTYPE_OBJSET | A1_OS_IS_SORTED |0 | (1 << 10) | 0, offsetof(PolicyQualifierInfo, _ioschoice_qualifier), asn1_KnownPolicyQualifiers },
3195 : /* 4 */ { A1_OP_NAME, 0, "PolicyQualifierInfo" },
3196 : /* 5 */ { A1_OP_NAME, 0, "policyQualifierId" },
3197 : /* 6 */ { A1_OP_NAME, 0, "qualifier" }
3198 : };
3199 : /* generate_template_type: PolicyQualifierInfo */
3200 : const struct asn1_template asn1_PolicyQualifierInfo[] = {
3201 : /* 0 */ { 0, sizeof(PolicyQualifierInfo), ((void *)(uintptr_t)1) },
3202 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PolicyQualifierInfo_tag__74 }
3203 : };
3204 :
3205 : int ASN1CALL
3206 0 : decode_PolicyQualifierInfo(const unsigned char *p, size_t len, PolicyQualifierInfo *data, size_t *size)
3207 : {
3208 0 : memset(data, 0, sizeof(*data));
3209 0 : return _asn1_decode_top(asn1_PolicyQualifierInfo, 0|0, p, len, data, size);
3210 : }
3211 :
3212 :
3213 : int ASN1CALL
3214 0 : encode_PolicyQualifierInfo(unsigned char *p, size_t len, const PolicyQualifierInfo *data, size_t *size)
3215 : {
3216 0 : return _asn1_encode(asn1_PolicyQualifierInfo, p, len, data, size);
3217 : }
3218 :
3219 :
3220 : size_t ASN1CALL
3221 0 : length_PolicyQualifierInfo(const PolicyQualifierInfo *data)
3222 : {
3223 0 : return _asn1_length(asn1_PolicyQualifierInfo, data);
3224 : }
3225 :
3226 :
3227 : void ASN1CALL
3228 0 : free_PolicyQualifierInfo(PolicyQualifierInfo *data)
3229 : {
3230 0 : _asn1_free_top(asn1_PolicyQualifierInfo, data);
3231 0 : }
3232 :
3233 :
3234 : int ASN1CALL
3235 0 : copy_PolicyQualifierInfo(const PolicyQualifierInfo *from, PolicyQualifierInfo *to)
3236 : {
3237 0 : return _asn1_copy_top(asn1_PolicyQualifierInfo, from, to);
3238 : }
3239 :
3240 :
3241 : char * ASN1CALL
3242 0 : print_PolicyQualifierInfo(const PolicyQualifierInfo *data, int flags)
3243 : {
3244 0 : return _asn1_print_top(asn1_PolicyQualifierInfo, flags, data);
3245 : }
3246 :
3247 : /* template_members: PolicyQualifierInfos exp exp */
3248 : /* generate_template_type: PolicyQualifierInfo_seofTstruct_6 */
3249 : const struct asn1_template asn1_PolicyQualifierInfo_seofTstruct_6[] = {
3250 : /* 0 */ { 0, sizeof(PolicyQualifierInfo), ((void *)(uintptr_t)1) },
3251 : /* 1 */ { A1_OP_TYPE , 0, asn1_PolicyQualifierInfo }
3252 : };
3253 : /* generate_template_type: PolicyQualifierInfos_tag__76 */
3254 : const struct asn1_template asn1_PolicyQualifierInfos_tag__76[] = {
3255 : /* 0 */ { 0, sizeof(PolicyQualifierInfo), ((void *)(uintptr_t)1) },
3256 : /* 1 */ { A1_OP_SEQOF, 0, asn1_PolicyQualifierInfo_seofTstruct_6 }
3257 : };
3258 : /* generate_template_type: PolicyQualifierInfos */
3259 : const struct asn1_template asn1_PolicyQualifierInfos[] = {
3260 : /* 0 */ { 0, sizeof(PolicyQualifierInfos), ((void *)(uintptr_t)1) },
3261 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PolicyQualifierInfos_tag__76 }
3262 : };
3263 :
3264 : int ASN1CALL
3265 0 : decode_PolicyQualifierInfos(const unsigned char *p, size_t len, PolicyQualifierInfos *data, size_t *size)
3266 : {
3267 0 : memset(data, 0, sizeof(*data));
3268 0 : return _asn1_decode_top(asn1_PolicyQualifierInfos, 0|0, p, len, data, size);
3269 : }
3270 :
3271 :
3272 : int ASN1CALL
3273 0 : encode_PolicyQualifierInfos(unsigned char *p, size_t len, const PolicyQualifierInfos *data, size_t *size)
3274 : {
3275 0 : return _asn1_encode(asn1_PolicyQualifierInfos, p, len, data, size);
3276 : }
3277 :
3278 :
3279 : size_t ASN1CALL
3280 0 : length_PolicyQualifierInfos(const PolicyQualifierInfos *data)
3281 : {
3282 0 : return _asn1_length(asn1_PolicyQualifierInfos, data);
3283 : }
3284 :
3285 :
3286 : void ASN1CALL
3287 0 : free_PolicyQualifierInfos(PolicyQualifierInfos *data)
3288 : {
3289 0 : _asn1_free_top(asn1_PolicyQualifierInfos, data);
3290 0 : }
3291 :
3292 :
3293 : int ASN1CALL
3294 0 : copy_PolicyQualifierInfos(const PolicyQualifierInfos *from, PolicyQualifierInfos *to)
3295 : {
3296 0 : return _asn1_copy_top(asn1_PolicyQualifierInfos, from, to);
3297 : }
3298 :
3299 :
3300 : char * ASN1CALL
3301 0 : print_PolicyQualifierInfos(const PolicyQualifierInfos *data, int flags)
3302 : {
3303 0 : return _asn1_print_top(asn1_PolicyQualifierInfos, flags, data);
3304 : }
3305 :
3306 : int ASN1CALL
3307 0 : add_PolicyQualifierInfos(PolicyQualifierInfos *data, const PolicyQualifierInfo *element)
3308 : {
3309 0 : int ret;
3310 0 : void *ptr;
3311 :
3312 0 : ptr = realloc(data->val,
3313 0 : (data->len + 1) * sizeof(data->val[0]));
3314 0 : if (ptr == NULL) return ENOMEM;
3315 0 : data->val = ptr;
3316 :
3317 0 : ret = copy_PolicyQualifierInfo(element, &data->val[data->len]);
3318 0 : if (ret) return ret;
3319 0 : data->len++;
3320 0 : return 0;
3321 : }
3322 :
3323 : int ASN1CALL
3324 0 : remove_PolicyQualifierInfos(PolicyQualifierInfos *data, unsigned int element)
3325 : {
3326 0 : void *ptr;
3327 :
3328 0 : if (data->len == 0 || element >= data->len)
3329 0 : return ASN1_OVERRUN;
3330 0 : free_PolicyQualifierInfo(&data->val[element]);
3331 0 : data->len--;
3332 0 : if (element < data->len)
3333 0 : memmove(&data->val[element], &data->val[element + 1],
3334 0 : sizeof(data->val[0]) * (data->len - element));
3335 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
3336 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
3337 0 : return 0;
3338 : }
3339 :
3340 : /* template_members: PolicyInformation exp exp */
3341 : /* tsequence: members isstruct: 1 */
3342 : /* generate_template_type: PolicyInformation_tag__77 */
3343 : const struct asn1_template asn1_PolicyInformation_tag__77[] = {
3344 : /* 0 */ { 0, sizeof(struct PolicyInformation), ((void *)(uintptr_t)5) },
3345 : /* 1 */ { A1_OP_TYPE , offsetof(struct PolicyInformation, policyIdentifier), asn1_CertPolicyId },
3346 : /* 2 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct PolicyInformation, policyQualifiers), asn1_PolicyQualifierInfos },
3347 : /* 3 */ { A1_OP_NAME, 0, "PolicyInformation" },
3348 : /* 4 */ { A1_OP_NAME, 0, "policyIdentifier" },
3349 : /* 5 */ { A1_OP_NAME, 0, "policyQualifiers" }
3350 : };
3351 : /* generate_template_type: PolicyInformation */
3352 : const struct asn1_template asn1_PolicyInformation[] = {
3353 : /* 0 */ { 0, sizeof(PolicyInformation), ((void *)(uintptr_t)1) },
3354 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PolicyInformation_tag__77 }
3355 : };
3356 :
3357 : int ASN1CALL
3358 0 : decode_PolicyInformation(const unsigned char *p, size_t len, PolicyInformation *data, size_t *size)
3359 : {
3360 0 : memset(data, 0, sizeof(*data));
3361 0 : return _asn1_decode_top(asn1_PolicyInformation, 0|0, p, len, data, size);
3362 : }
3363 :
3364 :
3365 : int ASN1CALL
3366 0 : encode_PolicyInformation(unsigned char *p, size_t len, const PolicyInformation *data, size_t *size)
3367 : {
3368 0 : return _asn1_encode(asn1_PolicyInformation, p, len, data, size);
3369 : }
3370 :
3371 :
3372 : size_t ASN1CALL
3373 0 : length_PolicyInformation(const PolicyInformation *data)
3374 : {
3375 0 : return _asn1_length(asn1_PolicyInformation, data);
3376 : }
3377 :
3378 :
3379 : void ASN1CALL
3380 0 : free_PolicyInformation(PolicyInformation *data)
3381 : {
3382 0 : _asn1_free_top(asn1_PolicyInformation, data);
3383 0 : }
3384 :
3385 :
3386 : int ASN1CALL
3387 0 : copy_PolicyInformation(const PolicyInformation *from, PolicyInformation *to)
3388 : {
3389 0 : return _asn1_copy_top(asn1_PolicyInformation, from, to);
3390 : }
3391 :
3392 :
3393 : char * ASN1CALL
3394 0 : print_PolicyInformation(const PolicyInformation *data, int flags)
3395 : {
3396 0 : return _asn1_print_top(asn1_PolicyInformation, flags, data);
3397 : }
3398 :
3399 : /* template_members: CertificatePolicies exp exp */
3400 : /* generate_template_type: PolicyInformation_seofTstruct_7 */
3401 : const struct asn1_template asn1_PolicyInformation_seofTstruct_7[] = {
3402 : /* 0 */ { 0, sizeof(PolicyInformation), ((void *)(uintptr_t)1) },
3403 : /* 1 */ { A1_OP_TYPE , 0, asn1_PolicyInformation }
3404 : };
3405 : /* generate_template_type: CertificatePolicies_tag__78 */
3406 : const struct asn1_template asn1_CertificatePolicies_tag__78[] = {
3407 : /* 0 */ { 0, sizeof(PolicyInformation), ((void *)(uintptr_t)1) },
3408 : /* 1 */ { A1_OP_SEQOF, 0, asn1_PolicyInformation_seofTstruct_7 }
3409 : };
3410 : /* generate_template_type: CertificatePolicies */
3411 : const struct asn1_template asn1_CertificatePolicies[] = {
3412 : /* 0 */ { 0, sizeof(CertificatePolicies), ((void *)(uintptr_t)1) },
3413 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_CertificatePolicies_tag__78 }
3414 : };
3415 :
3416 : int ASN1CALL
3417 0 : decode_CertificatePolicies(const unsigned char *p, size_t len, CertificatePolicies *data, size_t *size)
3418 : {
3419 0 : memset(data, 0, sizeof(*data));
3420 0 : return _asn1_decode_top(asn1_CertificatePolicies, 0|0, p, len, data, size);
3421 : }
3422 :
3423 :
3424 : int ASN1CALL
3425 0 : encode_CertificatePolicies(unsigned char *p, size_t len, const CertificatePolicies *data, size_t *size)
3426 : {
3427 0 : return _asn1_encode(asn1_CertificatePolicies, p, len, data, size);
3428 : }
3429 :
3430 :
3431 : size_t ASN1CALL
3432 0 : length_CertificatePolicies(const CertificatePolicies *data)
3433 : {
3434 0 : return _asn1_length(asn1_CertificatePolicies, data);
3435 : }
3436 :
3437 :
3438 : void ASN1CALL
3439 0 : free_CertificatePolicies(CertificatePolicies *data)
3440 : {
3441 0 : _asn1_free_top(asn1_CertificatePolicies, data);
3442 0 : }
3443 :
3444 :
3445 : int ASN1CALL
3446 0 : copy_CertificatePolicies(const CertificatePolicies *from, CertificatePolicies *to)
3447 : {
3448 0 : return _asn1_copy_top(asn1_CertificatePolicies, from, to);
3449 : }
3450 :
3451 :
3452 : char * ASN1CALL
3453 0 : print_CertificatePolicies(const CertificatePolicies *data, int flags)
3454 : {
3455 0 : return _asn1_print_top(asn1_CertificatePolicies, flags, data);
3456 : }
3457 :
3458 : int ASN1CALL
3459 0 : add_CertificatePolicies(CertificatePolicies *data, const PolicyInformation *element)
3460 : {
3461 0 : int ret;
3462 0 : void *ptr;
3463 :
3464 0 : ptr = realloc(data->val,
3465 0 : (data->len + 1) * sizeof(data->val[0]));
3466 0 : if (ptr == NULL) return ENOMEM;
3467 0 : data->val = ptr;
3468 :
3469 0 : ret = copy_PolicyInformation(element, &data->val[data->len]);
3470 0 : if (ret) return ret;
3471 0 : data->len++;
3472 0 : return 0;
3473 : }
3474 :
3475 : int ASN1CALL
3476 0 : remove_CertificatePolicies(CertificatePolicies *data, unsigned int element)
3477 : {
3478 0 : void *ptr;
3479 :
3480 0 : if (data->len == 0 || element >= data->len)
3481 0 : return ASN1_OVERRUN;
3482 0 : free_PolicyInformation(&data->val[element]);
3483 0 : data->len--;
3484 0 : if (element < data->len)
3485 0 : memmove(&data->val[element], &data->val[element + 1],
3486 0 : sizeof(data->val[0]) * (data->len - element));
3487 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
3488 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
3489 0 : return 0;
3490 : }
3491 :
3492 : /* template_members: CPSuri exp exp */
3493 : /* generate_template_type: CPSuri_tag__79 */
3494 : /* generate_template_type: CPSuri */
3495 : const struct asn1_template asn1_CPSuri[] = {
3496 : /* 0 */ { 0, sizeof(CPSuri), ((void *)(uintptr_t)1) },
3497 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String), 0, asn1_heim_ia5_string_tag__4 }
3498 : };
3499 :
3500 : int ASN1CALL
3501 0 : decode_CPSuri(const unsigned char *p, size_t len, CPSuri *data, size_t *size)
3502 : {
3503 0 : memset(data, 0, sizeof(*data));
3504 0 : return _asn1_decode_top(asn1_CPSuri, 0|0, p, len, data, size);
3505 : }
3506 :
3507 :
3508 : int ASN1CALL
3509 0 : encode_CPSuri(unsigned char *p, size_t len, const CPSuri *data, size_t *size)
3510 : {
3511 0 : return _asn1_encode(asn1_CPSuri, p, len, data, size);
3512 : }
3513 :
3514 :
3515 : size_t ASN1CALL
3516 0 : length_CPSuri(const CPSuri *data)
3517 : {
3518 0 : return _asn1_length(asn1_CPSuri, data);
3519 : }
3520 :
3521 :
3522 : void ASN1CALL
3523 0 : free_CPSuri(CPSuri *data)
3524 : {
3525 0 : _asn1_free_top(asn1_CPSuri, data);
3526 0 : }
3527 :
3528 :
3529 : int ASN1CALL
3530 0 : copy_CPSuri(const CPSuri *from, CPSuri *to)
3531 : {
3532 0 : return _asn1_copy_top(asn1_CPSuri, from, to);
3533 : }
3534 :
3535 :
3536 : char * ASN1CALL
3537 0 : print_CPSuri(const CPSuri *data, int flags)
3538 : {
3539 0 : return _asn1_print_top(asn1_CPSuri, flags, data);
3540 : }
3541 :
3542 : /* template_members: heim_ia5_string exp exp */
3543 : /* generate_template_type: heim_ia5_string_tag__80 */
3544 : /* generate_template_type: DisplayText_choice_ia5String */
3545 : /* template_members: heim_visible_string exp exp */
3546 : /* generate_template_type: heim_visible_string_tag__81 */
3547 : const struct asn1_template asn1_heim_visible_string_tag__81[] = {
3548 : /* 0 */ { 0, sizeof(heim_visible_string), ((void *)(uintptr_t)1) },
3549 : /* 1 */ { A1_PARSE_T(A1T_VISIBLE_STRING), 0, NULL }
3550 : };
3551 : /* generate_template_type: DisplayText_choice_visibleString */
3552 : const struct asn1_template asn1_DisplayText_choice_visibleString[] = {
3553 : /* 0 */ { 0, sizeof(heim_visible_string), ((void *)(uintptr_t)1) },
3554 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_VisibleString), 0, asn1_heim_visible_string_tag__81 }
3555 : };
3556 : /* template_members: heim_bmp_string exp exp */
3557 : /* generate_template_type: heim_bmp_string_tag__82 */
3558 : /* generate_template_type: DisplayText_choice_bmpString */
3559 : /* template_members: heim_utf8_string exp exp */
3560 : /* generate_template_type: heim_utf8_string_tag__83 */
3561 : /* generate_template_type: DisplayText_choice_utf8String */
3562 : static const struct asn1_template asn1_choice_DisplayText_4[] = {
3563 : /* 0 */ { 0, offsetof(DisplayText, element), ((void *)(uintptr_t)8) },
3564 : /* 1 */ { choice_DisplayText_ia5String, offsetof(DisplayText, u.ia5String), asn1_DirectoryString_choice_ia5String },
3565 : /* 2 */ { choice_DisplayText_visibleString, offsetof(DisplayText, u.visibleString), asn1_DisplayText_choice_visibleString },
3566 : /* 3 */ { choice_DisplayText_bmpString, offsetof(DisplayText, u.bmpString), asn1_DirectoryString_choice_bmpString },
3567 : /* 4 */ { choice_DisplayText_utf8String, offsetof(DisplayText, u.utf8String), asn1_DirectoryString_choice_utf8String },
3568 : /* 5 */ { 0, 0, "ia5String" },
3569 : /* 6 */ { 0, 0, "visibleString" },
3570 : /* 7 */ { 0, 0, "bmpString" },
3571 : /* 8 */ { 0, 0, "utf8String" }
3572 : };
3573 : /* generate_template_type: DisplayText */
3574 : const struct asn1_template asn1_DisplayText[] = {
3575 : /* 0 */ { 0, sizeof(DisplayText), ((void *)(uintptr_t)1) },
3576 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DisplayText_4 }
3577 : };
3578 :
3579 : int ASN1CALL
3580 0 : decode_DisplayText(const unsigned char *p, size_t len, DisplayText *data, size_t *size)
3581 : {
3582 0 : memset(data, 0, sizeof(*data));
3583 0 : return _asn1_decode_top(asn1_DisplayText, 0|0, p, len, data, size);
3584 : }
3585 :
3586 :
3587 : int ASN1CALL
3588 0 : encode_DisplayText(unsigned char *p, size_t len, const DisplayText *data, size_t *size)
3589 : {
3590 0 : return _asn1_encode(asn1_DisplayText, p, len, data, size);
3591 : }
3592 :
3593 :
3594 : size_t ASN1CALL
3595 0 : length_DisplayText(const DisplayText *data)
3596 : {
3597 0 : return _asn1_length(asn1_DisplayText, data);
3598 : }
3599 :
3600 :
3601 : void ASN1CALL
3602 0 : free_DisplayText(DisplayText *data)
3603 : {
3604 0 : _asn1_free_top(asn1_DisplayText, data);
3605 0 : }
3606 :
3607 :
3608 : int ASN1CALL
3609 0 : copy_DisplayText(const DisplayText *from, DisplayText *to)
3610 : {
3611 0 : return _asn1_copy_top(asn1_DisplayText, from, to);
3612 : }
3613 :
3614 :
3615 : char * ASN1CALL
3616 0 : print_DisplayText(const DisplayText *data, int flags)
3617 : {
3618 0 : return _asn1_print_top(asn1_DisplayText, flags, data);
3619 : }
3620 :
3621 : /* template_members: NoticeReference exp exp */
3622 : /* tsequence: members isstruct: 1 */
3623 : /* template_members: NoticeReference exp exp */
3624 : /* template_members: heim_integer exp exp */
3625 : /* generate_template_type: heim_integer_tag__86 */
3626 : /* generate_template_type: NoticeReference_noticeNumbers_8 */
3627 : const struct asn1_template asn1_NoticeReference_noticeNumbers_8[] = {
3628 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
3629 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_CertificateSerialNumber_tag__15 }
3630 : };
3631 : /* generate_template_type: NoticeReference_tag_noticeNumbers_85 */
3632 : const struct asn1_template asn1_NoticeReference_tag_noticeNumbers_85[] = {
3633 : /* 0 */ { 0, sizeof(struct NoticeReference_noticeNumbers), ((void *)(uintptr_t)1) },
3634 : /* 1 */ { A1_OP_SEQOF, 0, asn1_NoticeReference_noticeNumbers_8 }
3635 : };
3636 : /* generate_template_type: NoticeReference_tag__84 */
3637 : const struct asn1_template asn1_NoticeReference_tag__84[] = {
3638 : /* 0 */ { 0, sizeof(struct NoticeReference), ((void *)(uintptr_t)5) },
3639 : /* 1 */ { A1_OP_TYPE , offsetof(struct NoticeReference, organization), asn1_DisplayText },
3640 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), offsetof(struct NoticeReference, noticeNumbers), asn1_NoticeReference_tag_noticeNumbers_85 },
3641 : /* 3 */ { A1_OP_NAME, 0, "NoticeReference" },
3642 : /* 4 */ { A1_OP_NAME, 0, "organization" },
3643 : /* 5 */ { A1_OP_NAME, 0, "noticeNumbers" }
3644 : };
3645 : /* generate_template_type: NoticeReference */
3646 : const struct asn1_template asn1_NoticeReference[] = {
3647 : /* 0 */ { 0, sizeof(NoticeReference), ((void *)(uintptr_t)1) },
3648 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NoticeReference_tag__84 }
3649 : };
3650 :
3651 : int ASN1CALL
3652 0 : decode_NoticeReference(const unsigned char *p, size_t len, NoticeReference *data, size_t *size)
3653 : {
3654 0 : memset(data, 0, sizeof(*data));
3655 0 : return _asn1_decode_top(asn1_NoticeReference, 0|0, p, len, data, size);
3656 : }
3657 :
3658 :
3659 : int ASN1CALL
3660 0 : encode_NoticeReference(unsigned char *p, size_t len, const NoticeReference *data, size_t *size)
3661 : {
3662 0 : return _asn1_encode(asn1_NoticeReference, p, len, data, size);
3663 : }
3664 :
3665 :
3666 : size_t ASN1CALL
3667 0 : length_NoticeReference(const NoticeReference *data)
3668 : {
3669 0 : return _asn1_length(asn1_NoticeReference, data);
3670 : }
3671 :
3672 :
3673 : void ASN1CALL
3674 0 : free_NoticeReference(NoticeReference *data)
3675 : {
3676 0 : _asn1_free_top(asn1_NoticeReference, data);
3677 0 : }
3678 :
3679 :
3680 : int ASN1CALL
3681 0 : copy_NoticeReference(const NoticeReference *from, NoticeReference *to)
3682 : {
3683 0 : return _asn1_copy_top(asn1_NoticeReference, from, to);
3684 : }
3685 :
3686 :
3687 : char * ASN1CALL
3688 0 : print_NoticeReference(const NoticeReference *data, int flags)
3689 : {
3690 0 : return _asn1_print_top(asn1_NoticeReference, flags, data);
3691 : }
3692 :
3693 : /* template_members: UserNotice exp exp */
3694 : /* tsequence: members isstruct: 1 */
3695 : /* generate_template_type: UserNotice_tag__87 */
3696 : const struct asn1_template asn1_UserNotice_tag__87[] = {
3697 : /* 0 */ { 0, sizeof(struct UserNotice), ((void *)(uintptr_t)5) },
3698 : /* 1 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct UserNotice, noticeRef), asn1_NoticeReference },
3699 : /* 2 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct UserNotice, explicitText), asn1_DisplayText },
3700 : /* 3 */ { A1_OP_NAME, 0, "UserNotice" },
3701 : /* 4 */ { A1_OP_NAME, 0, "noticeRef" },
3702 : /* 5 */ { A1_OP_NAME, 0, "explicitText" }
3703 : };
3704 : /* generate_template_type: UserNotice */
3705 : const struct asn1_template asn1_UserNotice[] = {
3706 : /* 0 */ { 0, sizeof(UserNotice), ((void *)(uintptr_t)1) },
3707 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_UserNotice_tag__87 }
3708 : };
3709 :
3710 : int ASN1CALL
3711 0 : decode_UserNotice(const unsigned char *p, size_t len, UserNotice *data, size_t *size)
3712 : {
3713 0 : memset(data, 0, sizeof(*data));
3714 0 : return _asn1_decode_top(asn1_UserNotice, 0|0, p, len, data, size);
3715 : }
3716 :
3717 :
3718 : int ASN1CALL
3719 0 : encode_UserNotice(unsigned char *p, size_t len, const UserNotice *data, size_t *size)
3720 : {
3721 0 : return _asn1_encode(asn1_UserNotice, p, len, data, size);
3722 : }
3723 :
3724 :
3725 : size_t ASN1CALL
3726 0 : length_UserNotice(const UserNotice *data)
3727 : {
3728 0 : return _asn1_length(asn1_UserNotice, data);
3729 : }
3730 :
3731 :
3732 : void ASN1CALL
3733 0 : free_UserNotice(UserNotice *data)
3734 : {
3735 0 : _asn1_free_top(asn1_UserNotice, data);
3736 0 : }
3737 :
3738 :
3739 : int ASN1CALL
3740 0 : copy_UserNotice(const UserNotice *from, UserNotice *to)
3741 : {
3742 0 : return _asn1_copy_top(asn1_UserNotice, from, to);
3743 : }
3744 :
3745 :
3746 : char * ASN1CALL
3747 0 : print_UserNotice(const UserNotice *data, int flags)
3748 : {
3749 0 : return _asn1_print_top(asn1_UserNotice, flags, data);
3750 : }
3751 :
3752 : /* template_members: PolicyMapping exp exp */
3753 : /* tsequence: members isstruct: 1 */
3754 : /* generate_template_type: PolicyMapping_tag__88 */
3755 : const struct asn1_template asn1_PolicyMapping_tag__88[] = {
3756 : /* 0 */ { 0, sizeof(struct PolicyMapping), ((void *)(uintptr_t)5) },
3757 : /* 1 */ { A1_OP_TYPE , offsetof(struct PolicyMapping, issuerDomainPolicy), asn1_CertPolicyId },
3758 : /* 2 */ { A1_OP_TYPE , offsetof(struct PolicyMapping, subjectDomainPolicy), asn1_CertPolicyId },
3759 : /* 3 */ { A1_OP_NAME, 0, "PolicyMapping" },
3760 : /* 4 */ { A1_OP_NAME, 0, "issuerDomainPolicy" },
3761 : /* 5 */ { A1_OP_NAME, 0, "subjectDomainPolicy" }
3762 : };
3763 : /* generate_template_type: PolicyMapping */
3764 : const struct asn1_template asn1_PolicyMapping[] = {
3765 : /* 0 */ { 0, sizeof(PolicyMapping), ((void *)(uintptr_t)1) },
3766 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PolicyMapping_tag__88 }
3767 : };
3768 :
3769 : int ASN1CALL
3770 0 : decode_PolicyMapping(const unsigned char *p, size_t len, PolicyMapping *data, size_t *size)
3771 : {
3772 0 : memset(data, 0, sizeof(*data));
3773 0 : return _asn1_decode_top(asn1_PolicyMapping, 0|0, p, len, data, size);
3774 : }
3775 :
3776 :
3777 : int ASN1CALL
3778 0 : encode_PolicyMapping(unsigned char *p, size_t len, const PolicyMapping *data, size_t *size)
3779 : {
3780 0 : return _asn1_encode(asn1_PolicyMapping, p, len, data, size);
3781 : }
3782 :
3783 :
3784 : size_t ASN1CALL
3785 0 : length_PolicyMapping(const PolicyMapping *data)
3786 : {
3787 0 : return _asn1_length(asn1_PolicyMapping, data);
3788 : }
3789 :
3790 :
3791 : void ASN1CALL
3792 0 : free_PolicyMapping(PolicyMapping *data)
3793 : {
3794 0 : _asn1_free_top(asn1_PolicyMapping, data);
3795 0 : }
3796 :
3797 :
3798 : int ASN1CALL
3799 0 : copy_PolicyMapping(const PolicyMapping *from, PolicyMapping *to)
3800 : {
3801 0 : return _asn1_copy_top(asn1_PolicyMapping, from, to);
3802 : }
3803 :
3804 :
3805 : char * ASN1CALL
3806 0 : print_PolicyMapping(const PolicyMapping *data, int flags)
3807 : {
3808 0 : return _asn1_print_top(asn1_PolicyMapping, flags, data);
3809 : }
3810 :
3811 : /* template_members: PolicyMappings exp exp */
3812 : /* generate_template_type: PolicyMapping_seofTstruct_9 */
3813 : const struct asn1_template asn1_PolicyMapping_seofTstruct_9[] = {
3814 : /* 0 */ { 0, sizeof(PolicyMapping), ((void *)(uintptr_t)1) },
3815 : /* 1 */ { A1_OP_TYPE , 0, asn1_PolicyMapping }
3816 : };
3817 : /* generate_template_type: PolicyMappings_tag__89 */
3818 : const struct asn1_template asn1_PolicyMappings_tag__89[] = {
3819 : /* 0 */ { 0, sizeof(PolicyMapping), ((void *)(uintptr_t)1) },
3820 : /* 1 */ { A1_OP_SEQOF, 0, asn1_PolicyMapping_seofTstruct_9 }
3821 : };
3822 : /* generate_template_type: PolicyMappings */
3823 : const struct asn1_template asn1_PolicyMappings[] = {
3824 : /* 0 */ { 0, sizeof(PolicyMappings), ((void *)(uintptr_t)1) },
3825 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PolicyMappings_tag__89 }
3826 : };
3827 :
3828 : int ASN1CALL
3829 0 : decode_PolicyMappings(const unsigned char *p, size_t len, PolicyMappings *data, size_t *size)
3830 : {
3831 0 : memset(data, 0, sizeof(*data));
3832 0 : return _asn1_decode_top(asn1_PolicyMappings, 0|0, p, len, data, size);
3833 : }
3834 :
3835 :
3836 : int ASN1CALL
3837 0 : encode_PolicyMappings(unsigned char *p, size_t len, const PolicyMappings *data, size_t *size)
3838 : {
3839 0 : return _asn1_encode(asn1_PolicyMappings, p, len, data, size);
3840 : }
3841 :
3842 :
3843 : size_t ASN1CALL
3844 0 : length_PolicyMappings(const PolicyMappings *data)
3845 : {
3846 0 : return _asn1_length(asn1_PolicyMappings, data);
3847 : }
3848 :
3849 :
3850 : void ASN1CALL
3851 0 : free_PolicyMappings(PolicyMappings *data)
3852 : {
3853 0 : _asn1_free_top(asn1_PolicyMappings, data);
3854 0 : }
3855 :
3856 :
3857 : int ASN1CALL
3858 0 : copy_PolicyMappings(const PolicyMappings *from, PolicyMappings *to)
3859 : {
3860 0 : return _asn1_copy_top(asn1_PolicyMappings, from, to);
3861 : }
3862 :
3863 :
3864 : char * ASN1CALL
3865 0 : print_PolicyMappings(const PolicyMappings *data, int flags)
3866 : {
3867 0 : return _asn1_print_top(asn1_PolicyMappings, flags, data);
3868 : }
3869 :
3870 : int ASN1CALL
3871 0 : add_PolicyMappings(PolicyMappings *data, const PolicyMapping *element)
3872 : {
3873 0 : int ret;
3874 0 : void *ptr;
3875 :
3876 0 : ptr = realloc(data->val,
3877 0 : (data->len + 1) * sizeof(data->val[0]));
3878 0 : if (ptr == NULL) return ENOMEM;
3879 0 : data->val = ptr;
3880 :
3881 0 : ret = copy_PolicyMapping(element, &data->val[data->len]);
3882 0 : if (ret) return ret;
3883 0 : data->len++;
3884 0 : return 0;
3885 : }
3886 :
3887 : int ASN1CALL
3888 0 : remove_PolicyMappings(PolicyMappings *data, unsigned int element)
3889 : {
3890 0 : void *ptr;
3891 :
3892 0 : if (data->len == 0 || element >= data->len)
3893 0 : return ASN1_OVERRUN;
3894 0 : free_PolicyMapping(&data->val[element]);
3895 0 : data->len--;
3896 0 : if (element < data->len)
3897 0 : memmove(&data->val[element], &data->val[element + 1],
3898 0 : sizeof(data->val[0]) * (data->len - element));
3899 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
3900 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
3901 0 : return 0;
3902 : }
3903 :
3904 : /* template_members: KeyIdentifier exp exp */
3905 : /* generate_template_type: KeyIdentifier_tag__90 */
3906 : /* generate_template_type: KeyIdentifier */
3907 : const struct asn1_template asn1_KeyIdentifier[] = {
3908 : /* 0 */ { 0, sizeof(KeyIdentifier), ((void *)(uintptr_t)1) },
3909 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_Extension_tag_extnValue_25 }
3910 : };
3911 :
3912 : int ASN1CALL
3913 0 : decode_KeyIdentifier(const unsigned char *p, size_t len, KeyIdentifier *data, size_t *size)
3914 : {
3915 0 : memset(data, 0, sizeof(*data));
3916 0 : return _asn1_decode_top(asn1_KeyIdentifier, 0|0, p, len, data, size);
3917 : }
3918 :
3919 :
3920 : int ASN1CALL
3921 0 : encode_KeyIdentifier(unsigned char *p, size_t len, const KeyIdentifier *data, size_t *size)
3922 : {
3923 0 : return _asn1_encode(asn1_KeyIdentifier, p, len, data, size);
3924 : }
3925 :
3926 :
3927 : size_t ASN1CALL
3928 0 : length_KeyIdentifier(const KeyIdentifier *data)
3929 : {
3930 0 : return _asn1_length(asn1_KeyIdentifier, data);
3931 : }
3932 :
3933 :
3934 : void ASN1CALL
3935 0 : free_KeyIdentifier(KeyIdentifier *data)
3936 : {
3937 0 : _asn1_free_top(asn1_KeyIdentifier, data);
3938 0 : }
3939 :
3940 :
3941 : int ASN1CALL
3942 0 : copy_KeyIdentifier(const KeyIdentifier *from, KeyIdentifier *to)
3943 : {
3944 0 : return _asn1_copy_top(asn1_KeyIdentifier, from, to);
3945 : }
3946 :
3947 :
3948 : char * ASN1CALL
3949 0 : print_KeyIdentifier(const KeyIdentifier *data, int flags)
3950 : {
3951 0 : return _asn1_print_top(asn1_KeyIdentifier, flags, data);
3952 : }
3953 :
3954 : /* template_members: AuthorityKeyIdentifier exp exp */
3955 : /* tsequence: members isstruct: 1 */
3956 : /* template_members: AuthorityKeyIdentifier exp imp */
3957 : /* template_members: heim_octet_string exp exp */
3958 : /* generate_template_type: heim_octet_string_tag_keyIdentifier_93 */
3959 : /* generate_template_type: AuthorityKeyIdentifier_tag_keyIdentifier_92 */
3960 : /* template_members: AuthorityKeyIdentifier exp imp */
3961 : /* template_members: AuthorityKeyIdentifier exp exp */
3962 : /* generate_template_type: AuthorityKeyIdentifier_authorityCertIssuer_10 */
3963 : /* generate_template_type: AuthorityKeyIdentifier_tag_authorityCertIssuer_95 */
3964 : const struct asn1_template asn1_AuthorityKeyIdentifier_tag_authorityCertIssuer_95[] = {
3965 : /* 0 */ { 0, sizeof(struct AuthorityKeyIdentifier_authorityCertIssuer), ((void *)(uintptr_t)1) },
3966 : /* 1 */ { A1_OP_SEQOF, 0, asn1_GeneralName_seofTstruct_5 }
3967 : };
3968 : /* generate_template_type: AuthorityKeyIdentifier_tag_authorityCertIssuer_94 */
3969 : const struct asn1_template asn1_AuthorityKeyIdentifier_tag_authorityCertIssuer_94[] = {
3970 : /* 0 */ { 0, sizeof(struct AuthorityKeyIdentifier_authorityCertIssuer), ((void *)(uintptr_t)1) },
3971 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthorityKeyIdentifier_tag_authorityCertIssuer_95 }
3972 : };
3973 : /* template_members: AuthorityKeyIdentifier exp imp */
3974 : /* template_members: heim_integer exp exp */
3975 : /* generate_template_type: heim_integer_tag_authorityCertSerialNumber_97 */
3976 : /* generate_template_type: AuthorityKeyIdentifier_tag_authorityCertSerialNumber_96 */
3977 : /* generate_template_type: AuthorityKeyIdentifier_tag__91 */
3978 : const struct asn1_template asn1_AuthorityKeyIdentifier_tag__91[] = {
3979 : /* 0 */ { 0, sizeof(struct AuthorityKeyIdentifier), ((void *)(uintptr_t)7) },
3980 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct AuthorityKeyIdentifier, keyIdentifier), asn1_heim_octet_string_tag__61 },
3981 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct AuthorityKeyIdentifier, authorityCertIssuer), asn1_AuthorityKeyIdentifier_tag_authorityCertIssuer_94 },
3982 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,2)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct AuthorityKeyIdentifier, authorityCertSerialNumber), asn1_NoticeReference_noticeNumbers_8 },
3983 : /* 4 */ { A1_OP_NAME, 0, "AuthorityKeyIdentifier" },
3984 : /* 5 */ { A1_OP_NAME, 0, "keyIdentifier" },
3985 : /* 6 */ { A1_OP_NAME, 0, "authorityCertIssuer" },
3986 : /* 7 */ { A1_OP_NAME, 0, "authorityCertSerialNumber" }
3987 : };
3988 : /* generate_template_type: AuthorityKeyIdentifier */
3989 : const struct asn1_template asn1_AuthorityKeyIdentifier[] = {
3990 : /* 0 */ { 0, sizeof(AuthorityKeyIdentifier), ((void *)(uintptr_t)1) },
3991 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthorityKeyIdentifier_tag__91 }
3992 : };
3993 :
3994 : int ASN1CALL
3995 28 : decode_AuthorityKeyIdentifier(const unsigned char *p, size_t len, AuthorityKeyIdentifier *data, size_t *size)
3996 : {
3997 28 : memset(data, 0, sizeof(*data));
3998 28 : return _asn1_decode_top(asn1_AuthorityKeyIdentifier, 0|0, p, len, data, size);
3999 : }
4000 :
4001 :
4002 : int ASN1CALL
4003 0 : encode_AuthorityKeyIdentifier(unsigned char *p, size_t len, const AuthorityKeyIdentifier *data, size_t *size)
4004 : {
4005 0 : return _asn1_encode(asn1_AuthorityKeyIdentifier, p, len, data, size);
4006 : }
4007 :
4008 :
4009 : size_t ASN1CALL
4010 0 : length_AuthorityKeyIdentifier(const AuthorityKeyIdentifier *data)
4011 : {
4012 0 : return _asn1_length(asn1_AuthorityKeyIdentifier, data);
4013 : }
4014 :
4015 :
4016 : void ASN1CALL
4017 213 : free_AuthorityKeyIdentifier(AuthorityKeyIdentifier *data)
4018 : {
4019 213 : _asn1_free_top(asn1_AuthorityKeyIdentifier, data);
4020 213 : }
4021 :
4022 :
4023 : int ASN1CALL
4024 0 : copy_AuthorityKeyIdentifier(const AuthorityKeyIdentifier *from, AuthorityKeyIdentifier *to)
4025 : {
4026 0 : return _asn1_copy_top(asn1_AuthorityKeyIdentifier, from, to);
4027 : }
4028 :
4029 :
4030 : char * ASN1CALL
4031 0 : print_AuthorityKeyIdentifier(const AuthorityKeyIdentifier *data, int flags)
4032 : {
4033 0 : return _asn1_print_top(asn1_AuthorityKeyIdentifier, flags, data);
4034 : }
4035 :
4036 : /* generate_template_type: SubjectKeyIdentifier */
4037 : const struct asn1_template asn1_SubjectKeyIdentifier[] = {
4038 : /* 0 */ { 0, sizeof(SubjectKeyIdentifier), ((void *)(uintptr_t)1) },
4039 : /* 1 */ { A1_OP_TYPE , 0, asn1_KeyIdentifier }
4040 : };
4041 :
4042 : int ASN1CALL
4043 308 : decode_SubjectKeyIdentifier(const unsigned char *p, size_t len, SubjectKeyIdentifier *data, size_t *size)
4044 : {
4045 308 : memset(data, 0, sizeof(*data));
4046 308 : return _asn1_decode_top(asn1_SubjectKeyIdentifier, 0|0, p, len, data, size);
4047 : }
4048 :
4049 :
4050 : int ASN1CALL
4051 86 : encode_SubjectKeyIdentifier(unsigned char *p, size_t len, const SubjectKeyIdentifier *data, size_t *size)
4052 : {
4053 86 : return _asn1_encode(asn1_SubjectKeyIdentifier, p, len, data, size);
4054 : }
4055 :
4056 :
4057 : size_t ASN1CALL
4058 172 : length_SubjectKeyIdentifier(const SubjectKeyIdentifier *data)
4059 : {
4060 172 : return _asn1_length(asn1_SubjectKeyIdentifier, data);
4061 : }
4062 :
4063 :
4064 : void ASN1CALL
4065 308 : free_SubjectKeyIdentifier(SubjectKeyIdentifier *data)
4066 : {
4067 308 : _asn1_free_top(asn1_SubjectKeyIdentifier, data);
4068 308 : }
4069 :
4070 :
4071 : int ASN1CALL
4072 0 : copy_SubjectKeyIdentifier(const SubjectKeyIdentifier *from, SubjectKeyIdentifier *to)
4073 : {
4074 0 : return _asn1_copy_top(asn1_SubjectKeyIdentifier, from, to);
4075 : }
4076 :
4077 :
4078 : char * ASN1CALL
4079 0 : print_SubjectKeyIdentifier(const SubjectKeyIdentifier *data, int flags)
4080 : {
4081 0 : return _asn1_print_top(asn1_SubjectKeyIdentifier, flags, data);
4082 : }
4083 :
4084 : /* template_members: BasicConstraints exp exp */
4085 : /* tsequence: members isstruct: 1 */
4086 : /* template_members: BasicConstraints exp exp */
4087 : /* generate_template_type: BasicConstraints_tag_cA_99 */
4088 : /* template_members: BasicConstraints exp exp */
4089 : /* generate_template_type: BasicConstraints_tag_pathLenConstraint_100 */
4090 : const struct asn1_template asn1_BasicConstraints_tag_pathLenConstraint_100[] = {
4091 : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
4092 : /* 1 */ { A1_PARSE_T(A1T_UNSIGNED), 0, NULL }
4093 : };
4094 : /* generate_template_type: BasicConstraints_tag__98 */
4095 : const struct asn1_template asn1_BasicConstraints_tag__98[] = {
4096 : /* 0 */ { 0, sizeof(struct BasicConstraints), ((void *)(uintptr_t)6) },
4097 : /* 1 */ { A1_OP_DEFVAL|A1_DV_BOOLEAN, ~0, (void *)(uintptr_t)0 },
4098 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean)|A1_FLAG_DEFAULT, offsetof(struct BasicConstraints, cA), asn1_Extension_tag_critical_24 },
4099 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer)|A1_FLAG_OPTIONAL, offsetof(struct BasicConstraints, pathLenConstraint), asn1_BasicConstraints_tag_pathLenConstraint_100 },
4100 : /* 4 */ { A1_OP_NAME, 0, "BasicConstraints" },
4101 : /* 5 */ { A1_OP_NAME, 0, "cA" },
4102 : /* 6 */ { A1_OP_NAME, 0, "pathLenConstraint" }
4103 : };
4104 : /* generate_template_type: BasicConstraints */
4105 : const struct asn1_template asn1_BasicConstraints[] = {
4106 : /* 0 */ { 0, sizeof(BasicConstraints), ((void *)(uintptr_t)1) },
4107 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_BasicConstraints_tag__98 }
4108 : };
4109 :
4110 : int ASN1CALL
4111 148 : decode_BasicConstraints(const unsigned char *p, size_t len, BasicConstraints *data, size_t *size)
4112 : {
4113 148 : memset(data, 0, sizeof(*data));
4114 148 : return _asn1_decode_top(asn1_BasicConstraints, 0|0, p, len, data, size);
4115 : }
4116 :
4117 :
4118 : int ASN1CALL
4119 0 : encode_BasicConstraints(unsigned char *p, size_t len, const BasicConstraints *data, size_t *size)
4120 : {
4121 0 : return _asn1_encode(asn1_BasicConstraints, p, len, data, size);
4122 : }
4123 :
4124 :
4125 : size_t ASN1CALL
4126 0 : length_BasicConstraints(const BasicConstraints *data)
4127 : {
4128 0 : return _asn1_length(asn1_BasicConstraints, data);
4129 : }
4130 :
4131 :
4132 : void ASN1CALL
4133 148 : free_BasicConstraints(BasicConstraints *data)
4134 : {
4135 148 : _asn1_free_top(asn1_BasicConstraints, data);
4136 148 : }
4137 :
4138 :
4139 : int ASN1CALL
4140 0 : copy_BasicConstraints(const BasicConstraints *from, BasicConstraints *to)
4141 : {
4142 0 : return _asn1_copy_top(asn1_BasicConstraints, from, to);
4143 : }
4144 :
4145 :
4146 : char * ASN1CALL
4147 0 : print_BasicConstraints(const BasicConstraints *data, int flags)
4148 : {
4149 0 : return _asn1_print_top(asn1_BasicConstraints, flags, data);
4150 : }
4151 :
4152 : /* template_members: BaseDistance exp exp */
4153 : /* generate_template_type: BaseDistance_tag__101 */
4154 : /* generate_template_type: BaseDistance */
4155 : const struct asn1_template asn1_BaseDistance[] = {
4156 : /* 0 */ { 0, sizeof(BaseDistance), ((void *)(uintptr_t)1) },
4157 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_BasicConstraints_tag_pathLenConstraint_100 }
4158 : };
4159 :
4160 : int ASN1CALL
4161 0 : decode_BaseDistance(const unsigned char *p, size_t len, BaseDistance *data, size_t *size)
4162 : {
4163 0 : memset(data, 0, sizeof(*data));
4164 0 : return _asn1_decode_top(asn1_BaseDistance, 0|0, p, len, data, size);
4165 : }
4166 :
4167 :
4168 : int ASN1CALL
4169 0 : encode_BaseDistance(unsigned char *p, size_t len, const BaseDistance *data, size_t *size)
4170 : {
4171 0 : return _asn1_encode(asn1_BaseDistance, p, len, data, size);
4172 : }
4173 :
4174 :
4175 : size_t ASN1CALL
4176 0 : length_BaseDistance(const BaseDistance *data)
4177 : {
4178 0 : return _asn1_length(asn1_BaseDistance, data);
4179 : }
4180 :
4181 :
4182 : void ASN1CALL
4183 0 : free_BaseDistance(BaseDistance *data)
4184 : {
4185 0 : _asn1_free_top(asn1_BaseDistance, data);
4186 0 : }
4187 :
4188 :
4189 : int ASN1CALL
4190 0 : copy_BaseDistance(const BaseDistance *from, BaseDistance *to)
4191 : {
4192 0 : return _asn1_copy_top(asn1_BaseDistance, from, to);
4193 : }
4194 :
4195 :
4196 : char * ASN1CALL
4197 0 : print_BaseDistance(const BaseDistance *data, int flags)
4198 : {
4199 0 : return _asn1_print_top(asn1_BaseDistance, flags, data);
4200 : }
4201 :
4202 : /* template_members: GeneralSubtree exp exp */
4203 : /* tsequence: members isstruct: 1 */
4204 : /* template_members: GeneralSubtree exp imp */
4205 : /* generate_template_type: GeneralSubtree_tag_minimum_103 */
4206 : const struct asn1_template asn1_GeneralSubtree_tag_minimum_103[] = {
4207 : /* 0 */ { 0, sizeof(BaseDistance), ((void *)(uintptr_t)1) },
4208 : /* 1 */ { A1_OP_TYPE , 0, asn1_BaseDistance }
4209 : };
4210 : /* template_members: GeneralSubtree exp imp */
4211 : /* generate_template_type: GeneralSubtree_tag_maximum_104 */
4212 : /* generate_template_type: GeneralSubtree_tag__102 */
4213 : const struct asn1_template asn1_GeneralSubtree_tag__102[] = {
4214 : /* 0 */ { 0, sizeof(struct GeneralSubtree), ((void *)(uintptr_t)8) },
4215 : /* 1 */ { A1_OP_TYPE , offsetof(struct GeneralSubtree, base), asn1_GeneralName },
4216 : /* 2 */ { A1_OP_DEFVAL|A1_DV_INTEGER32, ~0, (void *)(uintptr_t)0 },
4217 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_DEFAULT|A1_FLAG_IMPLICIT, offsetof(struct GeneralSubtree, minimum), asn1_GeneralSubtree_tag_minimum_103 },
4218 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct GeneralSubtree, maximum), asn1_GeneralSubtree_tag_minimum_103 },
4219 : /* 5 */ { A1_OP_NAME, 0, "GeneralSubtree" },
4220 : /* 6 */ { A1_OP_NAME, 0, "base" },
4221 : /* 7 */ { A1_OP_NAME, 0, "minimum" },
4222 : /* 8 */ { A1_OP_NAME, 0, "maximum" }
4223 : };
4224 : /* generate_template_type: GeneralSubtree */
4225 : const struct asn1_template asn1_GeneralSubtree[] = {
4226 : /* 0 */ { 0, sizeof(GeneralSubtree), ((void *)(uintptr_t)1) },
4227 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_GeneralSubtree_tag__102 }
4228 : };
4229 :
4230 : int ASN1CALL
4231 0 : decode_GeneralSubtree(const unsigned char *p, size_t len, GeneralSubtree *data, size_t *size)
4232 : {
4233 0 : memset(data, 0, sizeof(*data));
4234 0 : return _asn1_decode_top(asn1_GeneralSubtree, 0|0, p, len, data, size);
4235 : }
4236 :
4237 :
4238 : int ASN1CALL
4239 0 : encode_GeneralSubtree(unsigned char *p, size_t len, const GeneralSubtree *data, size_t *size)
4240 : {
4241 0 : return _asn1_encode(asn1_GeneralSubtree, p, len, data, size);
4242 : }
4243 :
4244 :
4245 : size_t ASN1CALL
4246 0 : length_GeneralSubtree(const GeneralSubtree *data)
4247 : {
4248 0 : return _asn1_length(asn1_GeneralSubtree, data);
4249 : }
4250 :
4251 :
4252 : void ASN1CALL
4253 0 : free_GeneralSubtree(GeneralSubtree *data)
4254 : {
4255 0 : _asn1_free_top(asn1_GeneralSubtree, data);
4256 0 : }
4257 :
4258 :
4259 : int ASN1CALL
4260 0 : copy_GeneralSubtree(const GeneralSubtree *from, GeneralSubtree *to)
4261 : {
4262 0 : return _asn1_copy_top(asn1_GeneralSubtree, from, to);
4263 : }
4264 :
4265 :
4266 : char * ASN1CALL
4267 0 : print_GeneralSubtree(const GeneralSubtree *data, int flags)
4268 : {
4269 0 : return _asn1_print_top(asn1_GeneralSubtree, flags, data);
4270 : }
4271 :
4272 : /* template_members: GeneralSubtrees exp exp */
4273 : /* generate_template_type: GeneralSubtree_seofTstruct_11 */
4274 : const struct asn1_template asn1_GeneralSubtree_seofTstruct_11[] = {
4275 : /* 0 */ { 0, sizeof(GeneralSubtree), ((void *)(uintptr_t)1) },
4276 : /* 1 */ { A1_OP_TYPE , 0, asn1_GeneralSubtree }
4277 : };
4278 : /* generate_template_type: GeneralSubtrees_tag__105 */
4279 : const struct asn1_template asn1_GeneralSubtrees_tag__105[] = {
4280 : /* 0 */ { 0, sizeof(GeneralSubtree), ((void *)(uintptr_t)1) },
4281 : /* 1 */ { A1_OP_SEQOF, 0, asn1_GeneralSubtree_seofTstruct_11 }
4282 : };
4283 : /* generate_template_type: GeneralSubtrees */
4284 : const struct asn1_template asn1_GeneralSubtrees[] = {
4285 : /* 0 */ { 0, sizeof(GeneralSubtrees), ((void *)(uintptr_t)1) },
4286 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_GeneralSubtrees_tag__105 }
4287 : };
4288 :
4289 : int ASN1CALL
4290 0 : decode_GeneralSubtrees(const unsigned char *p, size_t len, GeneralSubtrees *data, size_t *size)
4291 : {
4292 0 : memset(data, 0, sizeof(*data));
4293 0 : return _asn1_decode_top(asn1_GeneralSubtrees, 0|0, p, len, data, size);
4294 : }
4295 :
4296 :
4297 : int ASN1CALL
4298 0 : encode_GeneralSubtrees(unsigned char *p, size_t len, const GeneralSubtrees *data, size_t *size)
4299 : {
4300 0 : return _asn1_encode(asn1_GeneralSubtrees, p, len, data, size);
4301 : }
4302 :
4303 :
4304 : size_t ASN1CALL
4305 0 : length_GeneralSubtrees(const GeneralSubtrees *data)
4306 : {
4307 0 : return _asn1_length(asn1_GeneralSubtrees, data);
4308 : }
4309 :
4310 :
4311 : void ASN1CALL
4312 0 : free_GeneralSubtrees(GeneralSubtrees *data)
4313 : {
4314 0 : _asn1_free_top(asn1_GeneralSubtrees, data);
4315 0 : }
4316 :
4317 :
4318 : int ASN1CALL
4319 0 : copy_GeneralSubtrees(const GeneralSubtrees *from, GeneralSubtrees *to)
4320 : {
4321 0 : return _asn1_copy_top(asn1_GeneralSubtrees, from, to);
4322 : }
4323 :
4324 :
4325 : char * ASN1CALL
4326 0 : print_GeneralSubtrees(const GeneralSubtrees *data, int flags)
4327 : {
4328 0 : return _asn1_print_top(asn1_GeneralSubtrees, flags, data);
4329 : }
4330 :
4331 : /* template_members: NameConstraints exp exp */
4332 : /* tsequence: members isstruct: 1 */
4333 : /* template_members: NameConstraints exp imp */
4334 : /* template_members: NameConstraints exp exp */
4335 : /* generate_template_type: NameConstraints_permittedSubtrees_12 */
4336 : /* generate_template_type: NameConstraints_tag_permittedSubtrees_108 */
4337 : const struct asn1_template asn1_NameConstraints_tag_permittedSubtrees_108[] = {
4338 : /* 0 */ { 0, sizeof(struct NameConstraints_permittedSubtrees), ((void *)(uintptr_t)1) },
4339 : /* 1 */ { A1_OP_SEQOF, 0, asn1_GeneralSubtree_seofTstruct_11 }
4340 : };
4341 : /* generate_template_type: NameConstraints_tag_permittedSubtrees_107 */
4342 : const struct asn1_template asn1_NameConstraints_tag_permittedSubtrees_107[] = {
4343 : /* 0 */ { 0, sizeof(struct NameConstraints_permittedSubtrees), ((void *)(uintptr_t)1) },
4344 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NameConstraints_tag_permittedSubtrees_108 }
4345 : };
4346 : /* template_members: NameConstraints exp imp */
4347 : /* template_members: NameConstraints exp exp */
4348 : /* generate_template_type: NameConstraints_excludedSubtrees_13 */
4349 : /* generate_template_type: NameConstraints_tag_excludedSubtrees_110 */
4350 : const struct asn1_template asn1_NameConstraints_tag_excludedSubtrees_110[] = {
4351 : /* 0 */ { 0, sizeof(struct NameConstraints_excludedSubtrees), ((void *)(uintptr_t)1) },
4352 : /* 1 */ { A1_OP_SEQOF, 0, asn1_GeneralSubtree_seofTstruct_11 }
4353 : };
4354 : /* generate_template_type: NameConstraints_tag_excludedSubtrees_109 */
4355 : const struct asn1_template asn1_NameConstraints_tag_excludedSubtrees_109[] = {
4356 : /* 0 */ { 0, sizeof(struct NameConstraints_excludedSubtrees), ((void *)(uintptr_t)1) },
4357 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NameConstraints_tag_excludedSubtrees_110 }
4358 : };
4359 : /* generate_template_type: NameConstraints_tag__106 */
4360 : const struct asn1_template asn1_NameConstraints_tag__106[] = {
4361 : /* 0 */ { 0, sizeof(struct NameConstraints), ((void *)(uintptr_t)5) },
4362 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct NameConstraints, permittedSubtrees), asn1_NameConstraints_tag_permittedSubtrees_107 },
4363 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct NameConstraints, excludedSubtrees), asn1_NameConstraints_tag_excludedSubtrees_109 },
4364 : /* 3 */ { A1_OP_NAME, 0, "NameConstraints" },
4365 : /* 4 */ { A1_OP_NAME, 0, "permittedSubtrees" },
4366 : /* 5 */ { A1_OP_NAME, 0, "excludedSubtrees" }
4367 : };
4368 : /* generate_template_type: NameConstraints */
4369 : const struct asn1_template asn1_NameConstraints[] = {
4370 : /* 0 */ { 0, sizeof(NameConstraints), ((void *)(uintptr_t)1) },
4371 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NameConstraints_tag__106 }
4372 : };
4373 :
4374 : int ASN1CALL
4375 0 : decode_NameConstraints(const unsigned char *p, size_t len, NameConstraints *data, size_t *size)
4376 : {
4377 0 : memset(data, 0, sizeof(*data));
4378 0 : return _asn1_decode_top(asn1_NameConstraints, 0|0, p, len, data, size);
4379 : }
4380 :
4381 :
4382 : int ASN1CALL
4383 0 : encode_NameConstraints(unsigned char *p, size_t len, const NameConstraints *data, size_t *size)
4384 : {
4385 0 : return _asn1_encode(asn1_NameConstraints, p, len, data, size);
4386 : }
4387 :
4388 :
4389 : size_t ASN1CALL
4390 0 : length_NameConstraints(const NameConstraints *data)
4391 : {
4392 0 : return _asn1_length(asn1_NameConstraints, data);
4393 : }
4394 :
4395 :
4396 : void ASN1CALL
4397 0 : free_NameConstraints(NameConstraints *data)
4398 : {
4399 0 : _asn1_free_top(asn1_NameConstraints, data);
4400 0 : }
4401 :
4402 :
4403 : int ASN1CALL
4404 0 : copy_NameConstraints(const NameConstraints *from, NameConstraints *to)
4405 : {
4406 0 : return _asn1_copy_top(asn1_NameConstraints, from, to);
4407 : }
4408 :
4409 :
4410 : char * ASN1CALL
4411 0 : print_NameConstraints(const NameConstraints *data, int flags)
4412 : {
4413 0 : return _asn1_print_top(asn1_NameConstraints, flags, data);
4414 : }
4415 :
4416 : /* template_members: ExtKeyUsage exp exp */
4417 : /* template_members: heim_oid exp exp */
4418 : /* generate_template_type: heim_oid_tag__112 */
4419 : /* generate_template_type: heim_oid_seofTstruct_14 */
4420 : /* generate_template_type: ExtKeyUsage_tag__111 */
4421 : const struct asn1_template asn1_ExtKeyUsage_tag__111[] = {
4422 : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
4423 : /* 1 */ { A1_OP_SEQOF, 0, asn1_heim_oid_tag__63 }
4424 : };
4425 : /* generate_template_type: ExtKeyUsage */
4426 : const struct asn1_template asn1_ExtKeyUsage[] = {
4427 : /* 0 */ { 0, sizeof(ExtKeyUsage), ((void *)(uintptr_t)1) },
4428 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ExtKeyUsage_tag__111 }
4429 : };
4430 :
4431 : int ASN1CALL
4432 99 : decode_ExtKeyUsage(const unsigned char *p, size_t len, ExtKeyUsage *data, size_t *size)
4433 : {
4434 99 : memset(data, 0, sizeof(*data));
4435 99 : return _asn1_decode_top(asn1_ExtKeyUsage, 0|0, p, len, data, size);
4436 : }
4437 :
4438 :
4439 : int ASN1CALL
4440 0 : encode_ExtKeyUsage(unsigned char *p, size_t len, const ExtKeyUsage *data, size_t *size)
4441 : {
4442 0 : return _asn1_encode(asn1_ExtKeyUsage, p, len, data, size);
4443 : }
4444 :
4445 :
4446 : size_t ASN1CALL
4447 0 : length_ExtKeyUsage(const ExtKeyUsage *data)
4448 : {
4449 0 : return _asn1_length(asn1_ExtKeyUsage, data);
4450 : }
4451 :
4452 :
4453 : void ASN1CALL
4454 99 : free_ExtKeyUsage(ExtKeyUsage *data)
4455 : {
4456 99 : _asn1_free_top(asn1_ExtKeyUsage, data);
4457 99 : }
4458 :
4459 :
4460 : int ASN1CALL
4461 0 : copy_ExtKeyUsage(const ExtKeyUsage *from, ExtKeyUsage *to)
4462 : {
4463 0 : return _asn1_copy_top(asn1_ExtKeyUsage, from, to);
4464 : }
4465 :
4466 :
4467 : char * ASN1CALL
4468 0 : print_ExtKeyUsage(const ExtKeyUsage *data, int flags)
4469 : {
4470 0 : return _asn1_print_top(asn1_ExtKeyUsage, flags, data);
4471 : }
4472 :
4473 : /* template_members: DistributionPointReasonFlags exp exp */
4474 : static const struct asn1_template asn1_DistributionPointReasonFlags_bmember__1[] = {
4475 : /* 0 */ { 0, sizeof(DistributionPointReasonFlags), ((void *)(uintptr_t)9) },
4476 : /* 1 */ { 0, 0, "unused" },
4477 : /* 2 */ { 0, 1, "keyCompromise" },
4478 : /* 3 */ { 0, 2, "cACompromise" },
4479 : /* 4 */ { 0, 3, "affiliationChanged" },
4480 : /* 5 */ { 0, 4, "superseded" },
4481 : /* 6 */ { 0, 5, "cessationOfOperation" },
4482 : /* 7 */ { 0, 6, "certificateHold" },
4483 : /* 8 */ { 0, 7, "privilegeWithdrawn" },
4484 : /* 9 */ { 0, 8, "aACompromise" }
4485 : };
4486 : /* generate_template_type: DistributionPointReasonFlags_tag__113 */
4487 : const struct asn1_template asn1_DistributionPointReasonFlags_tag__113[] = {
4488 : /* 0 */ { 0, sizeof(DistributionPointReasonFlags), ((void *)(uintptr_t)1) },
4489 : /* 1 */ { A1_OP_BMEMBER, 0, asn1_DistributionPointReasonFlags_bmember__1 }
4490 : };
4491 : /* generate_template_type: DistributionPointReasonFlags */
4492 : const struct asn1_template asn1_DistributionPointReasonFlags[] = {
4493 : /* 0 */ { 0, sizeof(DistributionPointReasonFlags), ((void *)(uintptr_t)1) },
4494 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_DistributionPointReasonFlags_tag__113 }
4495 : };
4496 :
4497 : int ASN1CALL
4498 0 : decode_DistributionPointReasonFlags(const unsigned char *p, size_t len, DistributionPointReasonFlags *data, size_t *size)
4499 : {
4500 0 : memset(data, 0, sizeof(*data));
4501 0 : return _asn1_decode_top(asn1_DistributionPointReasonFlags, 0|0, p, len, data, size);
4502 : }
4503 :
4504 :
4505 : int ASN1CALL
4506 0 : encode_DistributionPointReasonFlags(unsigned char *p, size_t len, const DistributionPointReasonFlags *data, size_t *size)
4507 : {
4508 0 : return _asn1_encode(asn1_DistributionPointReasonFlags, p, len, data, size);
4509 : }
4510 :
4511 :
4512 : size_t ASN1CALL
4513 0 : length_DistributionPointReasonFlags(const DistributionPointReasonFlags *data)
4514 : {
4515 0 : return _asn1_length(asn1_DistributionPointReasonFlags, data);
4516 : }
4517 :
4518 :
4519 : void ASN1CALL
4520 0 : free_DistributionPointReasonFlags(DistributionPointReasonFlags *data)
4521 : {
4522 0 : _asn1_free_top(asn1_DistributionPointReasonFlags, data);
4523 0 : }
4524 :
4525 :
4526 : int ASN1CALL
4527 0 : copy_DistributionPointReasonFlags(const DistributionPointReasonFlags *from, DistributionPointReasonFlags *to)
4528 : {
4529 0 : return _asn1_copy_top(asn1_DistributionPointReasonFlags, from, to);
4530 : }
4531 :
4532 :
4533 : char * ASN1CALL
4534 0 : print_DistributionPointReasonFlags(const DistributionPointReasonFlags *data, int flags)
4535 : {
4536 0 : return _asn1_print_top(asn1_DistributionPointReasonFlags, flags, data);
4537 : }
4538 :
4539 0 : uint64_t DistributionPointReasonFlags2int(DistributionPointReasonFlags f)
4540 : {
4541 0 : uint64_t r = 0;
4542 0 : if(f.unused) r |= (1ULL << 0);
4543 0 : if(f.keyCompromise) r |= (1ULL << 1);
4544 0 : if(f.cACompromise) r |= (1ULL << 2);
4545 0 : if(f.affiliationChanged) r |= (1ULL << 3);
4546 0 : if(f.superseded) r |= (1ULL << 4);
4547 0 : if(f.cessationOfOperation) r |= (1ULL << 5);
4548 0 : if(f.certificateHold) r |= (1ULL << 6);
4549 0 : if(f.privilegeWithdrawn) r |= (1ULL << 7);
4550 0 : if(f.aACompromise) r |= (1ULL << 8);
4551 0 : return r;
4552 : }
4553 :
4554 0 : DistributionPointReasonFlags int2DistributionPointReasonFlags(uint64_t n)
4555 : {
4556 0 : DistributionPointReasonFlags flags;
4557 :
4558 0 : memset(&flags, 0, sizeof(flags));
4559 :
4560 0 : flags.unused = (n >> 0) & 1;
4561 0 : flags.keyCompromise = (n >> 1) & 1;
4562 0 : flags.cACompromise = (n >> 2) & 1;
4563 0 : flags.affiliationChanged = (n >> 3) & 1;
4564 0 : flags.superseded = (n >> 4) & 1;
4565 0 : flags.cessationOfOperation = (n >> 5) & 1;
4566 0 : flags.certificateHold = (n >> 6) & 1;
4567 0 : flags.privilegeWithdrawn = (n >> 7) & 1;
4568 0 : flags.aACompromise = (n >> 8) & 1;
4569 0 : return flags;
4570 : }
4571 :
4572 : static struct units DistributionPointReasonFlags_units[] = {
4573 : {"aACompromise", 1ULL << 8},
4574 : {"privilegeWithdrawn", 1ULL << 7},
4575 : {"certificateHold", 1ULL << 6},
4576 : {"cessationOfOperation", 1ULL << 5},
4577 : {"superseded", 1ULL << 4},
4578 : {"affiliationChanged", 1ULL << 3},
4579 : {"cACompromise", 1ULL << 2},
4580 : {"keyCompromise", 1ULL << 1},
4581 : {"unused", 1ULL << 0},
4582 : {NULL, 0}
4583 : };
4584 :
4585 0 : const struct units * asn1_DistributionPointReasonFlags_units(void){
4586 0 : return DistributionPointReasonFlags_units;
4587 : }
4588 :
4589 : /* template_members: GeneralName imp imp */
4590 : /* template_members: GeneralName exp exp */
4591 : /* generate_template_type: GeneralName_seofTstruct_15 */
4592 : /* generate_template_type: GeneralName_tag__115 */
4593 : /* generate_template_type: GeneralName_tag__114 */
4594 : const struct asn1_template asn1_GeneralName_tag__114[] = {
4595 : /* 0 */ { 0, sizeof(GeneralName), ((void *)(uintptr_t)1) },
4596 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_GeneralNames_tag__65 }
4597 : };
4598 : /* generate_template_type: DistributionPointName_choice_fullName */
4599 : const struct asn1_template asn1_DistributionPointName_choice_fullName[] = {
4600 : /* 0 */ { 0, sizeof(GeneralName), ((void *)(uintptr_t)1) },
4601 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_IMPLICIT, 0, asn1_GeneralName_tag__114 }
4602 : };
4603 : /* template_members: RelativeDistinguishedName exp exp */
4604 : /* generate_template_type: RelativeDistinguishedName_tag__116 */
4605 : /* generate_template_type: DistributionPointName_choice_nameRelativeToCRLIssuer */
4606 : const struct asn1_template asn1_DistributionPointName_choice_nameRelativeToCRLIssuer[] = {
4607 : /* 0 */ { 0, sizeof(RelativeDistinguishedName), ((void *)(uintptr_t)1) },
4608 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_RelativeDistinguishedName_seofTstruct_2 }
4609 : };
4610 : static const struct asn1_template asn1_choice_DistributionPointName_5[] = {
4611 : /* 0 */ { 0, offsetof(DistributionPointName, element), ((void *)(uintptr_t)4) },
4612 : /* 1 */ { choice_DistributionPointName_fullName, offsetof(DistributionPointName, u.fullName), asn1_DistributionPointName_choice_fullName },
4613 : /* 2 */ { choice_DistributionPointName_nameRelativeToCRLIssuer, offsetof(DistributionPointName, u.nameRelativeToCRLIssuer), asn1_DistributionPointName_choice_nameRelativeToCRLIssuer },
4614 : /* 3 */ { 0, 0, "fullName" },
4615 : /* 4 */ { 0, 0, "nameRelativeToCRLIssuer" }
4616 : };
4617 : /* generate_template_type: DistributionPointName */
4618 : const struct asn1_template asn1_DistributionPointName[] = {
4619 : /* 0 */ { 0, sizeof(DistributionPointName), ((void *)(uintptr_t)1) },
4620 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DistributionPointName_5 }
4621 : };
4622 :
4623 : int ASN1CALL
4624 0 : decode_DistributionPointName(const unsigned char *p, size_t len, DistributionPointName *data, size_t *size)
4625 : {
4626 0 : memset(data, 0, sizeof(*data));
4627 0 : return _asn1_decode_top(asn1_DistributionPointName, 0|0, p, len, data, size);
4628 : }
4629 :
4630 :
4631 : int ASN1CALL
4632 0 : encode_DistributionPointName(unsigned char *p, size_t len, const DistributionPointName *data, size_t *size)
4633 : {
4634 0 : return _asn1_encode(asn1_DistributionPointName, p, len, data, size);
4635 : }
4636 :
4637 :
4638 : size_t ASN1CALL
4639 0 : length_DistributionPointName(const DistributionPointName *data)
4640 : {
4641 0 : return _asn1_length(asn1_DistributionPointName, data);
4642 : }
4643 :
4644 :
4645 : void ASN1CALL
4646 0 : free_DistributionPointName(DistributionPointName *data)
4647 : {
4648 0 : _asn1_free_top(asn1_DistributionPointName, data);
4649 0 : }
4650 :
4651 :
4652 : int ASN1CALL
4653 0 : copy_DistributionPointName(const DistributionPointName *from, DistributionPointName *to)
4654 : {
4655 0 : return _asn1_copy_top(asn1_DistributionPointName, from, to);
4656 : }
4657 :
4658 :
4659 : char * ASN1CALL
4660 0 : print_DistributionPointName(const DistributionPointName *data, int flags)
4661 : {
4662 0 : return _asn1_print_top(asn1_DistributionPointName, flags, data);
4663 : }
4664 :
4665 : /* template_members: DistributionPoint exp exp */
4666 : /* tsequence: members isstruct: 1 */
4667 : /* template_members: DistributionPoint exp exp */
4668 : /* generate_template_type: DistributionPoint_tag_distributionPoint_118 */
4669 : const struct asn1_template asn1_DistributionPoint_tag_distributionPoint_118[] = {
4670 : /* 0 */ { 0, sizeof(DistributionPointName), ((void *)(uintptr_t)1) },
4671 : /* 1 */ { A1_OP_TYPE , 0, asn1_DistributionPointName }
4672 : };
4673 : /* template_members: DistributionPoint exp imp */
4674 : /* generate_template_type: DistributionPoint_tag_reasons_119 */
4675 : const struct asn1_template asn1_DistributionPoint_tag_reasons_119[] = {
4676 : /* 0 */ { 0, sizeof(DistributionPointReasonFlags), ((void *)(uintptr_t)1) },
4677 : /* 1 */ { A1_OP_TYPE , 0, asn1_DistributionPointReasonFlags }
4678 : };
4679 : /* template_members: DistributionPoint exp imp */
4680 : /* generate_template_type: DistributionPoint_tag_cRLIssuer_120 */
4681 : const struct asn1_template asn1_DistributionPoint_tag_cRLIssuer_120[] = {
4682 : /* 0 */ { 0, sizeof(GeneralNames), ((void *)(uintptr_t)1) },
4683 : /* 1 */ { A1_OP_TYPE , 0, asn1_GeneralNames }
4684 : };
4685 : /* generate_template_type: DistributionPoint_tag__117 */
4686 : const struct asn1_template asn1_DistributionPoint_tag__117[] = {
4687 : /* 0 */ { 0, sizeof(struct DistributionPoint), ((void *)(uintptr_t)7) },
4688 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DistributionPoint, distributionPoint), asn1_DistributionPoint_tag_distributionPoint_118 },
4689 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct DistributionPoint, reasons), asn1_DistributionPoint_tag_reasons_119 },
4690 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct DistributionPoint, cRLIssuer), asn1_DistributionPoint_tag_cRLIssuer_120 },
4691 : /* 4 */ { A1_OP_NAME, 0, "DistributionPoint" },
4692 : /* 5 */ { A1_OP_NAME, 0, "distributionPoint" },
4693 : /* 6 */ { A1_OP_NAME, 0, "reasons" },
4694 : /* 7 */ { A1_OP_NAME, 0, "cRLIssuer" }
4695 : };
4696 : /* generate_template_type: DistributionPoint */
4697 : const struct asn1_template asn1_DistributionPoint[] = {
4698 : /* 0 */ { 0, sizeof(DistributionPoint), ((void *)(uintptr_t)1) },
4699 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DistributionPoint_tag__117 }
4700 : };
4701 :
4702 : int ASN1CALL
4703 0 : decode_DistributionPoint(const unsigned char *p, size_t len, DistributionPoint *data, size_t *size)
4704 : {
4705 0 : memset(data, 0, sizeof(*data));
4706 0 : return _asn1_decode_top(asn1_DistributionPoint, 0|0, p, len, data, size);
4707 : }
4708 :
4709 :
4710 : int ASN1CALL
4711 0 : encode_DistributionPoint(unsigned char *p, size_t len, const DistributionPoint *data, size_t *size)
4712 : {
4713 0 : return _asn1_encode(asn1_DistributionPoint, p, len, data, size);
4714 : }
4715 :
4716 :
4717 : size_t ASN1CALL
4718 0 : length_DistributionPoint(const DistributionPoint *data)
4719 : {
4720 0 : return _asn1_length(asn1_DistributionPoint, data);
4721 : }
4722 :
4723 :
4724 : void ASN1CALL
4725 0 : free_DistributionPoint(DistributionPoint *data)
4726 : {
4727 0 : _asn1_free_top(asn1_DistributionPoint, data);
4728 0 : }
4729 :
4730 :
4731 : int ASN1CALL
4732 0 : copy_DistributionPoint(const DistributionPoint *from, DistributionPoint *to)
4733 : {
4734 0 : return _asn1_copy_top(asn1_DistributionPoint, from, to);
4735 : }
4736 :
4737 :
4738 : char * ASN1CALL
4739 0 : print_DistributionPoint(const DistributionPoint *data, int flags)
4740 : {
4741 0 : return _asn1_print_top(asn1_DistributionPoint, flags, data);
4742 : }
4743 :
4744 : /* template_members: CRLDistributionPoints exp exp */
4745 : /* generate_template_type: DistributionPoint_seofTstruct_16 */
4746 : const struct asn1_template asn1_DistributionPoint_seofTstruct_16[] = {
4747 : /* 0 */ { 0, sizeof(DistributionPoint), ((void *)(uintptr_t)1) },
4748 : /* 1 */ { A1_OP_TYPE , 0, asn1_DistributionPoint }
4749 : };
4750 : /* generate_template_type: CRLDistributionPoints_tag__121 */
4751 : const struct asn1_template asn1_CRLDistributionPoints_tag__121[] = {
4752 : /* 0 */ { 0, sizeof(DistributionPoint), ((void *)(uintptr_t)1) },
4753 : /* 1 */ { A1_OP_SEQOF, 0, asn1_DistributionPoint_seofTstruct_16 }
4754 : };
4755 : /* generate_template_type: CRLDistributionPoints */
4756 : const struct asn1_template asn1_CRLDistributionPoints[] = {
4757 : /* 0 */ { 0, sizeof(CRLDistributionPoints), ((void *)(uintptr_t)1) },
4758 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_CRLDistributionPoints_tag__121 }
4759 : };
4760 :
4761 : int ASN1CALL
4762 0 : decode_CRLDistributionPoints(const unsigned char *p, size_t len, CRLDistributionPoints *data, size_t *size)
4763 : {
4764 0 : memset(data, 0, sizeof(*data));
4765 0 : return _asn1_decode_top(asn1_CRLDistributionPoints, 0|0, p, len, data, size);
4766 : }
4767 :
4768 :
4769 : int ASN1CALL
4770 0 : encode_CRLDistributionPoints(unsigned char *p, size_t len, const CRLDistributionPoints *data, size_t *size)
4771 : {
4772 0 : return _asn1_encode(asn1_CRLDistributionPoints, p, len, data, size);
4773 : }
4774 :
4775 :
4776 : size_t ASN1CALL
4777 0 : length_CRLDistributionPoints(const CRLDistributionPoints *data)
4778 : {
4779 0 : return _asn1_length(asn1_CRLDistributionPoints, data);
4780 : }
4781 :
4782 :
4783 : void ASN1CALL
4784 0 : free_CRLDistributionPoints(CRLDistributionPoints *data)
4785 : {
4786 0 : _asn1_free_top(asn1_CRLDistributionPoints, data);
4787 0 : }
4788 :
4789 :
4790 : int ASN1CALL
4791 0 : copy_CRLDistributionPoints(const CRLDistributionPoints *from, CRLDistributionPoints *to)
4792 : {
4793 0 : return _asn1_copy_top(asn1_CRLDistributionPoints, from, to);
4794 : }
4795 :
4796 :
4797 : char * ASN1CALL
4798 0 : print_CRLDistributionPoints(const CRLDistributionPoints *data, int flags)
4799 : {
4800 0 : return _asn1_print_top(asn1_CRLDistributionPoints, flags, data);
4801 : }
4802 :
4803 : int ASN1CALL
4804 0 : add_CRLDistributionPoints(CRLDistributionPoints *data, const DistributionPoint *element)
4805 : {
4806 0 : int ret;
4807 0 : void *ptr;
4808 :
4809 0 : ptr = realloc(data->val,
4810 0 : (data->len + 1) * sizeof(data->val[0]));
4811 0 : if (ptr == NULL) return ENOMEM;
4812 0 : data->val = ptr;
4813 :
4814 0 : ret = copy_DistributionPoint(element, &data->val[data->len]);
4815 0 : if (ret) return ret;
4816 0 : data->len++;
4817 0 : return 0;
4818 : }
4819 :
4820 : int ASN1CALL
4821 0 : remove_CRLDistributionPoints(CRLDistributionPoints *data, unsigned int element)
4822 : {
4823 0 : void *ptr;
4824 :
4825 0 : if (data->len == 0 || element >= data->len)
4826 0 : return ASN1_OVERRUN;
4827 0 : free_DistributionPoint(&data->val[element]);
4828 0 : data->len--;
4829 0 : if (element < data->len)
4830 0 : memmove(&data->val[element], &data->val[element + 1],
4831 0 : sizeof(data->val[0]) * (data->len - element));
4832 0 : ptr = realloc(data->val, data->len * sizeof(data->val[0]));
4833 0 : if (ptr != NULL || data->len == 0) data->val = ptr;
4834 0 : return 0;
4835 : }
4836 :
4837 : /* template_members: DSASigValue exp exp */
4838 : /* tsequence: members isstruct: 1 */
4839 : /* template_members: DSASigValue exp exp */
4840 : /* generate_template_type: DSASigValue_tag_r_123 */
4841 : /* template_members: DSASigValue exp exp */
4842 : /* generate_template_type: DSASigValue_tag_s_124 */
4843 : /* generate_template_type: DSASigValue_tag__122 */
4844 : const struct asn1_template asn1_DSASigValue_tag__122[] = {
4845 : /* 0 */ { 0, sizeof(struct DSASigValue), ((void *)(uintptr_t)5) },
4846 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DSASigValue, r), asn1_CertificateSerialNumber_tag__15 },
4847 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DSASigValue, s), asn1_CertificateSerialNumber_tag__15 },
4848 : /* 3 */ { A1_OP_NAME, 0, "DSASigValue" },
4849 : /* 4 */ { A1_OP_NAME, 0, "r" },
4850 : /* 5 */ { A1_OP_NAME, 0, "s" }
4851 : };
4852 : /* generate_template_type: DSASigValue */
4853 : const struct asn1_template asn1_DSASigValue[] = {
4854 : /* 0 */ { 0, sizeof(DSASigValue), ((void *)(uintptr_t)1) },
4855 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DSASigValue_tag__122 }
4856 : };
4857 :
4858 : int ASN1CALL
4859 0 : decode_DSASigValue(const unsigned char *p, size_t len, DSASigValue *data, size_t *size)
4860 : {
4861 0 : memset(data, 0, sizeof(*data));
4862 0 : return _asn1_decode_top(asn1_DSASigValue, 0|0, p, len, data, size);
4863 : }
4864 :
4865 :
4866 : int ASN1CALL
4867 0 : encode_DSASigValue(unsigned char *p, size_t len, const DSASigValue *data, size_t *size)
4868 : {
4869 0 : return _asn1_encode(asn1_DSASigValue, p, len, data, size);
4870 : }
4871 :
4872 :
4873 : size_t ASN1CALL
4874 0 : length_DSASigValue(const DSASigValue *data)
4875 : {
4876 0 : return _asn1_length(asn1_DSASigValue, data);
4877 : }
4878 :
4879 :
4880 : void ASN1CALL
4881 0 : free_DSASigValue(DSASigValue *data)
4882 : {
4883 0 : _asn1_free_top(asn1_DSASigValue, data);
4884 0 : }
4885 :
4886 :
4887 : int ASN1CALL
4888 0 : copy_DSASigValue(const DSASigValue *from, DSASigValue *to)
4889 : {
4890 0 : return _asn1_copy_top(asn1_DSASigValue, from, to);
4891 : }
4892 :
4893 :
4894 : char * ASN1CALL
4895 0 : print_DSASigValue(const DSASigValue *data, int flags)
4896 : {
4897 0 : return _asn1_print_top(asn1_DSASigValue, flags, data);
4898 : }
4899 :
4900 : /* template_members: DSAPublicKey exp exp */
4901 : /* generate_template_type: DSAPublicKey_tag__125 */
4902 : /* generate_template_type: DSAPublicKey */
4903 : const struct asn1_template asn1_DSAPublicKey[] = {
4904 : /* 0 */ { 0, sizeof(DSAPublicKey), ((void *)(uintptr_t)1) },
4905 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_CertificateSerialNumber_tag__15 }
4906 : };
4907 :
4908 : int ASN1CALL
4909 0 : decode_DSAPublicKey(const unsigned char *p, size_t len, DSAPublicKey *data, size_t *size)
4910 : {
4911 0 : memset(data, 0, sizeof(*data));
4912 0 : return _asn1_decode_top(asn1_DSAPublicKey, 0|0, p, len, data, size);
4913 : }
4914 :
4915 :
4916 : int ASN1CALL
4917 0 : encode_DSAPublicKey(unsigned char *p, size_t len, const DSAPublicKey *data, size_t *size)
4918 : {
4919 0 : return _asn1_encode(asn1_DSAPublicKey, p, len, data, size);
4920 : }
4921 :
4922 :
4923 : size_t ASN1CALL
4924 0 : length_DSAPublicKey(const DSAPublicKey *data)
4925 : {
4926 0 : return _asn1_length(asn1_DSAPublicKey, data);
4927 : }
4928 :
4929 :
4930 : void ASN1CALL
4931 0 : free_DSAPublicKey(DSAPublicKey *data)
4932 : {
4933 0 : _asn1_free_top(asn1_DSAPublicKey, data);
4934 0 : }
4935 :
4936 :
4937 : int ASN1CALL
4938 0 : copy_DSAPublicKey(const DSAPublicKey *from, DSAPublicKey *to)
4939 : {
4940 0 : return _asn1_copy_top(asn1_DSAPublicKey, from, to);
4941 : }
4942 :
4943 :
4944 : char * ASN1CALL
4945 0 : print_DSAPublicKey(const DSAPublicKey *data, int flags)
4946 : {
4947 0 : return _asn1_print_top(asn1_DSAPublicKey, flags, data);
4948 : }
4949 :
4950 : /* template_members: DSAParams exp exp */
4951 : /* tsequence: members isstruct: 1 */
4952 : /* template_members: DSAParams exp exp */
4953 : /* generate_template_type: DSAParams_tag_p_127 */
4954 : /* template_members: DSAParams exp exp */
4955 : /* generate_template_type: DSAParams_tag_q_128 */
4956 : /* template_members: DSAParams exp exp */
4957 : /* generate_template_type: DSAParams_tag_g_129 */
4958 : /* generate_template_type: DSAParams_tag__126 */
4959 : const struct asn1_template asn1_DSAParams_tag__126[] = {
4960 : /* 0 */ { 0, sizeof(struct DSAParams), ((void *)(uintptr_t)7) },
4961 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DSAParams, p), asn1_CertificateSerialNumber_tag__15 },
4962 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DSAParams, q), asn1_CertificateSerialNumber_tag__15 },
4963 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DSAParams, g), asn1_CertificateSerialNumber_tag__15 },
4964 : /* 4 */ { A1_OP_NAME, 0, "DSAParams" },
4965 : /* 5 */ { A1_OP_NAME, 0, "p" },
4966 : /* 6 */ { A1_OP_NAME, 0, "q" },
4967 : /* 7 */ { A1_OP_NAME, 0, "g" }
4968 : };
4969 : /* generate_template_type: DSAParams */
4970 : const struct asn1_template asn1_DSAParams[] = {
4971 : /* 0 */ { 0, sizeof(DSAParams), ((void *)(uintptr_t)1) },
4972 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DSAParams_tag__126 }
4973 : };
4974 :
4975 : int ASN1CALL
4976 0 : decode_DSAParams(const unsigned char *p, size_t len, DSAParams *data, size_t *size)
4977 : {
4978 0 : memset(data, 0, sizeof(*data));
4979 0 : return _asn1_decode_top(asn1_DSAParams, 0|0, p, len, data, size);
4980 : }
4981 :
4982 :
4983 : int ASN1CALL
4984 0 : encode_DSAParams(unsigned char *p, size_t len, const DSAParams *data, size_t *size)
4985 : {
4986 0 : return _asn1_encode(asn1_DSAParams, p, len, data, size);
4987 : }
4988 :
4989 :
4990 : size_t ASN1CALL
4991 0 : length_DSAParams(const DSAParams *data)
4992 : {
4993 0 : return _asn1_length(asn1_DSAParams, data);
4994 : }
4995 :
4996 :
4997 : void ASN1CALL
4998 0 : free_DSAParams(DSAParams *data)
4999 : {
5000 0 : _asn1_free_top(asn1_DSAParams, data);
5001 0 : }
5002 :
5003 :
5004 : int ASN1CALL
5005 0 : copy_DSAParams(const DSAParams *from, DSAParams *to)
5006 : {
5007 0 : return _asn1_copy_top(asn1_DSAParams, from, to);
5008 : }
5009 :
5010 :
5011 : char * ASN1CALL
5012 0 : print_DSAParams(const DSAParams *data, int flags)
5013 : {
5014 0 : return _asn1_print_top(asn1_DSAParams, flags, data);
5015 : }
5016 :
5017 : /* template_members: ECPoint exp exp */
5018 : /* generate_template_type: ECPoint_tag__130 */
5019 : /* generate_template_type: ECPoint */
5020 : const struct asn1_template asn1_ECPoint[] = {
5021 : /* 0 */ { 0, sizeof(ECPoint), ((void *)(uintptr_t)1) },
5022 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_Extension_tag_extnValue_25 }
5023 : };
5024 :
5025 : int ASN1CALL
5026 0 : decode_ECPoint(const unsigned char *p, size_t len, ECPoint *data, size_t *size)
5027 : {
5028 0 : memset(data, 0, sizeof(*data));
5029 0 : return _asn1_decode_top(asn1_ECPoint, 0|0, p, len, data, size);
5030 : }
5031 :
5032 :
5033 : int ASN1CALL
5034 0 : encode_ECPoint(unsigned char *p, size_t len, const ECPoint *data, size_t *size)
5035 : {
5036 0 : return _asn1_encode(asn1_ECPoint, p, len, data, size);
5037 : }
5038 :
5039 :
5040 : size_t ASN1CALL
5041 0 : length_ECPoint(const ECPoint *data)
5042 : {
5043 0 : return _asn1_length(asn1_ECPoint, data);
5044 : }
5045 :
5046 :
5047 : void ASN1CALL
5048 0 : free_ECPoint(ECPoint *data)
5049 : {
5050 0 : _asn1_free_top(asn1_ECPoint, data);
5051 0 : }
5052 :
5053 :
5054 : int ASN1CALL
5055 0 : copy_ECPoint(const ECPoint *from, ECPoint *to)
5056 : {
5057 0 : return _asn1_copy_top(asn1_ECPoint, from, to);
5058 : }
5059 :
5060 :
5061 : char * ASN1CALL
5062 0 : print_ECPoint(const ECPoint *data, int flags)
5063 : {
5064 0 : return _asn1_print_top(asn1_ECPoint, flags, data);
5065 : }
5066 :
5067 : /* template_members: heim_oid exp exp */
5068 : /* generate_template_type: heim_oid_tag__131 */
5069 : /* generate_template_type: ECParameters_choice_namedCurve */
5070 : static const struct asn1_template asn1_choice_ECParameters_6[] = {
5071 : /* 0 */ { 0, offsetof(ECParameters, element), ((void *)(uintptr_t)2) },
5072 : /* 1 */ { choice_ECParameters_namedCurve, offsetof(ECParameters, u.namedCurve), asn1_heim_oid_tag__63 },
5073 : /* 2 */ { 0, 0, "namedCurve" }
5074 : };
5075 : /* generate_template_type: ECParameters */
5076 : const struct asn1_template asn1_ECParameters[] = {
5077 : /* 0 */ { 0, sizeof(ECParameters), ((void *)(uintptr_t)1) },
5078 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_ECParameters_6 }
5079 : };
5080 :
5081 : int ASN1CALL
5082 0 : decode_ECParameters(const unsigned char *p, size_t len, ECParameters *data, size_t *size)
5083 : {
5084 0 : memset(data, 0, sizeof(*data));
5085 0 : return _asn1_decode_top(asn1_ECParameters, 0|0, p, len, data, size);
5086 : }
5087 :
5088 :
5089 : int ASN1CALL
5090 0 : encode_ECParameters(unsigned char *p, size_t len, const ECParameters *data, size_t *size)
5091 : {
5092 0 : return _asn1_encode(asn1_ECParameters, p, len, data, size);
5093 : }
5094 :
5095 :
5096 : size_t ASN1CALL
5097 0 : length_ECParameters(const ECParameters *data)
5098 : {
5099 0 : return _asn1_length(asn1_ECParameters, data);
5100 : }
5101 :
5102 :
5103 : void ASN1CALL
5104 0 : free_ECParameters(ECParameters *data)
5105 : {
5106 0 : _asn1_free_top(asn1_ECParameters, data);
5107 0 : }
5108 :
5109 :
5110 : int ASN1CALL
5111 0 : copy_ECParameters(const ECParameters *from, ECParameters *to)
5112 : {
5113 0 : return _asn1_copy_top(asn1_ECParameters, from, to);
5114 : }
5115 :
5116 :
5117 : char * ASN1CALL
5118 0 : print_ECParameters(const ECParameters *data, int flags)
5119 : {
5120 0 : return _asn1_print_top(asn1_ECParameters, flags, data);
5121 : }
5122 :
5123 : /* template_members: ECDSA_Sig_Value exp exp */
5124 : /* tsequence: members isstruct: 1 */
5125 : /* template_members: ECDSA_Sig_Value exp exp */
5126 : /* generate_template_type: ECDSA_Sig_Value_tag_r_133 */
5127 : /* template_members: ECDSA_Sig_Value exp exp */
5128 : /* generate_template_type: ECDSA_Sig_Value_tag_s_134 */
5129 : /* generate_template_type: ECDSA_Sig_Value_tag__132 */
5130 : const struct asn1_template asn1_ECDSA_Sig_Value_tag__132[] = {
5131 : /* 0 */ { 0, sizeof(struct ECDSA_Sig_Value), ((void *)(uintptr_t)5) },
5132 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct ECDSA_Sig_Value, r), asn1_CertificateSerialNumber_tag__15 },
5133 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct ECDSA_Sig_Value, s), asn1_CertificateSerialNumber_tag__15 },
5134 : /* 3 */ { A1_OP_NAME, 0, "ECDSA_Sig_Value" },
5135 : /* 4 */ { A1_OP_NAME, 0, "r" },
5136 : /* 5 */ { A1_OP_NAME, 0, "s" }
5137 : };
5138 : /* generate_template_type: ECDSA_Sig_Value */
5139 : const struct asn1_template asn1_ECDSA_Sig_Value[] = {
5140 : /* 0 */ { 0, sizeof(ECDSA_Sig_Value), ((void *)(uintptr_t)1) },
5141 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ECDSA_Sig_Value_tag__132 }
5142 : };
5143 :
5144 : int ASN1CALL
5145 0 : decode_ECDSA_Sig_Value(const unsigned char *p, size_t len, ECDSA_Sig_Value *data, size_t *size)
5146 : {
5147 0 : memset(data, 0, sizeof(*data));
5148 0 : return _asn1_decode_top(asn1_ECDSA_Sig_Value, 0|0, p, len, data, size);
5149 : }
5150 :
5151 :
5152 : int ASN1CALL
5153 0 : encode_ECDSA_Sig_Value(unsigned char *p, size_t len, const ECDSA_Sig_Value *data, size_t *size)
5154 : {
5155 0 : return _asn1_encode(asn1_ECDSA_Sig_Value, p, len, data, size);
5156 : }
5157 :
5158 :
5159 : size_t ASN1CALL
5160 0 : length_ECDSA_Sig_Value(const ECDSA_Sig_Value *data)
5161 : {
5162 0 : return _asn1_length(asn1_ECDSA_Sig_Value, data);
5163 : }
5164 :
5165 :
5166 : void ASN1CALL
5167 0 : free_ECDSA_Sig_Value(ECDSA_Sig_Value *data)
5168 : {
5169 0 : _asn1_free_top(asn1_ECDSA_Sig_Value, data);
5170 0 : }
5171 :
5172 :
5173 : int ASN1CALL
5174 0 : copy_ECDSA_Sig_Value(const ECDSA_Sig_Value *from, ECDSA_Sig_Value *to)
5175 : {
5176 0 : return _asn1_copy_top(asn1_ECDSA_Sig_Value, from, to);
5177 : }
5178 :
5179 :
5180 : char * ASN1CALL
5181 0 : print_ECDSA_Sig_Value(const ECDSA_Sig_Value *data, int flags)
5182 : {
5183 0 : return _asn1_print_top(asn1_ECDSA_Sig_Value, flags, data);
5184 : }
5185 :
5186 : /* template_members: RSAPublicKey exp exp */
5187 : /* tsequence: members isstruct: 1 */
5188 : /* template_members: RSAPublicKey exp exp */
5189 : /* generate_template_type: RSAPublicKey_tag_modulus_136 */
5190 : /* template_members: RSAPublicKey exp exp */
5191 : /* generate_template_type: RSAPublicKey_tag_publicExponent_137 */
5192 : /* generate_template_type: RSAPublicKey_tag__135 */
5193 : const struct asn1_template asn1_RSAPublicKey_tag__135[] = {
5194 : /* 0 */ { 0, sizeof(struct RSAPublicKey), ((void *)(uintptr_t)5) },
5195 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPublicKey, modulus), asn1_CertificateSerialNumber_tag__15 },
5196 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPublicKey, publicExponent), asn1_CertificateSerialNumber_tag__15 },
5197 : /* 3 */ { A1_OP_NAME, 0, "RSAPublicKey" },
5198 : /* 4 */ { A1_OP_NAME, 0, "modulus" },
5199 : /* 5 */ { A1_OP_NAME, 0, "publicExponent" }
5200 : };
5201 : /* generate_template_type: RSAPublicKey */
5202 : const struct asn1_template asn1_RSAPublicKey[] = {
5203 : /* 0 */ { 0, sizeof(RSAPublicKey), ((void *)(uintptr_t)1) },
5204 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_RSAPublicKey_tag__135 }
5205 : };
5206 :
5207 : int ASN1CALL
5208 320 : decode_RSAPublicKey(const unsigned char *p, size_t len, RSAPublicKey *data, size_t *size)
5209 : {
5210 320 : memset(data, 0, sizeof(*data));
5211 320 : return _asn1_decode_top(asn1_RSAPublicKey, 0|0, p, len, data, size);
5212 : }
5213 :
5214 :
5215 : int ASN1CALL
5216 0 : encode_RSAPublicKey(unsigned char *p, size_t len, const RSAPublicKey *data, size_t *size)
5217 : {
5218 0 : return _asn1_encode(asn1_RSAPublicKey, p, len, data, size);
5219 : }
5220 :
5221 :
5222 : size_t ASN1CALL
5223 0 : length_RSAPublicKey(const RSAPublicKey *data)
5224 : {
5225 0 : return _asn1_length(asn1_RSAPublicKey, data);
5226 : }
5227 :
5228 :
5229 : void ASN1CALL
5230 320 : free_RSAPublicKey(RSAPublicKey *data)
5231 : {
5232 320 : _asn1_free_top(asn1_RSAPublicKey, data);
5233 320 : }
5234 :
5235 :
5236 : int ASN1CALL
5237 0 : copy_RSAPublicKey(const RSAPublicKey *from, RSAPublicKey *to)
5238 : {
5239 0 : return _asn1_copy_top(asn1_RSAPublicKey, from, to);
5240 : }
5241 :
5242 :
5243 : char * ASN1CALL
5244 0 : print_RSAPublicKey(const RSAPublicKey *data, int flags)
5245 : {
5246 0 : return _asn1_print_top(asn1_RSAPublicKey, flags, data);
5247 : }
5248 :
5249 : /* template_members: RSAPrivateKey exp exp */
5250 : /* tsequence: members isstruct: 1 */
5251 : /* template_members: RSAPrivateKey exp exp */
5252 : /* generate_template_type: RSAPrivateKey_tag_version_139 */
5253 : /* template_members: RSAPrivateKey exp exp */
5254 : /* generate_template_type: RSAPrivateKey_tag_modulus_140 */
5255 : /* template_members: RSAPrivateKey exp exp */
5256 : /* generate_template_type: RSAPrivateKey_tag_publicExponent_141 */
5257 : /* template_members: RSAPrivateKey exp exp */
5258 : /* generate_template_type: RSAPrivateKey_tag_privateExponent_142 */
5259 : /* template_members: RSAPrivateKey exp exp */
5260 : /* generate_template_type: RSAPrivateKey_tag_prime1_143 */
5261 : /* template_members: RSAPrivateKey exp exp */
5262 : /* generate_template_type: RSAPrivateKey_tag_prime2_144 */
5263 : /* template_members: RSAPrivateKey exp exp */
5264 : /* generate_template_type: RSAPrivateKey_tag_exponent1_145 */
5265 : /* template_members: RSAPrivateKey exp exp */
5266 : /* generate_template_type: RSAPrivateKey_tag_exponent2_146 */
5267 : /* template_members: RSAPrivateKey exp exp */
5268 : /* generate_template_type: RSAPrivateKey_tag_coefficient_147 */
5269 : /* generate_template_type: RSAPrivateKey_tag__138 */
5270 : const struct asn1_template asn1_RSAPrivateKey_tag__138[] = {
5271 : /* 0 */ { 0, sizeof(struct RSAPrivateKey), ((void *)(uintptr_t)19) },
5272 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, version), asn1_BasicConstraints_tag_pathLenConstraint_100 },
5273 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, modulus), asn1_CertificateSerialNumber_tag__15 },
5274 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, publicExponent), asn1_CertificateSerialNumber_tag__15 },
5275 : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, privateExponent), asn1_CertificateSerialNumber_tag__15 },
5276 : /* 5 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, prime1), asn1_CertificateSerialNumber_tag__15 },
5277 : /* 6 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, prime2), asn1_CertificateSerialNumber_tag__15 },
5278 : /* 7 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, exponent1), asn1_CertificateSerialNumber_tag__15 },
5279 : /* 8 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, exponent2), asn1_CertificateSerialNumber_tag__15 },
5280 : /* 9 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct RSAPrivateKey, coefficient), asn1_CertificateSerialNumber_tag__15 },
5281 : /* 10 */ { A1_OP_NAME, 0, "RSAPrivateKey" },
5282 : /* 11 */ { A1_OP_NAME, 0, "version" },
5283 : /* 12 */ { A1_OP_NAME, 0, "modulus" },
5284 : /* 13 */ { A1_OP_NAME, 0, "publicExponent" },
5285 : /* 14 */ { A1_OP_NAME, 0, "privateExponent" },
5286 : /* 15 */ { A1_OP_NAME, 0, "prime1" },
5287 : /* 16 */ { A1_OP_NAME, 0, "prime2" },
5288 : /* 17 */ { A1_OP_NAME, 0, "exponent1" },
5289 : /* 18 */ { A1_OP_NAME, 0, "exponent2" },
5290 : /* 19 */ { A1_OP_NAME, 0, "coefficient" }
5291 : };
5292 : /* generate_template_type: RSAPrivateKey */
5293 : const struct asn1_template asn1_RSAPrivateKey[] = {
5294 : /* 0 */ { 0, sizeof(RSAPrivateKey), ((void *)(uintptr_t)1) },
5295 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_RSAPrivateKey_tag__138 }
5296 : };
5297 :
5298 : int ASN1CALL
5299 74 : decode_RSAPrivateKey(const unsigned char *p, size_t len, RSAPrivateKey *data, size_t *size)
5300 : {
5301 74 : memset(data, 0, sizeof(*data));
5302 74 : return _asn1_decode_top(asn1_RSAPrivateKey, 0|0, p, len, data, size);
5303 : }
5304 :
5305 :
5306 : int ASN1CALL
5307 0 : encode_RSAPrivateKey(unsigned char *p, size_t len, const RSAPrivateKey *data, size_t *size)
5308 : {
5309 0 : return _asn1_encode(asn1_RSAPrivateKey, p, len, data, size);
5310 : }
5311 :
5312 :
5313 : size_t ASN1CALL
5314 0 : length_RSAPrivateKey(const RSAPrivateKey *data)
5315 : {
5316 0 : return _asn1_length(asn1_RSAPrivateKey, data);
5317 : }
5318 :
5319 :
5320 : void ASN1CALL
5321 74 : free_RSAPrivateKey(RSAPrivateKey *data)
5322 : {
5323 74 : _asn1_free_top(asn1_RSAPrivateKey, data);
5324 74 : }
5325 :
5326 :
5327 : int ASN1CALL
5328 0 : copy_RSAPrivateKey(const RSAPrivateKey *from, RSAPrivateKey *to)
5329 : {
5330 0 : return _asn1_copy_top(asn1_RSAPrivateKey, from, to);
5331 : }
5332 :
5333 :
5334 : char * ASN1CALL
5335 0 : print_RSAPrivateKey(const RSAPrivateKey *data, int flags)
5336 : {
5337 0 : return _asn1_print_top(asn1_RSAPrivateKey, flags, data);
5338 : }
5339 :
5340 : /* template_members: DigestInfo exp exp */
5341 : /* tsequence: members isstruct: 1 */
5342 : /* template_members: DigestInfo exp exp */
5343 : /* generate_template_type: DigestInfo_tag_digest_149 */
5344 : /* generate_template_type: DigestInfo_tag__148 */
5345 : const struct asn1_template asn1_DigestInfo_tag__148[] = {
5346 : /* 0 */ { 0, sizeof(struct DigestInfo), ((void *)(uintptr_t)5) },
5347 : /* 1 */ { A1_OP_TYPE , offsetof(struct DigestInfo, digestAlgorithm), asn1_AlgorithmIdentifier },
5348 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), offsetof(struct DigestInfo, digest), asn1_Extension_tag_extnValue_25 },
5349 : /* 3 */ { A1_OP_NAME, 0, "DigestInfo" },
5350 : /* 4 */ { A1_OP_NAME, 0, "digestAlgorithm" },
5351 : /* 5 */ { A1_OP_NAME, 0, "digest" }
5352 : };
5353 : /* generate_template_type: DigestInfo */
5354 : const struct asn1_template asn1_DigestInfo[] = {
5355 : /* 0 */ { 0, sizeof(DigestInfo), ((void *)(uintptr_t)1) },
5356 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInfo_tag__148 }
5357 : };
5358 :
5359 : int ASN1CALL
5360 225 : decode_DigestInfo(const unsigned char *p, size_t len, DigestInfo *data, size_t *size)
5361 : {
5362 225 : memset(data, 0, sizeof(*data));
5363 225 : return _asn1_decode_top(asn1_DigestInfo, 0|0, p, len, data, size);
5364 : }
5365 :
5366 :
5367 : int ASN1CALL
5368 65 : encode_DigestInfo(unsigned char *p, size_t len, const DigestInfo *data, size_t *size)
5369 : {
5370 65 : return _asn1_encode(asn1_DigestInfo, p, len, data, size);
5371 : }
5372 :
5373 :
5374 : size_t ASN1CALL
5375 65 : length_DigestInfo(const DigestInfo *data)
5376 : {
5377 65 : return _asn1_length(asn1_DigestInfo, data);
5378 : }
5379 :
5380 :
5381 : void ASN1CALL
5382 290 : free_DigestInfo(DigestInfo *data)
5383 : {
5384 290 : _asn1_free_top(asn1_DigestInfo, data);
5385 290 : }
5386 :
5387 :
5388 : int ASN1CALL
5389 0 : copy_DigestInfo(const DigestInfo *from, DigestInfo *to)
5390 : {
5391 0 : return _asn1_copy_top(asn1_DigestInfo, from, to);
5392 : }
5393 :
5394 :
5395 : char * ASN1CALL
5396 0 : print_DigestInfo(const DigestInfo *data, int flags)
5397 : {
5398 0 : return _asn1_print_top(asn1_DigestInfo, flags, data);
5399 : }
5400 :
5401 : /* template_members: TBSCRLCertList exp exp */
5402 : /* tsequence: members isstruct: 1 */
5403 : /* template_members: TBSCRLCertList exp exp */
5404 : /* template_members: TBSCRLCertList_revokedCertificates_val exp exp */
5405 : /* tsequence: members isstruct: 1 */
5406 : /* generate_template_type: TBSCRLCertList_revokedCertificates_val_tag__152 */
5407 : const struct asn1_template asn1_TBSCRLCertList_revokedCertificates_val_tag__152[] = {
5408 : /* 0 */ { 0, sizeof(struct TBSCRLCertList_revokedCertificates_val), ((void *)(uintptr_t)7) },
5409 : /* 1 */ { A1_OP_TYPE , offsetof(struct TBSCRLCertList_revokedCertificates_val, userCertificate), asn1_CertificateSerialNumber },
5410 : /* 2 */ { A1_OP_TYPE , offsetof(struct TBSCRLCertList_revokedCertificates_val, revocationDate), asn1_Time },
5411 : /* 3 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct TBSCRLCertList_revokedCertificates_val, crlEntryExtensions), asn1_Extensions },
5412 : /* 4 */ { A1_OP_NAME, 0, "TBSCRLCertList_revokedCertificates_val" },
5413 : /* 5 */ { A1_OP_NAME, 0, "userCertificate" },
5414 : /* 6 */ { A1_OP_NAME, 0, "revocationDate" },
5415 : /* 7 */ { A1_OP_NAME, 0, "crlEntryExtensions" }
5416 : };
5417 : /* generate_template_type: TBSCRLCertList_seofTstruct_17 */
5418 : const struct asn1_template asn1_TBSCRLCertList_seofTstruct_17[] = {
5419 : /* 0 */ { 0, sizeof(struct TBSCRLCertList_revokedCertificates_val), ((void *)(uintptr_t)1) },
5420 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TBSCRLCertList_revokedCertificates_val_tag__152 }
5421 : };
5422 : /* generate_template_type: TBSCRLCertList_tag_revokedCertificates_151 */
5423 : const struct asn1_template asn1_TBSCRLCertList_tag_revokedCertificates_151[] = {
5424 : /* 0 */ { 0, sizeof(struct TBSCRLCertList_revokedCertificates), ((void *)(uintptr_t)1) },
5425 : /* 1 */ { A1_OP_SEQOF, 0, asn1_TBSCRLCertList_seofTstruct_17 }
5426 : };
5427 : /* template_members: TBSCRLCertList exp exp */
5428 : /* generate_template_type: TBSCRLCertList_tag_crlExtensions_153 */
5429 : /* generate_template_type: TBSCRLCertList_tag__150 */
5430 : const struct asn1_template asn1_TBSCRLCertList_tag__150[] = {
5431 : /* 0 */ { 0, sizeof(struct TBSCRLCertList), ((void *)(uintptr_t)15) },
5432 : /* 1 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct TBSCRLCertList, version), asn1_Version },
5433 : /* 2 */ { A1_OP_TYPE , offsetof(struct TBSCRLCertList, signature), asn1_AlgorithmIdentifier },
5434 : /* 3 */ { A1_OP_TYPE , offsetof(struct TBSCRLCertList, issuer), asn1_Name },
5435 : /* 4 */ { A1_OP_TYPE , offsetof(struct TBSCRLCertList, thisUpdate), asn1_Time },
5436 : /* 5 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct TBSCRLCertList, nextUpdate), asn1_Time },
5437 : /* 6 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence)|A1_FLAG_OPTIONAL, offsetof(struct TBSCRLCertList, revokedCertificates), asn1_TBSCRLCertList_tag_revokedCertificates_151 },
5438 : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct TBSCRLCertList, crlExtensions), asn1_TBSCertificate_tag_extensions_33 },
5439 : /* 8 */ { A1_OP_NAME, 0, "TBSCRLCertList" },
5440 : /* 9 */ { A1_OP_NAME, 0, "version" },
5441 : /* 10 */ { A1_OP_NAME, 0, "signature" },
5442 : /* 11 */ { A1_OP_NAME, 0, "issuer" },
5443 : /* 12 */ { A1_OP_NAME, 0, "thisUpdate" },
5444 : /* 13 */ { A1_OP_NAME, 0, "nextUpdate" },
5445 : /* 14 */ { A1_OP_NAME, 0, "revokedCertificates" },
5446 : /* 15 */ { A1_OP_NAME, 0, "crlExtensions" }
5447 : };
5448 : /* generate_template_type: TBSCRLCertList */
5449 : const struct asn1_template asn1_TBSCRLCertList[] = {
5450 : /* 0 */ { 0|A1_HF_PRESERVE, sizeof(TBSCRLCertList), ((void *)(uintptr_t)1) },
5451 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TBSCRLCertList_tag__150 }
5452 : };
5453 :
5454 : int ASN1CALL
5455 0 : decode_TBSCRLCertList(const unsigned char *p, size_t len, TBSCRLCertList *data, size_t *size)
5456 : {
5457 0 : memset(data, 0, sizeof(*data));
5458 0 : return _asn1_decode_top(asn1_TBSCRLCertList, 0|0, p, len, data, size);
5459 : }
5460 :
5461 :
5462 : int ASN1CALL
5463 0 : encode_TBSCRLCertList(unsigned char *p, size_t len, const TBSCRLCertList *data, size_t *size)
5464 : {
5465 0 : return _asn1_encode(asn1_TBSCRLCertList, p, len, data, size);
5466 : }
5467 :
5468 :
5469 : size_t ASN1CALL
5470 0 : length_TBSCRLCertList(const TBSCRLCertList *data)
5471 : {
5472 0 : return _asn1_length(asn1_TBSCRLCertList, data);
5473 : }
5474 :
5475 :
5476 : void ASN1CALL
5477 0 : free_TBSCRLCertList(TBSCRLCertList *data)
5478 : {
5479 0 : _asn1_free_top(asn1_TBSCRLCertList, data);
5480 0 : }
5481 :
5482 :
5483 : int ASN1CALL
5484 0 : copy_TBSCRLCertList(const TBSCRLCertList *from, TBSCRLCertList *to)
5485 : {
5486 0 : return _asn1_copy_top(asn1_TBSCRLCertList, from, to);
5487 : }
5488 :
5489 :
5490 : char * ASN1CALL
5491 0 : print_TBSCRLCertList(const TBSCRLCertList *data, int flags)
5492 : {
5493 0 : return _asn1_print_top(asn1_TBSCRLCertList, flags, data);
5494 : }
5495 :
5496 : /* template_members: CRLCertificateList exp exp */
5497 : /* tsequence: members isstruct: 1 */
5498 : /* template_members: CRLCertificateList exp exp */
5499 : /* generate_template_type: CRLCertificateList_tag_signatureValue_155 */
5500 : const struct asn1_template asn1_CRLCertificateList_tag_signatureValue_155[] = {
5501 : /* 0 */ { 0, sizeof(CRLCertificateList), ((void *)(uintptr_t)1) },
5502 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
5503 : };
5504 : /* generate_template_type: CRLCertificateList_tag__154 */
5505 : const struct asn1_template asn1_CRLCertificateList_tag__154[] = {
5506 : /* 0 */ { 0, sizeof(struct CRLCertificateList), ((void *)(uintptr_t)7) },
5507 : /* 1 */ { A1_OP_TYPE , offsetof(struct CRLCertificateList, tbsCertList), asn1_TBSCRLCertList },
5508 : /* 2 */ { A1_OP_TYPE , offsetof(struct CRLCertificateList, signatureAlgorithm), asn1_AlgorithmIdentifier },
5509 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), offsetof(struct CRLCertificateList, signatureValue), asn1_CRLCertificateList_tag_signatureValue_155 },
5510 : /* 4 */ { A1_OP_NAME, 0, "CRLCertificateList" },
5511 : /* 5 */ { A1_OP_NAME, 0, "tbsCertList" },
5512 : /* 6 */ { A1_OP_NAME, 0, "signatureAlgorithm" },
5513 : /* 7 */ { A1_OP_NAME, 0, "signatureValue" }
5514 : };
5515 : /* generate_template_type: CRLCertificateList */
5516 : const struct asn1_template asn1_CRLCertificateList[] = {
5517 : /* 0 */ { 0, sizeof(CRLCertificateList), ((void *)(uintptr_t)1) },
5518 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_CRLCertificateList_tag__154 }
5519 : };
5520 :
5521 : int ASN1CALL
5522 57 : decode_CRLCertificateList(const unsigned char *p, size_t len, CRLCertificateList *data, size_t *size)
5523 : {
5524 57 : memset(data, 0, sizeof(*data));
5525 57 : return _asn1_decode_top(asn1_CRLCertificateList, 0|0, p, len, data, size);
5526 : }
5527 :
5528 :
5529 : int ASN1CALL
5530 0 : encode_CRLCertificateList(unsigned char *p, size_t len, const CRLCertificateList *data, size_t *size)
5531 : {
5532 0 : return _asn1_encode(asn1_CRLCertificateList, p, len, data, size);
5533 : }
5534 :
5535 :
5536 : size_t ASN1CALL
5537 0 : length_CRLCertificateList(const CRLCertificateList *data)
5538 : {
5539 0 : return _asn1_length(asn1_CRLCertificateList, data);
5540 : }
5541 :
5542 :
5543 : void ASN1CALL
5544 3 : free_CRLCertificateList(CRLCertificateList *data)
5545 : {
5546 3 : _asn1_free_top(asn1_CRLCertificateList, data);
5547 3 : }
5548 :
5549 :
5550 : int ASN1CALL
5551 0 : copy_CRLCertificateList(const CRLCertificateList *from, CRLCertificateList *to)
5552 : {
5553 0 : return _asn1_copy_top(asn1_CRLCertificateList, from, to);
5554 : }
5555 :
5556 :
5557 : char * ASN1CALL
5558 0 : print_CRLCertificateList(const CRLCertificateList *data, int flags)
5559 : {
5560 0 : return _asn1_print_top(asn1_CRLCertificateList, flags, data);
5561 : }
5562 :
5563 : /* template_members: CRLReason exp exp */
5564 : const struct asn1_template asn1_CRLReason_enum_names[] = {
5565 : /* 0 */ { 0, 0, ((void *)(uintptr_t)10) },
5566 : /* 1 */ { A1_OP_NAME, 0, "unspecified" },
5567 : /* 2 */ { A1_OP_NAME, 1, "keyCompromise" },
5568 : /* 3 */ { A1_OP_NAME, 2, "cACompromise" },
5569 : /* 4 */ { A1_OP_NAME, 3, "affiliationChanged" },
5570 : /* 5 */ { A1_OP_NAME, 4, "superseded" },
5571 : /* 6 */ { A1_OP_NAME, 5, "cessationOfOperation" },
5572 : /* 7 */ { A1_OP_NAME, 6, "certificateHold" },
5573 : /* 8 */ { A1_OP_NAME, 8, "removeFromCRL" },
5574 : /* 9 */ { A1_OP_NAME, 9, "privilegeWithdrawn" },
5575 : /* 10 */ { A1_OP_NAME, 10, "aACompromise" }
5576 : };
5577 : /* generate_template_type: CRLReason_tag__156 */
5578 : const struct asn1_template asn1_CRLReason_tag__156[] = {
5579 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
5580 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_CRLReason_enum_names }
5581 : };
5582 : /* generate_template_type: CRLReason */
5583 : const struct asn1_template asn1_CRLReason[] = {
5584 : /* 0 */ { 0, sizeof(CRLReason), ((void *)(uintptr_t)1) },
5585 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_CRLReason_tag__156 }
5586 : };
5587 :
5588 : int ASN1CALL
5589 0 : decode_CRLReason(const unsigned char *p, size_t len, CRLReason *data, size_t *size)
5590 : {
5591 0 : memset(data, 0, sizeof(*data));
5592 0 : return _asn1_decode_top(asn1_CRLReason, 0|0, p, len, data, size);
5593 : }
5594 :
5595 :
5596 : int ASN1CALL
5597 0 : encode_CRLReason(unsigned char *p, size_t len, const CRLReason *data, size_t *size)
5598 : {
5599 0 : return _asn1_encode(asn1_CRLReason, p, len, data, size);
5600 : }
5601 :
5602 :
5603 : size_t ASN1CALL
5604 0 : length_CRLReason(const CRLReason *data)
5605 : {
5606 0 : return _asn1_length(asn1_CRLReason, data);
5607 : }
5608 :
5609 :
5610 : void ASN1CALL
5611 0 : free_CRLReason(CRLReason *data)
5612 : {
5613 0 : _asn1_free_top(asn1_CRLReason, data);
5614 0 : }
5615 :
5616 :
5617 : int ASN1CALL
5618 0 : copy_CRLReason(const CRLReason *from, CRLReason *to)
5619 : {
5620 0 : return _asn1_copy_top(asn1_CRLReason, from, to);
5621 : }
5622 :
5623 :
5624 : char * ASN1CALL
5625 0 : print_CRLReason(const CRLReason *data, int flags)
5626 : {
5627 0 : return _asn1_print_top(asn1_CRLReason, flags, data);
5628 : }
5629 :
5630 : /* template_members: PKIXXmppAddr exp exp */
5631 : /* generate_template_type: PKIXXmppAddr_tag__157 */
5632 : /* generate_template_type: PKIXXmppAddr */
5633 : const struct asn1_template asn1_PKIXXmppAddr[] = {
5634 : /* 0 */ { 0, sizeof(PKIXXmppAddr), ((void *)(uintptr_t)1) },
5635 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_heim_utf8_string_tag__8 }
5636 : };
5637 :
5638 : int ASN1CALL
5639 0 : decode_PKIXXmppAddr(const unsigned char *p, size_t len, PKIXXmppAddr *data, size_t *size)
5640 : {
5641 0 : memset(data, 0, sizeof(*data));
5642 0 : return _asn1_decode_top(asn1_PKIXXmppAddr, 0|0, p, len, data, size);
5643 : }
5644 :
5645 :
5646 : int ASN1CALL
5647 0 : encode_PKIXXmppAddr(unsigned char *p, size_t len, const PKIXXmppAddr *data, size_t *size)
5648 : {
5649 0 : return _asn1_encode(asn1_PKIXXmppAddr, p, len, data, size);
5650 : }
5651 :
5652 :
5653 : size_t ASN1CALL
5654 0 : length_PKIXXmppAddr(const PKIXXmppAddr *data)
5655 : {
5656 0 : return _asn1_length(asn1_PKIXXmppAddr, data);
5657 : }
5658 :
5659 :
5660 : void ASN1CALL
5661 0 : free_PKIXXmppAddr(PKIXXmppAddr *data)
5662 : {
5663 0 : _asn1_free_top(asn1_PKIXXmppAddr, data);
5664 0 : }
5665 :
5666 :
5667 : int ASN1CALL
5668 0 : copy_PKIXXmppAddr(const PKIXXmppAddr *from, PKIXXmppAddr *to)
5669 : {
5670 0 : return _asn1_copy_top(asn1_PKIXXmppAddr, from, to);
5671 : }
5672 :
5673 :
5674 : char * ASN1CALL
5675 0 : print_PKIXXmppAddr(const PKIXXmppAddr *data, int flags)
5676 : {
5677 0 : return _asn1_print_top(asn1_PKIXXmppAddr, flags, data);
5678 : }
5679 :
5680 : /* template_members: SRVName exp exp */
5681 : /* generate_template_type: SRVName_tag__158 */
5682 : /* generate_template_type: SRVName */
5683 : const struct asn1_template asn1_SRVName[] = {
5684 : /* 0 */ { 0, sizeof(SRVName), ((void *)(uintptr_t)1) },
5685 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String), 0, asn1_heim_ia5_string_tag__4 }
5686 : };
5687 :
5688 : int ASN1CALL
5689 0 : decode_SRVName(const unsigned char *p, size_t len, SRVName *data, size_t *size)
5690 : {
5691 0 : memset(data, 0, sizeof(*data));
5692 0 : return _asn1_decode_top(asn1_SRVName, 0|0, p, len, data, size);
5693 : }
5694 :
5695 :
5696 : int ASN1CALL
5697 0 : encode_SRVName(unsigned char *p, size_t len, const SRVName *data, size_t *size)
5698 : {
5699 0 : return _asn1_encode(asn1_SRVName, p, len, data, size);
5700 : }
5701 :
5702 :
5703 : size_t ASN1CALL
5704 0 : length_SRVName(const SRVName *data)
5705 : {
5706 0 : return _asn1_length(asn1_SRVName, data);
5707 : }
5708 :
5709 :
5710 : void ASN1CALL
5711 0 : free_SRVName(SRVName *data)
5712 : {
5713 0 : _asn1_free_top(asn1_SRVName, data);
5714 0 : }
5715 :
5716 :
5717 : int ASN1CALL
5718 0 : copy_SRVName(const SRVName *from, SRVName *to)
5719 : {
5720 0 : return _asn1_copy_top(asn1_SRVName, from, to);
5721 : }
5722 :
5723 :
5724 : char * ASN1CALL
5725 0 : print_SRVName(const SRVName *data, int flags)
5726 : {
5727 0 : return _asn1_print_top(asn1_SRVName, flags, data);
5728 : }
5729 :
5730 : /* template_members: HardwareModuleName exp exp */
5731 : /* tsequence: members isstruct: 1 */
5732 : /* template_members: HardwareModuleName exp exp */
5733 : /* generate_template_type: HardwareModuleName_tag_hwType_160 */
5734 : /* template_members: HardwareModuleName exp exp */
5735 : /* generate_template_type: HardwareModuleName_tag_hwSerialNum_161 */
5736 : /* generate_template_type: HardwareModuleName_tag__159 */
5737 : const struct asn1_template asn1_HardwareModuleName_tag__159[] = {
5738 : /* 0 */ { 0, sizeof(struct HardwareModuleName), ((void *)(uintptr_t)5) },
5739 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct HardwareModuleName, hwType), asn1_AttributeType_tag__1 },
5740 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), offsetof(struct HardwareModuleName, hwSerialNum), asn1_Extension_tag_extnValue_25 },
5741 : /* 3 */ { A1_OP_NAME, 0, "HardwareModuleName" },
5742 : /* 4 */ { A1_OP_NAME, 0, "hwType" },
5743 : /* 5 */ { A1_OP_NAME, 0, "hwSerialNum" }
5744 : };
5745 : /* generate_template_type: HardwareModuleName */
5746 : const struct asn1_template asn1_HardwareModuleName[] = {
5747 : /* 0 */ { 0, sizeof(HardwareModuleName), ((void *)(uintptr_t)1) },
5748 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_HardwareModuleName_tag__159 }
5749 : };
5750 :
5751 : int ASN1CALL
5752 0 : decode_HardwareModuleName(const unsigned char *p, size_t len, HardwareModuleName *data, size_t *size)
5753 : {
5754 0 : memset(data, 0, sizeof(*data));
5755 0 : return _asn1_decode_top(asn1_HardwareModuleName, 0|0, p, len, data, size);
5756 : }
5757 :
5758 :
5759 : int ASN1CALL
5760 0 : encode_HardwareModuleName(unsigned char *p, size_t len, const HardwareModuleName *data, size_t *size)
5761 : {
5762 0 : return _asn1_encode(asn1_HardwareModuleName, p, len, data, size);
5763 : }
5764 :
5765 :
5766 : size_t ASN1CALL
5767 0 : length_HardwareModuleName(const HardwareModuleName *data)
5768 : {
5769 0 : return _asn1_length(asn1_HardwareModuleName, data);
5770 : }
5771 :
5772 :
5773 : void ASN1CALL
5774 0 : free_HardwareModuleName(HardwareModuleName *data)
5775 : {
5776 0 : _asn1_free_top(asn1_HardwareModuleName, data);
5777 0 : }
5778 :
5779 :
5780 : int ASN1CALL
5781 0 : copy_HardwareModuleName(const HardwareModuleName *from, HardwareModuleName *to)
5782 : {
5783 0 : return _asn1_copy_top(asn1_HardwareModuleName, from, to);
5784 : }
5785 :
5786 :
5787 : char * ASN1CALL
5788 0 : print_HardwareModuleName(const HardwareModuleName *data, int flags)
5789 : {
5790 0 : return _asn1_print_top(asn1_HardwareModuleName, flags, data);
5791 : }
5792 :
5793 : /* template_members: KRB5PrincipalName exp exp */
5794 : /* tsequence: members isstruct: 1 */
5795 : /* template_members: KRB5PrincipalName exp exp */
5796 : /* generate_template_type: KRB5PrincipalName_tag_realm_163 */
5797 : const struct asn1_template asn1_KRB5PrincipalName_tag_realm_163[] = {
5798 : /* 0 */ { 0, sizeof(Realm), ((void *)(uintptr_t)1) },
5799 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Realm}
5800 : };
5801 : /* template_members: KRB5PrincipalName exp exp */
5802 : /* generate_template_type: KRB5PrincipalName_tag_principalName_164 */
5803 : const struct asn1_template asn1_KRB5PrincipalName_tag_principalName_164[] = {
5804 : /* 0 */ { 0, sizeof(PrincipalName), ((void *)(uintptr_t)1) },
5805 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_PrincipalName}
5806 : };
5807 : /* generate_template_type: KRB5PrincipalName_tag__162 */
5808 : const struct asn1_template asn1_KRB5PrincipalName_tag__162[] = {
5809 : /* 0 */ { 0, sizeof(struct KRB5PrincipalName), ((void *)(uintptr_t)5) },
5810 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct KRB5PrincipalName, realm), asn1_KRB5PrincipalName_tag_realm_163 },
5811 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct KRB5PrincipalName, principalName), asn1_KRB5PrincipalName_tag_principalName_164 },
5812 : /* 3 */ { A1_OP_NAME, 0, "KRB5PrincipalName" },
5813 : /* 4 */ { A1_OP_NAME, 0, "realm" },
5814 : /* 5 */ { A1_OP_NAME, 0, "principalName" }
5815 : };
5816 : /* generate_template_type: KRB5PrincipalName */
5817 : const struct asn1_template asn1_KRB5PrincipalName[] = {
5818 : /* 0 */ { 0, sizeof(KRB5PrincipalName), ((void *)(uintptr_t)1) },
5819 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_KRB5PrincipalName_tag__162 }
5820 : };
5821 :
5822 : int ASN1CALL
5823 0 : decode_KRB5PrincipalName(const unsigned char *p, size_t len, KRB5PrincipalName *data, size_t *size)
5824 : {
5825 0 : memset(data, 0, sizeof(*data));
5826 0 : return _asn1_decode_top(asn1_KRB5PrincipalName, 0|0, p, len, data, size);
5827 : }
5828 :
5829 :
5830 : int ASN1CALL
5831 0 : encode_KRB5PrincipalName(unsigned char *p, size_t len, const KRB5PrincipalName *data, size_t *size)
5832 : {
5833 0 : return _asn1_encode(asn1_KRB5PrincipalName, p, len, data, size);
5834 : }
5835 :
5836 :
5837 : size_t ASN1CALL
5838 0 : length_KRB5PrincipalName(const KRB5PrincipalName *data)
5839 : {
5840 0 : return _asn1_length(asn1_KRB5PrincipalName, data);
5841 : }
5842 :
5843 :
5844 : void ASN1CALL
5845 0 : free_KRB5PrincipalName(KRB5PrincipalName *data)
5846 : {
5847 0 : _asn1_free_top(asn1_KRB5PrincipalName, data);
5848 0 : }
5849 :
5850 :
5851 : int ASN1CALL
5852 0 : copy_KRB5PrincipalName(const KRB5PrincipalName *from, KRB5PrincipalName *to)
5853 : {
5854 0 : return _asn1_copy_top(asn1_KRB5PrincipalName, from, to);
5855 : }
5856 :
5857 :
5858 : char * ASN1CALL
5859 0 : print_KRB5PrincipalName(const KRB5PrincipalName *data, int flags)
5860 : {
5861 0 : return _asn1_print_top(asn1_KRB5PrincipalName, flags, data);
5862 : }
5863 :
5864 : /* template_members: PermanentIdentifier exp exp */
5865 : /* tsequence: members isstruct: 1 */
5866 : /* template_members: PermanentIdentifier exp exp */
5867 : /* generate_template_type: PermanentIdentifier_tag_identifierValue_166 */
5868 : /* template_members: PermanentIdentifier exp exp */
5869 : /* generate_template_type: PermanentIdentifier_tag_assigner_167 */
5870 : /* generate_template_type: PermanentIdentifier_tag__165 */
5871 : const struct asn1_template asn1_PermanentIdentifier_tag__165[] = {
5872 : /* 0 */ { 0, sizeof(struct PermanentIdentifier), ((void *)(uintptr_t)5) },
5873 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String)|A1_FLAG_OPTIONAL, offsetof(struct PermanentIdentifier, identifierValue), asn1_heim_utf8_string_tag__8 },
5874 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID)|A1_FLAG_OPTIONAL, offsetof(struct PermanentIdentifier, assigner), asn1_AttributeType_tag__1 },
5875 : /* 3 */ { A1_OP_NAME, 0, "PermanentIdentifier" },
5876 : /* 4 */ { A1_OP_NAME, 0, "identifierValue" },
5877 : /* 5 */ { A1_OP_NAME, 0, "assigner" }
5878 : };
5879 : /* generate_template_type: PermanentIdentifier */
5880 : const struct asn1_template asn1_PermanentIdentifier[] = {
5881 : /* 0 */ { 0, sizeof(PermanentIdentifier), ((void *)(uintptr_t)1) },
5882 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PermanentIdentifier_tag__165 }
5883 : };
5884 :
5885 : int ASN1CALL
5886 0 : decode_PermanentIdentifier(const unsigned char *p, size_t len, PermanentIdentifier *data, size_t *size)
5887 : {
5888 0 : memset(data, 0, sizeof(*data));
5889 0 : return _asn1_decode_top(asn1_PermanentIdentifier, 0|0, p, len, data, size);
5890 : }
5891 :
5892 :
5893 : int ASN1CALL
5894 0 : encode_PermanentIdentifier(unsigned char *p, size_t len, const PermanentIdentifier *data, size_t *size)
5895 : {
5896 0 : return _asn1_encode(asn1_PermanentIdentifier, p, len, data, size);
5897 : }
5898 :
5899 :
5900 : size_t ASN1CALL
5901 0 : length_PermanentIdentifier(const PermanentIdentifier *data)
5902 : {
5903 0 : return _asn1_length(asn1_PermanentIdentifier, data);
5904 : }
5905 :
5906 :
5907 : void ASN1CALL
5908 0 : free_PermanentIdentifier(PermanentIdentifier *data)
5909 : {
5910 0 : _asn1_free_top(asn1_PermanentIdentifier, data);
5911 0 : }
5912 :
5913 :
5914 : int ASN1CALL
5915 0 : copy_PermanentIdentifier(const PermanentIdentifier *from, PermanentIdentifier *to)
5916 : {
5917 0 : return _asn1_copy_top(asn1_PermanentIdentifier, from, to);
5918 : }
5919 :
5920 :
5921 : char * ASN1CALL
5922 0 : print_PermanentIdentifier(const PermanentIdentifier *data, int flags)
5923 : {
5924 0 : return _asn1_print_top(asn1_PermanentIdentifier, flags, data);
5925 : }
5926 :
5927 : /* template_members: AccessDescription exp exp */
5928 : /* tsequence: members isstruct: 1 */
5929 : /* template_members: AccessDescription exp exp */
5930 : /* generate_template_type: AccessDescription_tag_accessMethod_169 */
5931 : /* generate_template_type: AccessDescription_tag__168 */
5932 : const struct asn1_template asn1_AccessDescription_tag__168[] = {
5933 : /* 0 */ { 0, sizeof(struct AccessDescription), ((void *)(uintptr_t)5) },
5934 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct AccessDescription, accessMethod), asn1_AttributeType_tag__1 },
5935 : /* 2 */ { A1_OP_TYPE , offsetof(struct AccessDescription, accessLocation), asn1_GeneralName },
5936 : /* 3 */ { A1_OP_NAME, 0, "AccessDescription" },
5937 : /* 4 */ { A1_OP_NAME, 0, "accessMethod" },
5938 : /* 5 */ { A1_OP_NAME, 0, "accessLocation" }
5939 : };
5940 : /* generate_template_type: AccessDescription */
5941 : const struct asn1_template asn1_AccessDescription[] = {
5942 : /* 0 */ { 0, sizeof(AccessDescription), ((void *)(uintptr_t)1) },
5943 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AccessDescription_tag__168 }
5944 : };
5945 :
5946 : int ASN1CALL
5947 0 : decode_AccessDescription(const unsigned char *p, size_t len, AccessDescription *data, size_t *size)
5948 : {
5949 0 : memset(data, 0, sizeof(*data));
5950 0 : return _asn1_decode_top(asn1_AccessDescription, 0|0, p, len, data, size);
5951 : }
5952 :
5953 :
5954 : int ASN1CALL
5955 0 : encode_AccessDescription(unsigned char *p, size_t len, const AccessDescription *data, size_t *size)
5956 : {
5957 0 : return _asn1_encode(asn1_AccessDescription, p, len, data, size);
5958 : }
5959 :
5960 :
5961 : size_t ASN1CALL
5962 0 : length_AccessDescription(const AccessDescription *data)
5963 : {
5964 0 : return _asn1_length(asn1_AccessDescription, data);
5965 : }
5966 :
5967 :
5968 : void ASN1CALL
5969 0 : free_AccessDescription(AccessDescription *data)
5970 : {
5971 0 : _asn1_free_top(asn1_AccessDescription, data);
5972 0 : }
5973 :
5974 :
5975 : int ASN1CALL
5976 0 : copy_AccessDescription(const AccessDescription *from, AccessDescription *to)
5977 : {
5978 0 : return _asn1_copy_top(asn1_AccessDescription, from, to);
5979 : }
5980 :
5981 :
5982 : char * ASN1CALL
5983 0 : print_AccessDescription(const AccessDescription *data, int flags)
5984 : {
5985 0 : return _asn1_print_top(asn1_AccessDescription, flags, data);
5986 : }
5987 :
5988 : /* template_members: AuthorityInfoAccessSyntax exp exp */
5989 : /* generate_template_type: AccessDescription_seofTstruct_18 */
5990 : const struct asn1_template asn1_AccessDescription_seofTstruct_18[] = {
5991 : /* 0 */ { 0, sizeof(AccessDescription), ((void *)(uintptr_t)1) },
5992 : /* 1 */ { A1_OP_TYPE , 0, asn1_AccessDescription }
5993 : };
5994 : /* generate_template_type: AuthorityInfoAccessSyntax_tag__170 */
5995 : const struct asn1_template asn1_AuthorityInfoAccessSyntax_tag__170[] = {
5996 : /* 0 */ { 0, sizeof(AccessDescription), ((void *)(uintptr_t)1) },
5997 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AccessDescription_seofTstruct_18 }
5998 : };
5999 : /* generate_template_type: AuthorityInfoAccessSyntax */
6000 : const struct asn1_template asn1_AuthorityInfoAccessSyntax[] = {
6001 : /* 0 */ { 0, sizeof(AuthorityInfoAccessSyntax), ((void *)(uintptr_t)1) },
6002 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthorityInfoAccessSyntax_tag__170 }
6003 : };
6004 :
6005 : int ASN1CALL
6006 0 : decode_AuthorityInfoAccessSyntax(const unsigned char *p, size_t len, AuthorityInfoAccessSyntax *data, size_t *size)
6007 : {
6008 0 : memset(data, 0, sizeof(*data));
6009 0 : return _asn1_decode_top(asn1_AuthorityInfoAccessSyntax, 0|0, p, len, data, size);
6010 : }
6011 :
6012 :
6013 : int ASN1CALL
6014 0 : encode_AuthorityInfoAccessSyntax(unsigned char *p, size_t len, const AuthorityInfoAccessSyntax *data, size_t *size)
6015 : {
6016 0 : return _asn1_encode(asn1_AuthorityInfoAccessSyntax, p, len, data, size);
6017 : }
6018 :
6019 :
6020 : size_t ASN1CALL
6021 0 : length_AuthorityInfoAccessSyntax(const AuthorityInfoAccessSyntax *data)
6022 : {
6023 0 : return _asn1_length(asn1_AuthorityInfoAccessSyntax, data);
6024 : }
6025 :
6026 :
6027 : void ASN1CALL
6028 0 : free_AuthorityInfoAccessSyntax(AuthorityInfoAccessSyntax *data)
6029 : {
6030 0 : _asn1_free_top(asn1_AuthorityInfoAccessSyntax, data);
6031 0 : }
6032 :
6033 :
6034 : int ASN1CALL
6035 0 : copy_AuthorityInfoAccessSyntax(const AuthorityInfoAccessSyntax *from, AuthorityInfoAccessSyntax *to)
6036 : {
6037 0 : return _asn1_copy_top(asn1_AuthorityInfoAccessSyntax, from, to);
6038 : }
6039 :
6040 :
6041 : char * ASN1CALL
6042 0 : print_AuthorityInfoAccessSyntax(const AuthorityInfoAccessSyntax *data, int flags)
6043 : {
6044 0 : return _asn1_print_top(asn1_AuthorityInfoAccessSyntax, flags, data);
6045 : }
6046 :
6047 : /* template_members: SubjectInfoAccessSyntax exp exp */
6048 : /* generate_template_type: AccessDescription_seofTstruct_19 */
6049 : /* generate_template_type: SubjectInfoAccessSyntax_tag__171 */
6050 : /* generate_template_type: SubjectInfoAccessSyntax */
6051 : const struct asn1_template asn1_SubjectInfoAccessSyntax[] = {
6052 : /* 0 */ { 0, sizeof(SubjectInfoAccessSyntax), ((void *)(uintptr_t)1) },
6053 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthorityInfoAccessSyntax_tag__170 }
6054 : };
6055 :
6056 : int ASN1CALL
6057 0 : decode_SubjectInfoAccessSyntax(const unsigned char *p, size_t len, SubjectInfoAccessSyntax *data, size_t *size)
6058 : {
6059 0 : memset(data, 0, sizeof(*data));
6060 0 : return _asn1_decode_top(asn1_SubjectInfoAccessSyntax, 0|0, p, len, data, size);
6061 : }
6062 :
6063 :
6064 : int ASN1CALL
6065 0 : encode_SubjectInfoAccessSyntax(unsigned char *p, size_t len, const SubjectInfoAccessSyntax *data, size_t *size)
6066 : {
6067 0 : return _asn1_encode(asn1_SubjectInfoAccessSyntax, p, len, data, size);
6068 : }
6069 :
6070 :
6071 : size_t ASN1CALL
6072 0 : length_SubjectInfoAccessSyntax(const SubjectInfoAccessSyntax *data)
6073 : {
6074 0 : return _asn1_length(asn1_SubjectInfoAccessSyntax, data);
6075 : }
6076 :
6077 :
6078 : void ASN1CALL
6079 0 : free_SubjectInfoAccessSyntax(SubjectInfoAccessSyntax *data)
6080 : {
6081 0 : _asn1_free_top(asn1_SubjectInfoAccessSyntax, data);
6082 0 : }
6083 :
6084 :
6085 : int ASN1CALL
6086 0 : copy_SubjectInfoAccessSyntax(const SubjectInfoAccessSyntax *from, SubjectInfoAccessSyntax *to)
6087 : {
6088 0 : return _asn1_copy_top(asn1_SubjectInfoAccessSyntax, from, to);
6089 : }
6090 :
6091 :
6092 : char * ASN1CALL
6093 0 : print_SubjectInfoAccessSyntax(const SubjectInfoAccessSyntax *data, int flags)
6094 : {
6095 0 : return _asn1_print_top(asn1_SubjectInfoAccessSyntax, flags, data);
6096 : }
6097 :
6098 : /* template_members: ProxyPolicy exp exp */
6099 : /* tsequence: members isstruct: 1 */
6100 : /* template_members: ProxyPolicy exp exp */
6101 : /* generate_template_type: ProxyPolicy_tag_policyLanguage_173 */
6102 : /* template_members: ProxyPolicy exp exp */
6103 : /* generate_template_type: ProxyPolicy_tag_policy_174 */
6104 : /* generate_template_type: ProxyPolicy_tag__172 */
6105 : const struct asn1_template asn1_ProxyPolicy_tag__172[] = {
6106 : /* 0 */ { 0, sizeof(struct ProxyPolicy), ((void *)(uintptr_t)5) },
6107 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct ProxyPolicy, policyLanguage), asn1_AttributeType_tag__1 },
6108 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString)|A1_FLAG_OPTIONAL, offsetof(struct ProxyPolicy, policy), asn1_Extension_tag_extnValue_25 },
6109 : /* 3 */ { A1_OP_NAME, 0, "ProxyPolicy" },
6110 : /* 4 */ { A1_OP_NAME, 0, "policyLanguage" },
6111 : /* 5 */ { A1_OP_NAME, 0, "policy" }
6112 : };
6113 : /* generate_template_type: ProxyPolicy */
6114 : const struct asn1_template asn1_ProxyPolicy[] = {
6115 : /* 0 */ { 0, sizeof(ProxyPolicy), ((void *)(uintptr_t)1) },
6116 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ProxyPolicy_tag__172 }
6117 : };
6118 :
6119 : int ASN1CALL
6120 0 : decode_ProxyPolicy(const unsigned char *p, size_t len, ProxyPolicy *data, size_t *size)
6121 : {
6122 0 : memset(data, 0, sizeof(*data));
6123 0 : return _asn1_decode_top(asn1_ProxyPolicy, 0|0, p, len, data, size);
6124 : }
6125 :
6126 :
6127 : int ASN1CALL
6128 0 : encode_ProxyPolicy(unsigned char *p, size_t len, const ProxyPolicy *data, size_t *size)
6129 : {
6130 0 : return _asn1_encode(asn1_ProxyPolicy, p, len, data, size);
6131 : }
6132 :
6133 :
6134 : size_t ASN1CALL
6135 0 : length_ProxyPolicy(const ProxyPolicy *data)
6136 : {
6137 0 : return _asn1_length(asn1_ProxyPolicy, data);
6138 : }
6139 :
6140 :
6141 : void ASN1CALL
6142 0 : free_ProxyPolicy(ProxyPolicy *data)
6143 : {
6144 0 : _asn1_free_top(asn1_ProxyPolicy, data);
6145 0 : }
6146 :
6147 :
6148 : int ASN1CALL
6149 0 : copy_ProxyPolicy(const ProxyPolicy *from, ProxyPolicy *to)
6150 : {
6151 0 : return _asn1_copy_top(asn1_ProxyPolicy, from, to);
6152 : }
6153 :
6154 :
6155 : char * ASN1CALL
6156 0 : print_ProxyPolicy(const ProxyPolicy *data, int flags)
6157 : {
6158 0 : return _asn1_print_top(asn1_ProxyPolicy, flags, data);
6159 : }
6160 :
6161 : /* template_members: ProxyCertInfo exp exp */
6162 : /* tsequence: members isstruct: 1 */
6163 : /* template_members: ProxyCertInfo exp exp */
6164 : /* generate_template_type: ProxyCertInfo_tag_pCPathLenConstraint_176 */
6165 : /* generate_template_type: ProxyCertInfo_tag__175 */
6166 : const struct asn1_template asn1_ProxyCertInfo_tag__175[] = {
6167 : /* 0 */ { 0, sizeof(struct ProxyCertInfo), ((void *)(uintptr_t)5) },
6168 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer)|A1_FLAG_OPTIONAL, offsetof(struct ProxyCertInfo, pCPathLenConstraint), asn1_BasicConstraints_tag_pathLenConstraint_100 },
6169 : /* 2 */ { A1_OP_TYPE , offsetof(struct ProxyCertInfo, proxyPolicy), asn1_ProxyPolicy },
6170 : /* 3 */ { A1_OP_NAME, 0, "ProxyCertInfo" },
6171 : /* 4 */ { A1_OP_NAME, 0, "pCPathLenConstraint" },
6172 : /* 5 */ { A1_OP_NAME, 0, "proxyPolicy" }
6173 : };
6174 : /* generate_template_type: ProxyCertInfo */
6175 : const struct asn1_template asn1_ProxyCertInfo[] = {
6176 : /* 0 */ { 0, sizeof(ProxyCertInfo), ((void *)(uintptr_t)1) },
6177 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ProxyCertInfo_tag__175 }
6178 : };
6179 :
6180 : int ASN1CALL
6181 0 : decode_ProxyCertInfo(const unsigned char *p, size_t len, ProxyCertInfo *data, size_t *size)
6182 : {
6183 0 : memset(data, 0, sizeof(*data));
6184 0 : return _asn1_decode_top(asn1_ProxyCertInfo, 0|0, p, len, data, size);
6185 : }
6186 :
6187 :
6188 : int ASN1CALL
6189 0 : encode_ProxyCertInfo(unsigned char *p, size_t len, const ProxyCertInfo *data, size_t *size)
6190 : {
6191 0 : return _asn1_encode(asn1_ProxyCertInfo, p, len, data, size);
6192 : }
6193 :
6194 :
6195 : size_t ASN1CALL
6196 0 : length_ProxyCertInfo(const ProxyCertInfo *data)
6197 : {
6198 0 : return _asn1_length(asn1_ProxyCertInfo, data);
6199 : }
6200 :
6201 :
6202 : void ASN1CALL
6203 0 : free_ProxyCertInfo(ProxyCertInfo *data)
6204 : {
6205 0 : _asn1_free_top(asn1_ProxyCertInfo, data);
6206 0 : }
6207 :
6208 :
6209 : int ASN1CALL
6210 0 : copy_ProxyCertInfo(const ProxyCertInfo *from, ProxyCertInfo *to)
6211 : {
6212 0 : return _asn1_copy_top(asn1_ProxyCertInfo, from, to);
6213 : }
6214 :
6215 :
6216 : char * ASN1CALL
6217 0 : print_ProxyCertInfo(const ProxyCertInfo *data, int flags)
6218 : {
6219 0 : return _asn1_print_top(asn1_ProxyCertInfo, flags, data);
6220 : }
6221 :
6222 : /* template_members: TPMSecurityAssertions exp exp */
6223 : /* tsequence: members isstruct: 1 */
6224 : /* template_members: TPMSecurityAssertions exp exp */
6225 : /* generate_template_type: TPMSecurityAssertions_tag_fieldUpgradable_178 */
6226 : /* template_members: TPMSecurityAssertions exp exp */
6227 : /* generate_template_type: TPMSecurityAssertions_tag_ekGenerationType_179 */
6228 : const struct asn1_template asn1_TPMSecurityAssertions_tag_ekGenerationType_179[] = {
6229 : /* 0 */ { 0, sizeof(EKGenerationType), ((void *)(uintptr_t)1) },
6230 : /* 1 */ { A1_OP_TYPE , 0, asn1_EKGenerationType }
6231 : };
6232 : /* template_members: TPMSecurityAssertions exp exp */
6233 : /* generate_template_type: TPMSecurityAssertions_tag_ekGenerationLocation_180 */
6234 : const struct asn1_template asn1_TPMSecurityAssertions_tag_ekGenerationLocation_180[] = {
6235 : /* 0 */ { 0, sizeof(EKGenerationLocation), ((void *)(uintptr_t)1) },
6236 : /* 1 */ { A1_OP_TYPE , 0, asn1_EKGenerationLocation }
6237 : };
6238 : /* template_members: TPMSecurityAssertions exp exp */
6239 : /* generate_template_type: TPMSecurityAssertions_tag_ekCertificateGenerationLocation_181 */
6240 : const struct asn1_template asn1_TPMSecurityAssertions_tag_ekCertificateGenerationLocation_181[] = {
6241 : /* 0 */ { 0, sizeof(EKCertificateGenerationLocation), ((void *)(uintptr_t)1) },
6242 : /* 1 */ { A1_OP_TYPE , 0, asn1_EKCertificateGenerationLocation }
6243 : };
6244 : /* template_members: TPMSecurityAssertions exp exp */
6245 : /* generate_template_type: TPMSecurityAssertions_tag_ccInfo_182 */
6246 : const struct asn1_template asn1_TPMSecurityAssertions_tag_ccInfo_182[] = {
6247 : /* 0 */ { 0, sizeof(CommonCriteriaMeasures), ((void *)(uintptr_t)1) },
6248 : /* 1 */ { A1_OP_TYPE , 0, asn1_CommonCriteriaMeasures }
6249 : };
6250 : /* template_members: TPMSecurityAssertions exp exp */
6251 : /* generate_template_type: TPMSecurityAssertions_tag_fipsLevel_183 */
6252 : const struct asn1_template asn1_TPMSecurityAssertions_tag_fipsLevel_183[] = {
6253 : /* 0 */ { 0, sizeof(FIPSLevel), ((void *)(uintptr_t)1) },
6254 : /* 1 */ { A1_OP_TYPE , 0, asn1_FIPSLevel }
6255 : };
6256 : /* template_members: TPMSecurityAssertions exp exp */
6257 : /* template_members: int exp exp */
6258 : /* generate_template_type: int_tag_iso9000Certified_185 */
6259 : /* generate_template_type: TPMSecurityAssertions_tag_iso9000Certified_184 */
6260 : const struct asn1_template asn1_TPMSecurityAssertions_tag_iso9000Certified_184[] = {
6261 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6262 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean), 0, asn1_Extension_tag_critical_24 }
6263 : };
6264 : /* template_members: TPMSecurityAssertions exp exp */
6265 : /* generate_template_type: TPMSecurityAssertions_tag_iso9000Uri_186 */
6266 : /* generate_template_type: TPMSecurityAssertions_tag__177 */
6267 : const struct asn1_template asn1_TPMSecurityAssertions_tag__177[] = {
6268 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct TPMSecurityAssertions), ((void *)(uintptr_t)23) },
6269 : /* 1 */ { A1_OP_DEFVAL|A1_DV_INTEGER32, ~0, (void *)(uintptr_t)0 },
6270 : /* 2 */ { A1_OP_TYPE |A1_FLAG_DEFAULT, offsetof(struct TPMSecurityAssertions, version), asn1_TPMVersion },
6271 : /* 3 */ { A1_OP_DEFVAL|A1_DV_BOOLEAN, ~0, (void *)(uintptr_t)0 },
6272 : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean)|A1_FLAG_DEFAULT, offsetof(struct TPMSecurityAssertions, fieldUpgradable), asn1_Extension_tag_critical_24 },
6273 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct TPMSecurityAssertions, ekGenerationType), asn1_TPMSecurityAssertions_tag_ekGenerationType_179 },
6274 : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct TPMSecurityAssertions, ekGenerationLocation), asn1_TPMSecurityAssertions_tag_ekGenerationLocation_180 },
6275 : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct TPMSecurityAssertions, ekCertificateGenerationLocation), asn1_TPMSecurityAssertions_tag_ekCertificateGenerationLocation_181 },
6276 : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct TPMSecurityAssertions, ccInfo), asn1_TPMSecurityAssertions_tag_ccInfo_182 },
6277 : /* 9 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct TPMSecurityAssertions, fipsLevel), asn1_TPMSecurityAssertions_tag_fipsLevel_183 },
6278 : /* 10 */ { A1_OP_DEFVAL|A1_DV_BOOLEAN, ~0, (void *)(uintptr_t)0 },
6279 : /* 11 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5)|A1_FLAG_DEFAULT, offsetof(struct TPMSecurityAssertions, iso9000Certified), asn1_TPMSecurityAssertions_tag_iso9000Certified_184 },
6280 : /* 12 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String)|A1_FLAG_OPTIONAL, offsetof(struct TPMSecurityAssertions, iso9000Uri), asn1_heim_ia5_string_tag__4 },
6281 : /* 13 */ { A1_OP_NAME, 0, "TPMSecurityAssertions" },
6282 : /* 14 */ { A1_OP_NAME, 0, "version" },
6283 : /* 15 */ { A1_OP_NAME, 0, "fieldUpgradable" },
6284 : /* 16 */ { A1_OP_NAME, 0, "ekGenerationType" },
6285 : /* 17 */ { A1_OP_NAME, 0, "ekGenerationLocation" },
6286 : /* 18 */ { A1_OP_NAME, 0, "ekCertificateGenerationLocation" },
6287 : /* 19 */ { A1_OP_NAME, 0, "ccInfo" },
6288 : /* 20 */ { A1_OP_NAME, 0, "fipsLevel" },
6289 : /* 21 */ { A1_OP_NAME, 0, "iso9000Certified" },
6290 : /* 22 */ { A1_OP_NAME, 0, "iso9000Uri" },
6291 : /* 23 */ { A1_OP_NAME, 0, "..." }
6292 : };
6293 : /* generate_template_type: TPMSecurityAssertions */
6294 : const struct asn1_template asn1_TPMSecurityAssertions[] = {
6295 : /* 0 */ { 0, sizeof(TPMSecurityAssertions), ((void *)(uintptr_t)1) },
6296 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TPMSecurityAssertions_tag__177 }
6297 : };
6298 :
6299 : int ASN1CALL
6300 0 : decode_TPMSecurityAssertions(const unsigned char *p, size_t len, TPMSecurityAssertions *data, size_t *size)
6301 : {
6302 0 : memset(data, 0, sizeof(*data));
6303 0 : return _asn1_decode_top(asn1_TPMSecurityAssertions, 0|0, p, len, data, size);
6304 : }
6305 :
6306 :
6307 : int ASN1CALL
6308 0 : encode_TPMSecurityAssertions(unsigned char *p, size_t len, const TPMSecurityAssertions *data, size_t *size)
6309 : {
6310 0 : return _asn1_encode(asn1_TPMSecurityAssertions, p, len, data, size);
6311 : }
6312 :
6313 :
6314 : size_t ASN1CALL
6315 0 : length_TPMSecurityAssertions(const TPMSecurityAssertions *data)
6316 : {
6317 0 : return _asn1_length(asn1_TPMSecurityAssertions, data);
6318 : }
6319 :
6320 :
6321 : void ASN1CALL
6322 0 : free_TPMSecurityAssertions(TPMSecurityAssertions *data)
6323 : {
6324 0 : _asn1_free_top(asn1_TPMSecurityAssertions, data);
6325 0 : }
6326 :
6327 :
6328 : int ASN1CALL
6329 0 : copy_TPMSecurityAssertions(const TPMSecurityAssertions *from, TPMSecurityAssertions *to)
6330 : {
6331 0 : return _asn1_copy_top(asn1_TPMSecurityAssertions, from, to);
6332 : }
6333 :
6334 :
6335 : char * ASN1CALL
6336 0 : print_TPMSecurityAssertions(const TPMSecurityAssertions *data, int flags)
6337 : {
6338 0 : return _asn1_print_top(asn1_TPMSecurityAssertions, flags, data);
6339 : }
6340 :
6341 : /* template_members: AliasUTF8String exp exp */
6342 : /* generate_template_type: AliasUTF8String_tag__187 */
6343 : /* generate_template_type: AliasUTF8String */
6344 : const struct asn1_template asn1_AliasUTF8String[] = {
6345 : /* 0 */ { 0, sizeof(AliasUTF8String), ((void *)(uintptr_t)1) },
6346 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_heim_utf8_string_tag__8 }
6347 : };
6348 :
6349 : int ASN1CALL
6350 0 : decode_AliasUTF8String(const unsigned char *p, size_t len, AliasUTF8String *data, size_t *size)
6351 : {
6352 0 : memset(data, 0, sizeof(*data));
6353 0 : return _asn1_decode_top(asn1_AliasUTF8String, 0|0, p, len, data, size);
6354 : }
6355 :
6356 :
6357 : int ASN1CALL
6358 0 : encode_AliasUTF8String(unsigned char *p, size_t len, const AliasUTF8String *data, size_t *size)
6359 : {
6360 0 : return _asn1_encode(asn1_AliasUTF8String, p, len, data, size);
6361 : }
6362 :
6363 :
6364 : size_t ASN1CALL
6365 0 : length_AliasUTF8String(const AliasUTF8String *data)
6366 : {
6367 0 : return _asn1_length(asn1_AliasUTF8String, data);
6368 : }
6369 :
6370 :
6371 : void ASN1CALL
6372 0 : free_AliasUTF8String(AliasUTF8String *data)
6373 : {
6374 0 : _asn1_free_top(asn1_AliasUTF8String, data);
6375 0 : }
6376 :
6377 :
6378 : int ASN1CALL
6379 0 : copy_AliasUTF8String(const AliasUTF8String *from, AliasUTF8String *to)
6380 : {
6381 0 : return _asn1_copy_top(asn1_AliasUTF8String, from, to);
6382 : }
6383 :
6384 :
6385 : char * ASN1CALL
6386 0 : print_AliasUTF8String(const AliasUTF8String *data, int flags)
6387 : {
6388 0 : return _asn1_print_top(asn1_AliasUTF8String, flags, data);
6389 : }
6390 :
6391 : /* template_members: TPMSpecification exp exp */
6392 : /* tsequence: members isstruct: 1 */
6393 : /* template_members: TPMSpecification exp exp */
6394 : /* generate_template_type: TPMSpecification_tag_family_189 */
6395 : /* template_members: TPMSpecification exp exp */
6396 : /* generate_template_type: TPMSpecification_tag_level_190 */
6397 : /* template_members: TPMSpecification exp exp */
6398 : /* generate_template_type: TPMSpecification_tag_revision_191 */
6399 : /* generate_template_type: TPMSpecification_tag__188 */
6400 : const struct asn1_template asn1_TPMSpecification_tag__188[] = {
6401 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct TPMSpecification), ((void *)(uintptr_t)8) },
6402 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct TPMSpecification, family), asn1_heim_utf8_string_tag__8 },
6403 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct TPMSpecification, level), asn1_BasicConstraints_tag_pathLenConstraint_100 },
6404 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct TPMSpecification, revision), asn1_BasicConstraints_tag_pathLenConstraint_100 },
6405 : /* 4 */ { A1_OP_NAME, 0, "TPMSpecification" },
6406 : /* 5 */ { A1_OP_NAME, 0, "family" },
6407 : /* 6 */ { A1_OP_NAME, 0, "level" },
6408 : /* 7 */ { A1_OP_NAME, 0, "revision" },
6409 : /* 8 */ { A1_OP_NAME, 0, "..." }
6410 : };
6411 : /* generate_template_type: TPMSpecification */
6412 : const struct asn1_template asn1_TPMSpecification[] = {
6413 : /* 0 */ { 0, sizeof(TPMSpecification), ((void *)(uintptr_t)1) },
6414 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TPMSpecification_tag__188 }
6415 : };
6416 :
6417 : int ASN1CALL
6418 0 : decode_TPMSpecification(const unsigned char *p, size_t len, TPMSpecification *data, size_t *size)
6419 : {
6420 0 : memset(data, 0, sizeof(*data));
6421 0 : return _asn1_decode_top(asn1_TPMSpecification, 0|0, p, len, data, size);
6422 : }
6423 :
6424 :
6425 : int ASN1CALL
6426 0 : encode_TPMSpecification(unsigned char *p, size_t len, const TPMSpecification *data, size_t *size)
6427 : {
6428 0 : return _asn1_encode(asn1_TPMSpecification, p, len, data, size);
6429 : }
6430 :
6431 :
6432 : size_t ASN1CALL
6433 0 : length_TPMSpecification(const TPMSpecification *data)
6434 : {
6435 0 : return _asn1_length(asn1_TPMSpecification, data);
6436 : }
6437 :
6438 :
6439 : void ASN1CALL
6440 0 : free_TPMSpecification(TPMSpecification *data)
6441 : {
6442 0 : _asn1_free_top(asn1_TPMSpecification, data);
6443 0 : }
6444 :
6445 :
6446 : int ASN1CALL
6447 0 : copy_TPMSpecification(const TPMSpecification *from, TPMSpecification *to)
6448 : {
6449 0 : return _asn1_copy_top(asn1_TPMSpecification, from, to);
6450 : }
6451 :
6452 :
6453 : char * ASN1CALL
6454 0 : print_TPMSpecification(const TPMSpecification *data, int flags)
6455 : {
6456 0 : return _asn1_print_top(asn1_TPMSpecification, flags, data);
6457 : }
6458 :
6459 : /* template_members: EKGenerationType exp exp */
6460 : const struct asn1_template asn1_EKGenerationType_enum_names[] = {
6461 : /* 0 */ { 0, 0, ((void *)(uintptr_t)4) },
6462 : /* 1 */ { A1_OP_NAME, 0, "ekgt-internal" },
6463 : /* 2 */ { A1_OP_NAME, 1, "ekgt-injected" },
6464 : /* 3 */ { A1_OP_NAME, 2, "ekgt-internalRevocable" },
6465 : /* 4 */ { A1_OP_NAME, 3, "ekgt-injectedRevocable" }
6466 : };
6467 : /* generate_template_type: EKGenerationType_tag__192 */
6468 : const struct asn1_template asn1_EKGenerationType_tag__192[] = {
6469 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6470 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_EKGenerationType_enum_names }
6471 : };
6472 : /* generate_template_type: EKGenerationType */
6473 : const struct asn1_template asn1_EKGenerationType[] = {
6474 : /* 0 */ { 0, sizeof(EKGenerationType), ((void *)(uintptr_t)1) },
6475 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_EKGenerationType_tag__192 }
6476 : };
6477 :
6478 : int ASN1CALL
6479 0 : decode_EKGenerationType(const unsigned char *p, size_t len, EKGenerationType *data, size_t *size)
6480 : {
6481 0 : memset(data, 0, sizeof(*data));
6482 0 : return _asn1_decode_top(asn1_EKGenerationType, 0|0, p, len, data, size);
6483 : }
6484 :
6485 :
6486 : int ASN1CALL
6487 0 : encode_EKGenerationType(unsigned char *p, size_t len, const EKGenerationType *data, size_t *size)
6488 : {
6489 0 : return _asn1_encode(asn1_EKGenerationType, p, len, data, size);
6490 : }
6491 :
6492 :
6493 : size_t ASN1CALL
6494 0 : length_EKGenerationType(const EKGenerationType *data)
6495 : {
6496 0 : return _asn1_length(asn1_EKGenerationType, data);
6497 : }
6498 :
6499 :
6500 : void ASN1CALL
6501 0 : free_EKGenerationType(EKGenerationType *data)
6502 : {
6503 0 : _asn1_free_top(asn1_EKGenerationType, data);
6504 0 : }
6505 :
6506 :
6507 : int ASN1CALL
6508 0 : copy_EKGenerationType(const EKGenerationType *from, EKGenerationType *to)
6509 : {
6510 0 : return _asn1_copy_top(asn1_EKGenerationType, from, to);
6511 : }
6512 :
6513 :
6514 : char * ASN1CALL
6515 0 : print_EKGenerationType(const EKGenerationType *data, int flags)
6516 : {
6517 0 : return _asn1_print_top(asn1_EKGenerationType, flags, data);
6518 : }
6519 :
6520 : /* template_members: EKGenerationLocation exp exp */
6521 : const struct asn1_template asn1_EKGenerationLocation_enum_names[] = {
6522 : /* 0 */ { 0, 0, ((void *)(uintptr_t)3) },
6523 : /* 1 */ { A1_OP_NAME, 0, "tpmManufacturer" },
6524 : /* 2 */ { A1_OP_NAME, 1, "platformManufacturer" },
6525 : /* 3 */ { A1_OP_NAME, 2, "ekCertSigner" }
6526 : };
6527 : /* generate_template_type: EKGenerationLocation_tag__193 */
6528 : const struct asn1_template asn1_EKGenerationLocation_tag__193[] = {
6529 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6530 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_EKGenerationLocation_enum_names }
6531 : };
6532 : /* generate_template_type: EKGenerationLocation */
6533 : const struct asn1_template asn1_EKGenerationLocation[] = {
6534 : /* 0 */ { 0, sizeof(EKGenerationLocation), ((void *)(uintptr_t)1) },
6535 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_EKGenerationLocation_tag__193 }
6536 : };
6537 :
6538 : int ASN1CALL
6539 0 : decode_EKGenerationLocation(const unsigned char *p, size_t len, EKGenerationLocation *data, size_t *size)
6540 : {
6541 0 : memset(data, 0, sizeof(*data));
6542 0 : return _asn1_decode_top(asn1_EKGenerationLocation, 0|0, p, len, data, size);
6543 : }
6544 :
6545 :
6546 : int ASN1CALL
6547 0 : encode_EKGenerationLocation(unsigned char *p, size_t len, const EKGenerationLocation *data, size_t *size)
6548 : {
6549 0 : return _asn1_encode(asn1_EKGenerationLocation, p, len, data, size);
6550 : }
6551 :
6552 :
6553 : size_t ASN1CALL
6554 0 : length_EKGenerationLocation(const EKGenerationLocation *data)
6555 : {
6556 0 : return _asn1_length(asn1_EKGenerationLocation, data);
6557 : }
6558 :
6559 :
6560 : void ASN1CALL
6561 0 : free_EKGenerationLocation(EKGenerationLocation *data)
6562 : {
6563 0 : _asn1_free_top(asn1_EKGenerationLocation, data);
6564 0 : }
6565 :
6566 :
6567 : int ASN1CALL
6568 0 : copy_EKGenerationLocation(const EKGenerationLocation *from, EKGenerationLocation *to)
6569 : {
6570 0 : return _asn1_copy_top(asn1_EKGenerationLocation, from, to);
6571 : }
6572 :
6573 :
6574 : char * ASN1CALL
6575 0 : print_EKGenerationLocation(const EKGenerationLocation *data, int flags)
6576 : {
6577 0 : return _asn1_print_top(asn1_EKGenerationLocation, flags, data);
6578 : }
6579 :
6580 : /* generate_template_type: EKCertificateGenerationLocation */
6581 : const struct asn1_template asn1_EKCertificateGenerationLocation[] = {
6582 : /* 0 */ { 0, sizeof(EKCertificateGenerationLocation), ((void *)(uintptr_t)1) },
6583 : /* 1 */ { A1_OP_TYPE , 0, asn1_EKGenerationLocation }
6584 : };
6585 :
6586 : int ASN1CALL
6587 0 : decode_EKCertificateGenerationLocation(const unsigned char *p, size_t len, EKCertificateGenerationLocation *data, size_t *size)
6588 : {
6589 0 : memset(data, 0, sizeof(*data));
6590 0 : return _asn1_decode_top(asn1_EKCertificateGenerationLocation, 0|0, p, len, data, size);
6591 : }
6592 :
6593 :
6594 : int ASN1CALL
6595 0 : encode_EKCertificateGenerationLocation(unsigned char *p, size_t len, const EKCertificateGenerationLocation *data, size_t *size)
6596 : {
6597 0 : return _asn1_encode(asn1_EKCertificateGenerationLocation, p, len, data, size);
6598 : }
6599 :
6600 :
6601 : size_t ASN1CALL
6602 0 : length_EKCertificateGenerationLocation(const EKCertificateGenerationLocation *data)
6603 : {
6604 0 : return _asn1_length(asn1_EKCertificateGenerationLocation, data);
6605 : }
6606 :
6607 :
6608 : void ASN1CALL
6609 0 : free_EKCertificateGenerationLocation(EKCertificateGenerationLocation *data)
6610 : {
6611 0 : _asn1_free_top(asn1_EKCertificateGenerationLocation, data);
6612 0 : }
6613 :
6614 :
6615 : int ASN1CALL
6616 0 : copy_EKCertificateGenerationLocation(const EKCertificateGenerationLocation *from, EKCertificateGenerationLocation *to)
6617 : {
6618 0 : return _asn1_copy_top(asn1_EKCertificateGenerationLocation, from, to);
6619 : }
6620 :
6621 :
6622 : char * ASN1CALL
6623 0 : print_EKCertificateGenerationLocation(const EKCertificateGenerationLocation *data, int flags)
6624 : {
6625 0 : return _asn1_print_top(asn1_EKCertificateGenerationLocation, flags, data);
6626 : }
6627 :
6628 : /* template_members: EvaluationAssuranceLevel exp exp */
6629 : const struct asn1_template asn1_EvaluationAssuranceLevel_enum_names[] = {
6630 : /* 0 */ { 0, 0, ((void *)(uintptr_t)7) },
6631 : /* 1 */ { A1_OP_NAME, 1, "ealevell" },
6632 : /* 2 */ { A1_OP_NAME, 2, "ealevel2" },
6633 : /* 3 */ { A1_OP_NAME, 3, "ealevel3" },
6634 : /* 4 */ { A1_OP_NAME, 4, "ealevel4" },
6635 : /* 5 */ { A1_OP_NAME, 5, "ealevel5" },
6636 : /* 6 */ { A1_OP_NAME, 6, "ealevel6" },
6637 : /* 7 */ { A1_OP_NAME, 7, "ealevel7" }
6638 : };
6639 : /* generate_template_type: EvaluationAssuranceLevel_tag__194 */
6640 : const struct asn1_template asn1_EvaluationAssuranceLevel_tag__194[] = {
6641 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6642 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_EvaluationAssuranceLevel_enum_names }
6643 : };
6644 : /* generate_template_type: EvaluationAssuranceLevel */
6645 : const struct asn1_template asn1_EvaluationAssuranceLevel[] = {
6646 : /* 0 */ { 0, sizeof(EvaluationAssuranceLevel), ((void *)(uintptr_t)1) },
6647 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_EvaluationAssuranceLevel_tag__194 }
6648 : };
6649 :
6650 : int ASN1CALL
6651 0 : decode_EvaluationAssuranceLevel(const unsigned char *p, size_t len, EvaluationAssuranceLevel *data, size_t *size)
6652 : {
6653 0 : memset(data, 0, sizeof(*data));
6654 0 : return _asn1_decode_top(asn1_EvaluationAssuranceLevel, 0|0, p, len, data, size);
6655 : }
6656 :
6657 :
6658 : int ASN1CALL
6659 0 : encode_EvaluationAssuranceLevel(unsigned char *p, size_t len, const EvaluationAssuranceLevel *data, size_t *size)
6660 : {
6661 0 : return _asn1_encode(asn1_EvaluationAssuranceLevel, p, len, data, size);
6662 : }
6663 :
6664 :
6665 : size_t ASN1CALL
6666 0 : length_EvaluationAssuranceLevel(const EvaluationAssuranceLevel *data)
6667 : {
6668 0 : return _asn1_length(asn1_EvaluationAssuranceLevel, data);
6669 : }
6670 :
6671 :
6672 : void ASN1CALL
6673 0 : free_EvaluationAssuranceLevel(EvaluationAssuranceLevel *data)
6674 : {
6675 0 : _asn1_free_top(asn1_EvaluationAssuranceLevel, data);
6676 0 : }
6677 :
6678 :
6679 : int ASN1CALL
6680 0 : copy_EvaluationAssuranceLevel(const EvaluationAssuranceLevel *from, EvaluationAssuranceLevel *to)
6681 : {
6682 0 : return _asn1_copy_top(asn1_EvaluationAssuranceLevel, from, to);
6683 : }
6684 :
6685 :
6686 : char * ASN1CALL
6687 0 : print_EvaluationAssuranceLevel(const EvaluationAssuranceLevel *data, int flags)
6688 : {
6689 0 : return _asn1_print_top(asn1_EvaluationAssuranceLevel, flags, data);
6690 : }
6691 :
6692 : /* template_members: SecurityLevel exp exp */
6693 : const struct asn1_template asn1_SecurityLevel_enum_names[] = {
6694 : /* 0 */ { 0, 0, ((void *)(uintptr_t)4) },
6695 : /* 1 */ { A1_OP_NAME, 1, "sllevel1" },
6696 : /* 2 */ { A1_OP_NAME, 2, "sllevel2" },
6697 : /* 3 */ { A1_OP_NAME, 3, "sllevel3" },
6698 : /* 4 */ { A1_OP_NAME, 4, "sllevel4" }
6699 : };
6700 : /* generate_template_type: SecurityLevel_tag__195 */
6701 : const struct asn1_template asn1_SecurityLevel_tag__195[] = {
6702 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6703 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_SecurityLevel_enum_names }
6704 : };
6705 : /* generate_template_type: SecurityLevel */
6706 : const struct asn1_template asn1_SecurityLevel[] = {
6707 : /* 0 */ { 0, sizeof(SecurityLevel), ((void *)(uintptr_t)1) },
6708 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_SecurityLevel_tag__195 }
6709 : };
6710 :
6711 : int ASN1CALL
6712 0 : decode_SecurityLevel(const unsigned char *p, size_t len, SecurityLevel *data, size_t *size)
6713 : {
6714 0 : memset(data, 0, sizeof(*data));
6715 0 : return _asn1_decode_top(asn1_SecurityLevel, 0|0, p, len, data, size);
6716 : }
6717 :
6718 :
6719 : int ASN1CALL
6720 0 : encode_SecurityLevel(unsigned char *p, size_t len, const SecurityLevel *data, size_t *size)
6721 : {
6722 0 : return _asn1_encode(asn1_SecurityLevel, p, len, data, size);
6723 : }
6724 :
6725 :
6726 : size_t ASN1CALL
6727 0 : length_SecurityLevel(const SecurityLevel *data)
6728 : {
6729 0 : return _asn1_length(asn1_SecurityLevel, data);
6730 : }
6731 :
6732 :
6733 : void ASN1CALL
6734 0 : free_SecurityLevel(SecurityLevel *data)
6735 : {
6736 0 : _asn1_free_top(asn1_SecurityLevel, data);
6737 0 : }
6738 :
6739 :
6740 : int ASN1CALL
6741 0 : copy_SecurityLevel(const SecurityLevel *from, SecurityLevel *to)
6742 : {
6743 0 : return _asn1_copy_top(asn1_SecurityLevel, from, to);
6744 : }
6745 :
6746 :
6747 : char * ASN1CALL
6748 0 : print_SecurityLevel(const SecurityLevel *data, int flags)
6749 : {
6750 0 : return _asn1_print_top(asn1_SecurityLevel, flags, data);
6751 : }
6752 :
6753 : /* template_members: StrengthOfFunction exp exp */
6754 : const struct asn1_template asn1_StrengthOfFunction_enum_names[] = {
6755 : /* 0 */ { 0, 0, ((void *)(uintptr_t)3) },
6756 : /* 1 */ { A1_OP_NAME, 0, "sof-basic" },
6757 : /* 2 */ { A1_OP_NAME, 1, "sof-medium" },
6758 : /* 3 */ { A1_OP_NAME, 2, "sof-high" }
6759 : };
6760 : /* generate_template_type: StrengthOfFunction_tag__196 */
6761 : const struct asn1_template asn1_StrengthOfFunction_tag__196[] = {
6762 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6763 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_StrengthOfFunction_enum_names }
6764 : };
6765 : /* generate_template_type: StrengthOfFunction */
6766 : const struct asn1_template asn1_StrengthOfFunction[] = {
6767 : /* 0 */ { 0, sizeof(StrengthOfFunction), ((void *)(uintptr_t)1) },
6768 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_StrengthOfFunction_tag__196 }
6769 : };
6770 :
6771 : int ASN1CALL
6772 0 : decode_StrengthOfFunction(const unsigned char *p, size_t len, StrengthOfFunction *data, size_t *size)
6773 : {
6774 0 : memset(data, 0, sizeof(*data));
6775 0 : return _asn1_decode_top(asn1_StrengthOfFunction, 0|0, p, len, data, size);
6776 : }
6777 :
6778 :
6779 : int ASN1CALL
6780 0 : encode_StrengthOfFunction(unsigned char *p, size_t len, const StrengthOfFunction *data, size_t *size)
6781 : {
6782 0 : return _asn1_encode(asn1_StrengthOfFunction, p, len, data, size);
6783 : }
6784 :
6785 :
6786 : size_t ASN1CALL
6787 0 : length_StrengthOfFunction(const StrengthOfFunction *data)
6788 : {
6789 0 : return _asn1_length(asn1_StrengthOfFunction, data);
6790 : }
6791 :
6792 :
6793 : void ASN1CALL
6794 0 : free_StrengthOfFunction(StrengthOfFunction *data)
6795 : {
6796 0 : _asn1_free_top(asn1_StrengthOfFunction, data);
6797 0 : }
6798 :
6799 :
6800 : int ASN1CALL
6801 0 : copy_StrengthOfFunction(const StrengthOfFunction *from, StrengthOfFunction *to)
6802 : {
6803 0 : return _asn1_copy_top(asn1_StrengthOfFunction, from, to);
6804 : }
6805 :
6806 :
6807 : char * ASN1CALL
6808 0 : print_StrengthOfFunction(const StrengthOfFunction *data, int flags)
6809 : {
6810 0 : return _asn1_print_top(asn1_StrengthOfFunction, flags, data);
6811 : }
6812 :
6813 : /* template_members: URIReference exp exp */
6814 : /* tsequence: members isstruct: 1 */
6815 : /* template_members: URIReference exp exp */
6816 : /* generate_template_type: URIReference_tag_uniformResourceIdentifier_198 */
6817 : /* template_members: URIReference exp exp */
6818 : /* generate_template_type: URIReference_tag_hashValue_199 */
6819 : const struct asn1_template asn1_URIReference_tag_hashValue_199[] = {
6820 : /* 0 */ { 0, sizeof(URIReference), ((void *)(uintptr_t)1) },
6821 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
6822 : };
6823 : /* generate_template_type: URIReference_tag__197 */
6824 : const struct asn1_template asn1_URIReference_tag__197[] = {
6825 : /* 0 */ { 0, sizeof(struct URIReference), ((void *)(uintptr_t)7) },
6826 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String), offsetof(struct URIReference, uniformResourceIdentifier), asn1_heim_ia5_string_tag__4 },
6827 : /* 2 */ { A1_OP_TYPE |A1_FLAG_OPTIONAL, offsetof(struct URIReference, hashAlgorithm), asn1_AlgorithmIdentifier },
6828 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString)|A1_FLAG_OPTIONAL, offsetof(struct URIReference, hashValue), asn1_URIReference_tag_hashValue_199 },
6829 : /* 4 */ { A1_OP_NAME, 0, "URIReference" },
6830 : /* 5 */ { A1_OP_NAME, 0, "uniformResourceIdentifier" },
6831 : /* 6 */ { A1_OP_NAME, 0, "hashAlgorithm" },
6832 : /* 7 */ { A1_OP_NAME, 0, "hashValue" }
6833 : };
6834 : /* generate_template_type: URIReference */
6835 : const struct asn1_template asn1_URIReference[] = {
6836 : /* 0 */ { 0, sizeof(URIReference), ((void *)(uintptr_t)1) },
6837 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_URIReference_tag__197 }
6838 : };
6839 :
6840 : int ASN1CALL
6841 0 : decode_URIReference(const unsigned char *p, size_t len, URIReference *data, size_t *size)
6842 : {
6843 0 : memset(data, 0, sizeof(*data));
6844 0 : return _asn1_decode_top(asn1_URIReference, 0|0, p, len, data, size);
6845 : }
6846 :
6847 :
6848 : int ASN1CALL
6849 0 : encode_URIReference(unsigned char *p, size_t len, const URIReference *data, size_t *size)
6850 : {
6851 0 : return _asn1_encode(asn1_URIReference, p, len, data, size);
6852 : }
6853 :
6854 :
6855 : size_t ASN1CALL
6856 0 : length_URIReference(const URIReference *data)
6857 : {
6858 0 : return _asn1_length(asn1_URIReference, data);
6859 : }
6860 :
6861 :
6862 : void ASN1CALL
6863 0 : free_URIReference(URIReference *data)
6864 : {
6865 0 : _asn1_free_top(asn1_URIReference, data);
6866 0 : }
6867 :
6868 :
6869 : int ASN1CALL
6870 0 : copy_URIReference(const URIReference *from, URIReference *to)
6871 : {
6872 0 : return _asn1_copy_top(asn1_URIReference, from, to);
6873 : }
6874 :
6875 :
6876 : char * ASN1CALL
6877 0 : print_URIReference(const URIReference *data, int flags)
6878 : {
6879 0 : return _asn1_print_top(asn1_URIReference, flags, data);
6880 : }
6881 :
6882 : /* template_members: EvaluationStatus exp exp */
6883 : const struct asn1_template asn1_EvaluationStatus_enum_names[] = {
6884 : /* 0 */ { 0, 0, ((void *)(uintptr_t)3) },
6885 : /* 1 */ { A1_OP_NAME, 0, "designedToMeet" },
6886 : /* 2 */ { A1_OP_NAME, 1, "evaluationInProgress" },
6887 : /* 3 */ { A1_OP_NAME, 2, "evaluationCompleted" }
6888 : };
6889 : /* generate_template_type: EvaluationStatus_tag__200 */
6890 : const struct asn1_template asn1_EvaluationStatus_tag__200[] = {
6891 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
6892 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_EvaluationStatus_enum_names }
6893 : };
6894 : /* generate_template_type: EvaluationStatus */
6895 : const struct asn1_template asn1_EvaluationStatus[] = {
6896 : /* 0 */ { 0, sizeof(EvaluationStatus), ((void *)(uintptr_t)1) },
6897 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Enumerated), 0, asn1_EvaluationStatus_tag__200 }
6898 : };
6899 :
6900 : int ASN1CALL
6901 0 : decode_EvaluationStatus(const unsigned char *p, size_t len, EvaluationStatus *data, size_t *size)
6902 : {
6903 0 : memset(data, 0, sizeof(*data));
6904 0 : return _asn1_decode_top(asn1_EvaluationStatus, 0|0, p, len, data, size);
6905 : }
6906 :
6907 :
6908 : int ASN1CALL
6909 0 : encode_EvaluationStatus(unsigned char *p, size_t len, const EvaluationStatus *data, size_t *size)
6910 : {
6911 0 : return _asn1_encode(asn1_EvaluationStatus, p, len, data, size);
6912 : }
6913 :
6914 :
6915 : size_t ASN1CALL
6916 0 : length_EvaluationStatus(const EvaluationStatus *data)
6917 : {
6918 0 : return _asn1_length(asn1_EvaluationStatus, data);
6919 : }
6920 :
6921 :
6922 : void ASN1CALL
6923 0 : free_EvaluationStatus(EvaluationStatus *data)
6924 : {
6925 0 : _asn1_free_top(asn1_EvaluationStatus, data);
6926 0 : }
6927 :
6928 :
6929 : int ASN1CALL
6930 0 : copy_EvaluationStatus(const EvaluationStatus *from, EvaluationStatus *to)
6931 : {
6932 0 : return _asn1_copy_top(asn1_EvaluationStatus, from, to);
6933 : }
6934 :
6935 :
6936 : char * ASN1CALL
6937 0 : print_EvaluationStatus(const EvaluationStatus *data, int flags)
6938 : {
6939 0 : return _asn1_print_top(asn1_EvaluationStatus, flags, data);
6940 : }
6941 :
6942 : /* template_members: CommonCriteriaMeasures exp exp */
6943 : /* tsequence: members isstruct: 1 */
6944 : /* template_members: CommonCriteriaMeasures exp exp */
6945 : /* generate_template_type: CommonCriteriaMeasures_tag_version_202 */
6946 : /* template_members: CommonCriteriaMeasures exp exp */
6947 : /* generate_template_type: CommonCriteriaMeasures_tag_plus_203 */
6948 : /* template_members: CommonCriteriaMeasures exp imp */
6949 : /* generate_template_type: CommonCriteriaMeasures_tag_strengthOfFunction_204 */
6950 : const struct asn1_template asn1_CommonCriteriaMeasures_tag_strengthOfFunction_204[] = {
6951 : /* 0 */ { 0, sizeof(StrengthOfFunction), ((void *)(uintptr_t)1) },
6952 : /* 1 */ { A1_OP_TYPE , 0, asn1_StrengthOfFunction }
6953 : };
6954 : /* template_members: CommonCriteriaMeasures exp imp */
6955 : /* template_members: heim_oid exp exp */
6956 : /* generate_template_type: heim_oid_tag_profileOid_206 */
6957 : /* generate_template_type: CommonCriteriaMeasures_tag_profileOid_205 */
6958 : /* template_members: CommonCriteriaMeasures exp imp */
6959 : /* generate_template_type: CommonCriteriaMeasures_tag_profileUri_207 */
6960 : const struct asn1_template asn1_CommonCriteriaMeasures_tag_profileUri_207[] = {
6961 : /* 0 */ { 0, sizeof(URIReference), ((void *)(uintptr_t)1) },
6962 : /* 1 */ { A1_OP_TYPE , 0, asn1_URIReference }
6963 : };
6964 : /* template_members: CommonCriteriaMeasures exp imp */
6965 : /* template_members: heim_oid exp exp */
6966 : /* generate_template_type: heim_oid_tag_targetOid_209 */
6967 : /* generate_template_type: CommonCriteriaMeasures_tag_targetOid_208 */
6968 : /* template_members: CommonCriteriaMeasures exp imp */
6969 : /* generate_template_type: CommonCriteriaMeasures_tag_targetUri_210 */
6970 : /* generate_template_type: CommonCriteriaMeasures_tag__201 */
6971 : const struct asn1_template asn1_CommonCriteriaMeasures_tag__201[] = {
6972 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct CommonCriteriaMeasures), ((void *)(uintptr_t)21) },
6973 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String), offsetof(struct CommonCriteriaMeasures, version), asn1_heim_ia5_string_tag__4 },
6974 : /* 2 */ { A1_OP_TYPE , offsetof(struct CommonCriteriaMeasures, assurancelevel), asn1_EvaluationAssuranceLevel },
6975 : /* 3 */ { A1_OP_TYPE , offsetof(struct CommonCriteriaMeasures, evaluationStatus), asn1_EvaluationStatus },
6976 : /* 4 */ { A1_OP_DEFVAL|A1_DV_BOOLEAN, ~0, (void *)(uintptr_t)0 },
6977 : /* 5 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean)|A1_FLAG_DEFAULT, offsetof(struct CommonCriteriaMeasures, plus), asn1_Extension_tag_critical_24 },
6978 : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct CommonCriteriaMeasures, strengthOfFunction), asn1_CommonCriteriaMeasures_tag_strengthOfFunction_204 },
6979 : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct CommonCriteriaMeasures, profileOid), asn1_heim_oid_tag__63 },
6980 : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct CommonCriteriaMeasures, profileUri), asn1_CommonCriteriaMeasures_tag_profileUri_207 },
6981 : /* 9 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,3)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct CommonCriteriaMeasures, targetOid), asn1_heim_oid_tag__63 },
6982 : /* 10 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct CommonCriteriaMeasures, targetUri), asn1_CommonCriteriaMeasures_tag_profileUri_207 },
6983 : /* 11 */ { A1_OP_NAME, 0, "CommonCriteriaMeasures" },
6984 : /* 12 */ { A1_OP_NAME, 0, "version" },
6985 : /* 13 */ { A1_OP_NAME, 0, "assurancelevel" },
6986 : /* 14 */ { A1_OP_NAME, 0, "evaluationStatus" },
6987 : /* 15 */ { A1_OP_NAME, 0, "plus" },
6988 : /* 16 */ { A1_OP_NAME, 0, "strengthOfFunction" },
6989 : /* 17 */ { A1_OP_NAME, 0, "profileOid" },
6990 : /* 18 */ { A1_OP_NAME, 0, "profileUri" },
6991 : /* 19 */ { A1_OP_NAME, 0, "targetOid" },
6992 : /* 20 */ { A1_OP_NAME, 0, "targetUri" },
6993 : /* 21 */ { A1_OP_NAME, 0, "..." }
6994 : };
6995 : /* generate_template_type: CommonCriteriaMeasures */
6996 : const struct asn1_template asn1_CommonCriteriaMeasures[] = {
6997 : /* 0 */ { 0, sizeof(CommonCriteriaMeasures), ((void *)(uintptr_t)1) },
6998 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_CommonCriteriaMeasures_tag__201 }
6999 : };
7000 :
7001 : int ASN1CALL
7002 0 : decode_CommonCriteriaMeasures(const unsigned char *p, size_t len, CommonCriteriaMeasures *data, size_t *size)
7003 : {
7004 0 : memset(data, 0, sizeof(*data));
7005 0 : return _asn1_decode_top(asn1_CommonCriteriaMeasures, 0|0, p, len, data, size);
7006 : }
7007 :
7008 :
7009 : int ASN1CALL
7010 0 : encode_CommonCriteriaMeasures(unsigned char *p, size_t len, const CommonCriteriaMeasures *data, size_t *size)
7011 : {
7012 0 : return _asn1_encode(asn1_CommonCriteriaMeasures, p, len, data, size);
7013 : }
7014 :
7015 :
7016 : size_t ASN1CALL
7017 0 : length_CommonCriteriaMeasures(const CommonCriteriaMeasures *data)
7018 : {
7019 0 : return _asn1_length(asn1_CommonCriteriaMeasures, data);
7020 : }
7021 :
7022 :
7023 : void ASN1CALL
7024 0 : free_CommonCriteriaMeasures(CommonCriteriaMeasures *data)
7025 : {
7026 0 : _asn1_free_top(asn1_CommonCriteriaMeasures, data);
7027 0 : }
7028 :
7029 :
7030 : int ASN1CALL
7031 0 : copy_CommonCriteriaMeasures(const CommonCriteriaMeasures *from, CommonCriteriaMeasures *to)
7032 : {
7033 0 : return _asn1_copy_top(asn1_CommonCriteriaMeasures, from, to);
7034 : }
7035 :
7036 :
7037 : char * ASN1CALL
7038 0 : print_CommonCriteriaMeasures(const CommonCriteriaMeasures *data, int flags)
7039 : {
7040 0 : return _asn1_print_top(asn1_CommonCriteriaMeasures, flags, data);
7041 : }
7042 :
7043 : /* template_members: FIPSLevel exp exp */
7044 : /* tsequence: members isstruct: 1 */
7045 : /* template_members: FIPSLevel exp exp */
7046 : /* generate_template_type: FIPSLevel_tag_version_212 */
7047 : /* template_members: FIPSLevel exp exp */
7048 : /* generate_template_type: FIPSLevel_tag_plus_213 */
7049 : /* generate_template_type: FIPSLevel_tag__211 */
7050 : const struct asn1_template asn1_FIPSLevel_tag__211[] = {
7051 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct FIPSLevel), ((void *)(uintptr_t)9) },
7052 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_IA5String), offsetof(struct FIPSLevel, version), asn1_heim_ia5_string_tag__4 },
7053 : /* 2 */ { A1_OP_TYPE , offsetof(struct FIPSLevel, level), asn1_SecurityLevel },
7054 : /* 3 */ { A1_OP_DEFVAL|A1_DV_BOOLEAN, ~0, (void *)(uintptr_t)0 },
7055 : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean)|A1_FLAG_DEFAULT, offsetof(struct FIPSLevel, plus), asn1_Extension_tag_critical_24 },
7056 : /* 5 */ { A1_OP_NAME, 0, "FIPSLevel" },
7057 : /* 6 */ { A1_OP_NAME, 0, "version" },
7058 : /* 7 */ { A1_OP_NAME, 0, "level" },
7059 : /* 8 */ { A1_OP_NAME, 0, "plus" },
7060 : /* 9 */ { A1_OP_NAME, 0, "..." }
7061 : };
7062 : /* generate_template_type: FIPSLevel */
7063 : const struct asn1_template asn1_FIPSLevel[] = {
7064 : /* 0 */ { 0, sizeof(FIPSLevel), ((void *)(uintptr_t)1) },
7065 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_FIPSLevel_tag__211 }
7066 : };
7067 :
7068 : int ASN1CALL
7069 0 : decode_FIPSLevel(const unsigned char *p, size_t len, FIPSLevel *data, size_t *size)
7070 : {
7071 0 : memset(data, 0, sizeof(*data));
7072 0 : return _asn1_decode_top(asn1_FIPSLevel, 0|0, p, len, data, size);
7073 : }
7074 :
7075 :
7076 : int ASN1CALL
7077 0 : encode_FIPSLevel(unsigned char *p, size_t len, const FIPSLevel *data, size_t *size)
7078 : {
7079 0 : return _asn1_encode(asn1_FIPSLevel, p, len, data, size);
7080 : }
7081 :
7082 :
7083 : size_t ASN1CALL
7084 0 : length_FIPSLevel(const FIPSLevel *data)
7085 : {
7086 0 : return _asn1_length(asn1_FIPSLevel, data);
7087 : }
7088 :
7089 :
7090 : void ASN1CALL
7091 0 : free_FIPSLevel(FIPSLevel *data)
7092 : {
7093 0 : _asn1_free_top(asn1_FIPSLevel, data);
7094 0 : }
7095 :
7096 :
7097 : int ASN1CALL
7098 0 : copy_FIPSLevel(const FIPSLevel *from, FIPSLevel *to)
7099 : {
7100 0 : return _asn1_copy_top(asn1_FIPSLevel, from, to);
7101 : }
7102 :
7103 :
7104 : char * ASN1CALL
7105 0 : print_FIPSLevel(const FIPSLevel *data, int flags)
7106 : {
7107 0 : return _asn1_print_top(asn1_FIPSLevel, flags, data);
7108 : }
7109 :
7110 : /* template_members: TPMVersion exp exp */
7111 : const struct asn1_template asn1_TPMVersion_enum_names[] = {
7112 : /* 0 */ { 0, 0, ((void *)(uintptr_t)1) },
7113 : /* 1 */ { A1_OP_NAME, 0, "tpm-v1" }
7114 : };
7115 : /* generate_template_type: TPMVersion_tag__214 */
7116 : const struct asn1_template asn1_TPMVersion_tag__214[] = {
7117 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
7118 : /* 1 */ { A1_PARSE_T(A1T_IMEMBER), 0, asn1_TPMVersion_enum_names }
7119 : };
7120 : /* generate_template_type: TPMVersion */
7121 : const struct asn1_template asn1_TPMVersion[] = {
7122 : /* 0 */ { 0, sizeof(TPMVersion), ((void *)(uintptr_t)1) },
7123 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_TPMVersion_tag__214 }
7124 : };
7125 :
7126 : int ASN1CALL
7127 0 : decode_TPMVersion(const unsigned char *p, size_t len, TPMVersion *data, size_t *size)
7128 : {
7129 0 : memset(data, 0, sizeof(*data));
7130 0 : return _asn1_decode_top(asn1_TPMVersion, 0|0, p, len, data, size);
7131 : }
7132 :
7133 :
7134 : int ASN1CALL
7135 0 : encode_TPMVersion(unsigned char *p, size_t len, const TPMVersion *data, size_t *size)
7136 : {
7137 0 : return _asn1_encode(asn1_TPMVersion, p, len, data, size);
7138 : }
7139 :
7140 :
7141 : size_t ASN1CALL
7142 0 : length_TPMVersion(const TPMVersion *data)
7143 : {
7144 0 : return _asn1_length(asn1_TPMVersion, data);
7145 : }
7146 :
7147 :
7148 : void ASN1CALL
7149 0 : free_TPMVersion(TPMVersion *data)
7150 : {
7151 0 : _asn1_free_top(asn1_TPMVersion, data);
7152 0 : }
7153 :
7154 :
7155 : int ASN1CALL
7156 0 : copy_TPMVersion(const TPMVersion *from, TPMVersion *to)
7157 : {
7158 0 : return _asn1_copy_top(asn1_TPMVersion, from, to);
7159 : }
7160 :
7161 :
7162 : char * ASN1CALL
7163 0 : print_TPMVersion(const TPMVersion *data, int flags)
7164 : {
7165 0 : return _asn1_print_top(asn1_TPMVersion, flags, data);
7166 : }
7167 :
7168 : /* template_members: AliasIA5String exp exp */
7169 : /* generate_template_type: AliasIA5String_tag__215 */
7170 : /* generate_template_type: AliasIA5String */
7171 : const struct asn1_template asn1_AliasIA5String[] = {
7172 : /* 0 */ { 0, sizeof(AliasIA5String), ((void *)(uintptr_t)1) },
7173 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_heim_utf8_string_tag__8 }
7174 : };
7175 :
7176 : int ASN1CALL
7177 0 : decode_AliasIA5String(const unsigned char *p, size_t len, AliasIA5String *data, size_t *size)
7178 : {
7179 0 : memset(data, 0, sizeof(*data));
7180 0 : return _asn1_decode_top(asn1_AliasIA5String, 0|0, p, len, data, size);
7181 : }
7182 :
7183 :
7184 : int ASN1CALL
7185 0 : encode_AliasIA5String(unsigned char *p, size_t len, const AliasIA5String *data, size_t *size)
7186 : {
7187 0 : return _asn1_encode(asn1_AliasIA5String, p, len, data, size);
7188 : }
7189 :
7190 :
7191 : size_t ASN1CALL
7192 0 : length_AliasIA5String(const AliasIA5String *data)
7193 : {
7194 0 : return _asn1_length(asn1_AliasIA5String, data);
7195 : }
7196 :
7197 :
7198 : void ASN1CALL
7199 0 : free_AliasIA5String(AliasIA5String *data)
7200 : {
7201 0 : _asn1_free_top(asn1_AliasIA5String, data);
7202 0 : }
7203 :
7204 :
7205 : int ASN1CALL
7206 0 : copy_AliasIA5String(const AliasIA5String *from, AliasIA5String *to)
7207 : {
7208 0 : return _asn1_copy_top(asn1_AliasIA5String, from, to);
7209 : }
7210 :
7211 :
7212 : char * ASN1CALL
7213 0 : print_AliasIA5String(const AliasIA5String *data, int flags)
7214 : {
7215 0 : return _asn1_print_top(asn1_AliasIA5String, flags, data);
7216 : }
7217 :
7218 : /* template_members: AliasPrintableString exp exp */
7219 : /* generate_template_type: AliasPrintableString_tag__216 */
7220 : /* generate_template_type: AliasPrintableString */
7221 : const struct asn1_template asn1_AliasPrintableString[] = {
7222 : /* 0 */ { 0, sizeof(AliasPrintableString), ((void *)(uintptr_t)1) },
7223 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_PrintableString), 0, asn1_heim_printable_string_tag__6 }
7224 : };
7225 :
7226 : int ASN1CALL
7227 0 : decode_AliasPrintableString(const unsigned char *p, size_t len, AliasPrintableString *data, size_t *size)
7228 : {
7229 0 : memset(data, 0, sizeof(*data));
7230 0 : return _asn1_decode_top(asn1_AliasPrintableString, 0|0, p, len, data, size);
7231 : }
7232 :
7233 :
7234 : int ASN1CALL
7235 0 : encode_AliasPrintableString(unsigned char *p, size_t len, const AliasPrintableString *data, size_t *size)
7236 : {
7237 0 : return _asn1_encode(asn1_AliasPrintableString, p, len, data, size);
7238 : }
7239 :
7240 :
7241 : size_t ASN1CALL
7242 0 : length_AliasPrintableString(const AliasPrintableString *data)
7243 : {
7244 0 : return _asn1_length(asn1_AliasPrintableString, data);
7245 : }
7246 :
7247 :
7248 : void ASN1CALL
7249 0 : free_AliasPrintableString(AliasPrintableString *data)
7250 : {
7251 0 : _asn1_free_top(asn1_AliasPrintableString, data);
7252 0 : }
7253 :
7254 :
7255 : int ASN1CALL
7256 0 : copy_AliasPrintableString(const AliasPrintableString *from, AliasPrintableString *to)
7257 : {
7258 0 : return _asn1_copy_top(asn1_AliasPrintableString, from, to);
7259 : }
7260 :
7261 :
7262 : char * ASN1CALL
7263 0 : print_AliasPrintableString(const AliasPrintableString *data, int flags)
7264 : {
7265 0 : return _asn1_print_top(asn1_AliasPrintableString, flags, data);
7266 : }
7267 :
7268 : /* generate_template_type: X520name */
7269 : const struct asn1_template asn1_X520name[] = {
7270 : /* 0 */ { 0, sizeof(X520name), ((void *)(uintptr_t)1) },
7271 : /* 1 */ { A1_OP_TYPE , 0, asn1_DirectoryString }
7272 : };
7273 :
7274 : int ASN1CALL
7275 0 : decode_X520name(const unsigned char *p, size_t len, X520name *data, size_t *size)
7276 : {
7277 0 : memset(data, 0, sizeof(*data));
7278 0 : return _asn1_decode_top(asn1_X520name, 0|0, p, len, data, size);
7279 : }
7280 :
7281 :
7282 : int ASN1CALL
7283 0 : encode_X520name(unsigned char *p, size_t len, const X520name *data, size_t *size)
7284 : {
7285 0 : return _asn1_encode(asn1_X520name, p, len, data, size);
7286 : }
7287 :
7288 :
7289 : size_t ASN1CALL
7290 0 : length_X520name(const X520name *data)
7291 : {
7292 0 : return _asn1_length(asn1_X520name, data);
7293 : }
7294 :
7295 :
7296 : void ASN1CALL
7297 0 : free_X520name(X520name *data)
7298 : {
7299 0 : _asn1_free_top(asn1_X520name, data);
7300 0 : }
7301 :
7302 :
7303 : int ASN1CALL
7304 0 : copy_X520name(const X520name *from, X520name *to)
7305 : {
7306 0 : return _asn1_copy_top(asn1_X520name, from, to);
7307 : }
7308 :
7309 :
7310 : char * ASN1CALL
7311 0 : print_X520name(const X520name *data, int flags)
7312 : {
7313 0 : return _asn1_print_top(asn1_X520name, flags, data);
7314 : }
7315 :
7316 : /* generate_template_type: X520CommonName */
7317 : const struct asn1_template asn1_X520CommonName[] = {
7318 : /* 0 */ { 0, sizeof(X520CommonName), ((void *)(uintptr_t)1) },
7319 : /* 1 */ { A1_OP_TYPE , 0, asn1_DirectoryString }
7320 : };
7321 :
7322 : int ASN1CALL
7323 0 : decode_X520CommonName(const unsigned char *p, size_t len, X520CommonName *data, size_t *size)
7324 : {
7325 0 : memset(data, 0, sizeof(*data));
7326 0 : return _asn1_decode_top(asn1_X520CommonName, 0|0, p, len, data, size);
7327 : }
7328 :
7329 :
7330 : int ASN1CALL
7331 0 : encode_X520CommonName(unsigned char *p, size_t len, const X520CommonName *data, size_t *size)
7332 : {
7333 0 : return _asn1_encode(asn1_X520CommonName, p, len, data, size);
7334 : }
7335 :
7336 :
7337 : size_t ASN1CALL
7338 0 : length_X520CommonName(const X520CommonName *data)
7339 : {
7340 0 : return _asn1_length(asn1_X520CommonName, data);
7341 : }
7342 :
7343 :
7344 : void ASN1CALL
7345 0 : free_X520CommonName(X520CommonName *data)
7346 : {
7347 0 : _asn1_free_top(asn1_X520CommonName, data);
7348 0 : }
7349 :
7350 :
7351 : int ASN1CALL
7352 0 : copy_X520CommonName(const X520CommonName *from, X520CommonName *to)
7353 : {
7354 0 : return _asn1_copy_top(asn1_X520CommonName, from, to);
7355 : }
7356 :
7357 :
7358 : char * ASN1CALL
7359 0 : print_X520CommonName(const X520CommonName *data, int flags)
7360 : {
7361 0 : return _asn1_print_top(asn1_X520CommonName, flags, data);
7362 : }
7363 :
7364 : /* generate_template_type: X520LocalityName */
7365 : const struct asn1_template asn1_X520LocalityName[] = {
7366 : /* 0 */ { 0, sizeof(X520LocalityName), ((void *)(uintptr_t)1) },
7367 : /* 1 */ { A1_OP_TYPE , 0, asn1_DirectoryString }
7368 : };
7369 :
7370 : int ASN1CALL
7371 0 : decode_X520LocalityName(const unsigned char *p, size_t len, X520LocalityName *data, size_t *size)
7372 : {
7373 0 : memset(data, 0, sizeof(*data));
7374 0 : return _asn1_decode_top(asn1_X520LocalityName, 0|0, p, len, data, size);
7375 : }
7376 :
7377 :
7378 : int ASN1CALL
7379 0 : encode_X520LocalityName(unsigned char *p, size_t len, const X520LocalityName *data, size_t *size)
7380 : {
7381 0 : return _asn1_encode(asn1_X520LocalityName, p, len, data, size);
7382 : }
7383 :
7384 :
7385 : size_t ASN1CALL
7386 0 : length_X520LocalityName(const X520LocalityName *data)
7387 : {
7388 0 : return _asn1_length(asn1_X520LocalityName, data);
7389 : }
7390 :
7391 :
7392 : void ASN1CALL
7393 0 : free_X520LocalityName(X520LocalityName *data)
7394 : {
7395 0 : _asn1_free_top(asn1_X520LocalityName, data);
7396 0 : }
7397 :
7398 :
7399 : int ASN1CALL
7400 0 : copy_X520LocalityName(const X520LocalityName *from, X520LocalityName *to)
7401 : {
7402 0 : return _asn1_copy_top(asn1_X520LocalityName, from, to);
7403 : }
7404 :
7405 :
7406 : char * ASN1CALL
7407 0 : print_X520LocalityName(const X520LocalityName *data, int flags)
7408 : {
7409 0 : return _asn1_print_top(asn1_X520LocalityName, flags, data);
7410 : }
7411 :
7412 : /* generate_template_type: X520OrganizationName */
7413 : const struct asn1_template asn1_X520OrganizationName[] = {
7414 : /* 0 */ { 0, sizeof(X520OrganizationName), ((void *)(uintptr_t)1) },
7415 : /* 1 */ { A1_OP_TYPE , 0, asn1_DirectoryString }
7416 : };
7417 :
7418 : int ASN1CALL
7419 0 : decode_X520OrganizationName(const unsigned char *p, size_t len, X520OrganizationName *data, size_t *size)
7420 : {
7421 0 : memset(data, 0, sizeof(*data));
7422 0 : return _asn1_decode_top(asn1_X520OrganizationName, 0|0, p, len, data, size);
7423 : }
7424 :
7425 :
7426 : int ASN1CALL
7427 0 : encode_X520OrganizationName(unsigned char *p, size_t len, const X520OrganizationName *data, size_t *size)
7428 : {
7429 0 : return _asn1_encode(asn1_X520OrganizationName, p, len, data, size);
7430 : }
7431 :
7432 :
7433 : size_t ASN1CALL
7434 0 : length_X520OrganizationName(const X520OrganizationName *data)
7435 : {
7436 0 : return _asn1_length(asn1_X520OrganizationName, data);
7437 : }
7438 :
7439 :
7440 : void ASN1CALL
7441 0 : free_X520OrganizationName(X520OrganizationName *data)
7442 : {
7443 0 : _asn1_free_top(asn1_X520OrganizationName, data);
7444 0 : }
7445 :
7446 :
7447 : int ASN1CALL
7448 0 : copy_X520OrganizationName(const X520OrganizationName *from, X520OrganizationName *to)
7449 : {
7450 0 : return _asn1_copy_top(asn1_X520OrganizationName, from, to);
7451 : }
7452 :
7453 :
7454 : char * ASN1CALL
7455 0 : print_X520OrganizationName(const X520OrganizationName *data, int flags)
7456 : {
7457 0 : return _asn1_print_top(asn1_X520OrganizationName, flags, data);
7458 : }
7459 :
7460 : /* generate_template_type: X520StateOrProvinceName */
7461 : const struct asn1_template asn1_X520StateOrProvinceName[] = {
7462 : /* 0 */ { 0, sizeof(X520StateOrProvinceName), ((void *)(uintptr_t)1) },
7463 : /* 1 */ { A1_OP_TYPE , 0, asn1_DirectoryString }
7464 : };
7465 :
7466 : int ASN1CALL
7467 0 : decode_X520StateOrProvinceName(const unsigned char *p, size_t len, X520StateOrProvinceName *data, size_t *size)
7468 : {
7469 0 : memset(data, 0, sizeof(*data));
7470 0 : return _asn1_decode_top(asn1_X520StateOrProvinceName, 0|0, p, len, data, size);
7471 : }
7472 :
7473 :
7474 : int ASN1CALL
7475 0 : encode_X520StateOrProvinceName(unsigned char *p, size_t len, const X520StateOrProvinceName *data, size_t *size)
7476 : {
7477 0 : return _asn1_encode(asn1_X520StateOrProvinceName, p, len, data, size);
7478 : }
7479 :
7480 :
7481 : size_t ASN1CALL
7482 0 : length_X520StateOrProvinceName(const X520StateOrProvinceName *data)
7483 : {
7484 0 : return _asn1_length(asn1_X520StateOrProvinceName, data);
7485 : }
7486 :
7487 :
7488 : void ASN1CALL
7489 0 : free_X520StateOrProvinceName(X520StateOrProvinceName *data)
7490 : {
7491 0 : _asn1_free_top(asn1_X520StateOrProvinceName, data);
7492 0 : }
7493 :
7494 :
7495 : int ASN1CALL
7496 0 : copy_X520StateOrProvinceName(const X520StateOrProvinceName *from, X520StateOrProvinceName *to)
7497 : {
7498 0 : return _asn1_copy_top(asn1_X520StateOrProvinceName, from, to);
7499 : }
7500 :
7501 :
7502 : char * ASN1CALL
7503 0 : print_X520StateOrProvinceName(const X520StateOrProvinceName *data, int flags)
7504 : {
7505 0 : return _asn1_print_top(asn1_X520StateOrProvinceName, flags, data);
7506 : }
7507 :
7508 : /* generate_template_type: X520OrganizationalUnitName */
7509 : const struct asn1_template asn1_X520OrganizationalUnitName[] = {
7510 : /* 0 */ { 0, sizeof(X520OrganizationalUnitName), ((void *)(uintptr_t)1) },
7511 : /* 1 */ { A1_OP_TYPE , 0, asn1_DirectoryString }
7512 : };
7513 :
7514 : int ASN1CALL
7515 0 : decode_X520OrganizationalUnitName(const unsigned char *p, size_t len, X520OrganizationalUnitName *data, size_t *size)
7516 : {
7517 0 : memset(data, 0, sizeof(*data));
7518 0 : return _asn1_decode_top(asn1_X520OrganizationalUnitName, 0|0, p, len, data, size);
7519 : }
7520 :
7521 :
7522 : int ASN1CALL
7523 0 : encode_X520OrganizationalUnitName(unsigned char *p, size_t len, const X520OrganizationalUnitName *data, size_t *size)
7524 : {
7525 0 : return _asn1_encode(asn1_X520OrganizationalUnitName, p, len, data, size);
7526 : }
7527 :
7528 :
7529 : size_t ASN1CALL
7530 0 : length_X520OrganizationalUnitName(const X520OrganizationalUnitName *data)
7531 : {
7532 0 : return _asn1_length(asn1_X520OrganizationalUnitName, data);
7533 : }
7534 :
7535 :
7536 : void ASN1CALL
7537 0 : free_X520OrganizationalUnitName(X520OrganizationalUnitName *data)
7538 : {
7539 0 : _asn1_free_top(asn1_X520OrganizationalUnitName, data);
7540 0 : }
7541 :
7542 :
7543 : int ASN1CALL
7544 0 : copy_X520OrganizationalUnitName(const X520OrganizationalUnitName *from, X520OrganizationalUnitName *to)
7545 : {
7546 0 : return _asn1_copy_top(asn1_X520OrganizationalUnitName, from, to);
7547 : }
7548 :
7549 :
7550 : char * ASN1CALL
7551 0 : print_X520OrganizationalUnitName(const X520OrganizationalUnitName *data, int flags)
7552 : {
7553 0 : return _asn1_print_top(asn1_X520OrganizationalUnitName, flags, data);
7554 : }
7555 :
7556 : /* template_members: SingleAttribute exp exp */
7557 : /* tsequence: members isstruct: 1 */
7558 : /* template_members: SingleAttribute exp exp */
7559 : /* generate_template_type: SingleAttribute_tag_type_218 */
7560 : const struct asn1_template asn1_SupportedAttributes[] = {
7561 : /* 0 */ { 0, 0, ((void *)(uintptr_t)22) },
7562 : /* 1 */ { A1_OP_NAME, 0, "SupportedAttributes" },
7563 : /* 2 */ { A1_OP_NAME, 0, "at-domainComponent" },
7564 : /* 3 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_domainComponent },
7565 : /* 4 */ { A1_OP_OPENTYPE, sizeof(AliasIA5String), (const void *)&asn1_AliasIA5String },
7566 : /* 5 */ { A1_OP_NAME, 0, "at-emailAddress" },
7567 : /* 6 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_emailAddress },
7568 : /* 7 */ { A1_OP_OPENTYPE, sizeof(AliasIA5String), (const void *)&asn1_AliasIA5String },
7569 : /* 8 */ { A1_OP_NAME, 0, "at-x520CommonName" },
7570 : /* 9 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_commonName },
7571 : /* 10 */ { A1_OP_OPENTYPE, sizeof(X520CommonName), (const void *)&asn1_X520CommonName },
7572 : /* 11 */ { A1_OP_NAME, 0, "at-surname" },
7573 : /* 12 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_surname },
7574 : /* 13 */ { A1_OP_OPENTYPE, sizeof(X520name), (const void *)&asn1_X520name },
7575 : /* 14 */ { A1_OP_NAME, 0, "at-x520SerialNumber" },
7576 : /* 15 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_serialNumber },
7577 : /* 16 */ { A1_OP_OPENTYPE, sizeof(AliasPrintableString), (const void *)&asn1_AliasPrintableString },
7578 : /* 17 */ { A1_OP_NAME, 0, "at-x520countryName" },
7579 : /* 18 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_countryName },
7580 : /* 19 */ { A1_OP_OPENTYPE, sizeof(AliasPrintableString), (const void *)&asn1_AliasPrintableString },
7581 : /* 20 */ { A1_OP_NAME, 0, "at-x520LocalityName" },
7582 : /* 21 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_localityName },
7583 : /* 22 */ { A1_OP_OPENTYPE, sizeof(X520LocalityName), (const void *)&asn1_X520LocalityName },
7584 : /* 23 */ { A1_OP_NAME, 0, "at-x520StateOrProvinceName" },
7585 : /* 24 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_stateOrProvinceName },
7586 : /* 25 */ { A1_OP_OPENTYPE, sizeof(DirectoryString), (const void *)&asn1_DirectoryString },
7587 : /* 26 */ { A1_OP_NAME, 0, "at-x520OrganizationName" },
7588 : /* 27 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_organizationName },
7589 : /* 28 */ { A1_OP_OPENTYPE, sizeof(DirectoryString), (const void *)&asn1_DirectoryString },
7590 : /* 29 */ { A1_OP_NAME, 0, "at-x520OrganizationalUnitName" },
7591 : /* 30 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_organizationalUnitName },
7592 : /* 31 */ { A1_OP_OPENTYPE, sizeof(DirectoryString), (const void *)&asn1_DirectoryString },
7593 : /* 32 */ { A1_OP_NAME, 0, "at-x520Title" },
7594 : /* 33 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_title },
7595 : /* 34 */ { A1_OP_OPENTYPE, sizeof(DirectoryString), (const void *)&asn1_DirectoryString },
7596 : /* 35 */ { A1_OP_NAME, 0, "at-name" },
7597 : /* 36 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_name },
7598 : /* 37 */ { A1_OP_OPENTYPE, sizeof(X520name), (const void *)&asn1_X520name },
7599 : /* 38 */ { A1_OP_NAME, 0, "at-givenName" },
7600 : /* 39 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_givenName },
7601 : /* 40 */ { A1_OP_OPENTYPE, sizeof(X520name), (const void *)&asn1_X520name },
7602 : /* 41 */ { A1_OP_NAME, 0, "at-initials" },
7603 : /* 42 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_initials },
7604 : /* 43 */ { A1_OP_OPENTYPE, sizeof(X520name), (const void *)&asn1_X520name },
7605 : /* 44 */ { A1_OP_NAME, 0, "at-generationQualifier" },
7606 : /* 45 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_generationQualifier },
7607 : /* 46 */ { A1_OP_OPENTYPE, sizeof(X520name), (const void *)&asn1_X520name },
7608 : /* 47 */ { A1_OP_NAME, 0, "at-x520dnQualifier" },
7609 : /* 48 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_dnQualifier },
7610 : /* 49 */ { A1_OP_OPENTYPE, sizeof(AliasPrintableString), (const void *)&asn1_AliasPrintableString },
7611 : /* 50 */ { A1_OP_NAME, 0, "at-x520Pseudonym" },
7612 : /* 51 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_id_at_pseudonym },
7613 : /* 52 */ { A1_OP_OPENTYPE, sizeof(DirectoryString), (const void *)&asn1_DirectoryString },
7614 : /* 53 */ { A1_OP_NAME, 0, "at-TPMManufacturer" },
7615 : /* 54 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_tcg_at_tpmManufacturer },
7616 : /* 55 */ { A1_OP_OPENTYPE, sizeof(AliasUTF8String), (const void *)&asn1_AliasUTF8String },
7617 : /* 56 */ { A1_OP_NAME, 0, "at-TPMModel" },
7618 : /* 57 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_tcg_at_tpmModel },
7619 : /* 58 */ { A1_OP_OPENTYPE, sizeof(AliasUTF8String), (const void *)&asn1_AliasUTF8String },
7620 : /* 59 */ { A1_OP_NAME, 0, "at-TPMVersion" },
7621 : /* 60 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_tcg_at_tpmVersion },
7622 : /* 61 */ { A1_OP_OPENTYPE, sizeof(AliasUTF8String), (const void *)&asn1_AliasUTF8String },
7623 : /* 62 */ { A1_OP_NAME, 0, "at-TPMSpecification" },
7624 : /* 63 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_tcg_at_tpmSpecification },
7625 : /* 64 */ { A1_OP_OPENTYPE, sizeof(TPMSpecification), (const void *)&asn1_TPMSpecification },
7626 : /* 65 */ { A1_OP_NAME, 0, "at-TPMSecurityAssertions" },
7627 : /* 66 */ { A1_OP_OPENTYPE_ID, 0, (const void *)&asn1_oid_tcg_at_tpmSecurityAssertions },
7628 : /* 67 */ { A1_OP_OPENTYPE, sizeof(TPMSecurityAssertions), (const void *)&asn1_TPMSecurityAssertions }
7629 : };
7630 : /* generate_template_type: SingleAttribute_tag__217 */
7631 : const struct asn1_template asn1_SingleAttribute_tag__217[] = {
7632 : /* 0 */ { 0, sizeof(struct SingleAttribute), ((void *)(uintptr_t)6) },
7633 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct SingleAttribute, type), asn1_AttributeType_tag__1 },
7634 : /* 2 */ { A1_OP_TYPE_EXTERN , offsetof(struct SingleAttribute, value), &asn1_extern_HEIM_ANY},
7635 : /* 3 */ { A1_OP_OPENTYPE_OBJSET | A1_OS_IS_SORTED |0 | (1 << 10) | 0, offsetof(SingleAttribute, _ioschoice_value), asn1_SupportedAttributes },
7636 : /* 4 */ { A1_OP_NAME, 0, "SingleAttribute" },
7637 : /* 5 */ { A1_OP_NAME, 0, "type" },
7638 : /* 6 */ { A1_OP_NAME, 0, "value" }
7639 : };
7640 : /* generate_template_type: SingleAttribute */
7641 : const struct asn1_template asn1_SingleAttribute[] = {
7642 : /* 0 */ { 0, sizeof(SingleAttribute), ((void *)(uintptr_t)1) },
7643 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_SingleAttribute_tag__217 }
7644 : };
7645 :
7646 : int ASN1CALL
7647 0 : decode_SingleAttribute(const unsigned char *p, size_t len, SingleAttribute *data, size_t *size)
7648 : {
7649 0 : memset(data, 0, sizeof(*data));
7650 0 : return _asn1_decode_top(asn1_SingleAttribute, 0|0, p, len, data, size);
7651 : }
7652 :
7653 :
7654 : int ASN1CALL
7655 0 : encode_SingleAttribute(unsigned char *p, size_t len, const SingleAttribute *data, size_t *size)
7656 : {
7657 0 : return _asn1_encode(asn1_SingleAttribute, p, len, data, size);
7658 : }
7659 :
7660 :
7661 : size_t ASN1CALL
7662 0 : length_SingleAttribute(const SingleAttribute *data)
7663 : {
7664 0 : return _asn1_length(asn1_SingleAttribute, data);
7665 : }
7666 :
7667 :
7668 : void ASN1CALL
7669 0 : free_SingleAttribute(SingleAttribute *data)
7670 : {
7671 0 : _asn1_free_top(asn1_SingleAttribute, data);
7672 0 : }
7673 :
7674 :
7675 : int ASN1CALL
7676 0 : copy_SingleAttribute(const SingleAttribute *from, SingleAttribute *to)
7677 : {
7678 0 : return _asn1_copy_top(asn1_SingleAttribute, from, to);
7679 : }
7680 :
7681 :
7682 : char * ASN1CALL
7683 0 : print_SingleAttribute(const SingleAttribute *data, int flags)
7684 : {
7685 0 : return _asn1_print_top(asn1_SingleAttribute, flags, data);
7686 : }
7687 :
7688 : /* template_members: AttributeSet exp exp */
7689 : /* tsequence: members isstruct: 1 */
7690 : /* template_members: AttributeSet exp exp */
7691 : /* generate_template_type: AttributeSet_tag_type_220 */
7692 : /* template_members: AttributeSet exp exp */
7693 : /* generate_template_type: AttributeSet_values_20 */
7694 : /* generate_template_type: AttributeSet_tag_values_221 */
7695 : const struct asn1_template asn1_AttributeSet_tag_values_221[] = {
7696 : /* 0 */ { 0, sizeof(struct AttributeSet_values), ((void *)(uintptr_t)1) },
7697 : /* 1 */ { A1_OP_SETOF, 0, asn1_OtherName_tag_value_52 }
7698 : };
7699 : /* generate_template_type: AttributeSet_tag__219 */
7700 : const struct asn1_template asn1_AttributeSet_tag__219[] = {
7701 : /* 0 */ { 0, sizeof(struct AttributeSet), ((void *)(uintptr_t)6) },
7702 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), offsetof(struct AttributeSet, type), asn1_AttributeType_tag__1 },
7703 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Set), offsetof(struct AttributeSet, values), asn1_AttributeSet_tag_values_221 },
7704 : /* 3 */ { A1_OP_OPENTYPE_OBJSET | A1_OS_IS_SORTED |A1_OS_OT_IS_ARRAY | (1 << 10) | 0, offsetof(AttributeSet, _ioschoice_values), asn1_SupportedAttributes },
7705 : /* 4 */ { A1_OP_NAME, 0, "AttributeSet" },
7706 : /* 5 */ { A1_OP_NAME, 0, "type" },
7707 : /* 6 */ { A1_OP_NAME, 0, "values" }
7708 : };
7709 : /* generate_template_type: AttributeSet */
7710 : const struct asn1_template asn1_AttributeSet[] = {
7711 : /* 0 */ { 0, sizeof(AttributeSet), ((void *)(uintptr_t)1) },
7712 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AttributeSet_tag__219 }
7713 : };
7714 :
7715 : int ASN1CALL
7716 0 : decode_AttributeSet(const unsigned char *p, size_t len, AttributeSet *data, size_t *size)
7717 : {
7718 0 : memset(data, 0, sizeof(*data));
7719 0 : return _asn1_decode_top(asn1_AttributeSet, 0|0, p, len, data, size);
7720 : }
7721 :
7722 :
7723 : int ASN1CALL
7724 0 : encode_AttributeSet(unsigned char *p, size_t len, const AttributeSet *data, size_t *size)
7725 : {
7726 0 : return _asn1_encode(asn1_AttributeSet, p, len, data, size);
7727 : }
7728 :
7729 :
7730 : size_t ASN1CALL
7731 0 : length_AttributeSet(const AttributeSet *data)
7732 : {
7733 0 : return _asn1_length(asn1_AttributeSet, data);
7734 : }
7735 :
7736 :
7737 : void ASN1CALL
7738 0 : free_AttributeSet(AttributeSet *data)
7739 : {
7740 0 : _asn1_free_top(asn1_AttributeSet, data);
7741 0 : }
7742 :
7743 :
7744 : int ASN1CALL
7745 0 : copy_AttributeSet(const AttributeSet *from, AttributeSet *to)
7746 : {
7747 0 : return _asn1_copy_top(asn1_AttributeSet, from, to);
7748 : }
7749 :
7750 :
7751 : char * ASN1CALL
7752 0 : print_AttributeSet(const AttributeSet *data, int flags)
7753 : {
7754 0 : return _asn1_print_top(asn1_AttributeSet, flags, data);
7755 : }
7756 :
7757 : /* template_members: SubjectDirectoryAttributes exp exp */
7758 : /* generate_template_type: AttributeSet_seofTstruct_21 */
7759 : const struct asn1_template asn1_AttributeSet_seofTstruct_21[] = {
7760 : /* 0 */ { 0, sizeof(AttributeSet), ((void *)(uintptr_t)1) },
7761 : /* 1 */ { A1_OP_TYPE , 0, asn1_AttributeSet }
7762 : };
7763 : /* generate_template_type: SubjectDirectoryAttributes_tag__222 */
7764 : const struct asn1_template asn1_SubjectDirectoryAttributes_tag__222[] = {
7765 : /* 0 */ { 0, sizeof(AttributeSet), ((void *)(uintptr_t)1) },
7766 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AttributeSet_seofTstruct_21 }
7767 : };
7768 : /* generate_template_type: SubjectDirectoryAttributes */
7769 : const struct asn1_template asn1_SubjectDirectoryAttributes[] = {
7770 : /* 0 */ { 0, sizeof(SubjectDirectoryAttributes), ((void *)(uintptr_t)1) },
7771 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_SubjectDirectoryAttributes_tag__222 }
7772 : };
7773 :
7774 : int ASN1CALL
7775 0 : decode_SubjectDirectoryAttributes(const unsigned char *p, size_t len, SubjectDirectoryAttributes *data, size_t *size)
7776 : {
7777 0 : memset(data, 0, sizeof(*data));
7778 0 : return _asn1_decode_top(asn1_SubjectDirectoryAttributes, 0|0, p, len, data, size);
7779 : }
7780 :
7781 :
7782 : int ASN1CALL
7783 0 : encode_SubjectDirectoryAttributes(unsigned char *p, size_t len, const SubjectDirectoryAttributes *data, size_t *size)
7784 : {
7785 0 : return _asn1_encode(asn1_SubjectDirectoryAttributes, p, len, data, size);
7786 : }
7787 :
7788 :
7789 : size_t ASN1CALL
7790 0 : length_SubjectDirectoryAttributes(const SubjectDirectoryAttributes *data)
7791 : {
7792 0 : return _asn1_length(asn1_SubjectDirectoryAttributes, data);
7793 : }
7794 :
7795 :
7796 : void ASN1CALL
7797 0 : free_SubjectDirectoryAttributes(SubjectDirectoryAttributes *data)
7798 : {
7799 0 : _asn1_free_top(asn1_SubjectDirectoryAttributes, data);
7800 0 : }
7801 :
7802 :
7803 : int ASN1CALL
7804 0 : copy_SubjectDirectoryAttributes(const SubjectDirectoryAttributes *from, SubjectDirectoryAttributes *to)
7805 : {
7806 0 : return _asn1_copy_top(asn1_SubjectDirectoryAttributes, from, to);
7807 : }
7808 :
7809 :
7810 : char * ASN1CALL
7811 0 : print_SubjectDirectoryAttributes(const SubjectDirectoryAttributes *data, int flags)
7812 : {
7813 0 : return _asn1_print_top(asn1_SubjectDirectoryAttributes, flags, data);
7814 : }
7815 :
7816 : /* template_members: SkipCerts exp exp */
7817 : /* generate_template_type: SkipCerts_tag__223 */
7818 : /* generate_template_type: SkipCerts */
7819 : const struct asn1_template asn1_SkipCerts[] = {
7820 : /* 0 */ { 0, sizeof(SkipCerts), ((void *)(uintptr_t)1) },
7821 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_BasicConstraints_tag_pathLenConstraint_100 }
7822 : };
7823 :
7824 : int ASN1CALL
7825 0 : decode_SkipCerts(const unsigned char *p, size_t len, SkipCerts *data, size_t *size)
7826 : {
7827 0 : memset(data, 0, sizeof(*data));
7828 0 : return _asn1_decode_top(asn1_SkipCerts, 0|0, p, len, data, size);
7829 : }
7830 :
7831 :
7832 : int ASN1CALL
7833 0 : encode_SkipCerts(unsigned char *p, size_t len, const SkipCerts *data, size_t *size)
7834 : {
7835 0 : return _asn1_encode(asn1_SkipCerts, p, len, data, size);
7836 : }
7837 :
7838 :
7839 : size_t ASN1CALL
7840 0 : length_SkipCerts(const SkipCerts *data)
7841 : {
7842 0 : return _asn1_length(asn1_SkipCerts, data);
7843 : }
7844 :
7845 :
7846 : void ASN1CALL
7847 0 : free_SkipCerts(SkipCerts *data)
7848 : {
7849 0 : _asn1_free_top(asn1_SkipCerts, data);
7850 0 : }
7851 :
7852 :
7853 : int ASN1CALL
7854 0 : copy_SkipCerts(const SkipCerts *from, SkipCerts *to)
7855 : {
7856 0 : return _asn1_copy_top(asn1_SkipCerts, from, to);
7857 : }
7858 :
7859 :
7860 : char * ASN1CALL
7861 0 : print_SkipCerts(const SkipCerts *data, int flags)
7862 : {
7863 0 : return _asn1_print_top(asn1_SkipCerts, flags, data);
7864 : }
7865 :
7866 : /* template_members: PolicyConstraints exp exp */
7867 : /* tsequence: members isstruct: 1 */
7868 : /* template_members: PolicyConstraints exp imp */
7869 : /* generate_template_type: PolicyConstraints_tag_requireExplicitPolicy_225 */
7870 : const struct asn1_template asn1_PolicyConstraints_tag_requireExplicitPolicy_225[] = {
7871 : /* 0 */ { 0, sizeof(SkipCerts), ((void *)(uintptr_t)1) },
7872 : /* 1 */ { A1_OP_TYPE , 0, asn1_SkipCerts }
7873 : };
7874 : /* template_members: PolicyConstraints exp imp */
7875 : /* generate_template_type: PolicyConstraints_tag_inhibitPolicyMapping_226 */
7876 : /* generate_template_type: PolicyConstraints_tag__224 */
7877 : const struct asn1_template asn1_PolicyConstraints_tag__224[] = {
7878 : /* 0 */ { 0, sizeof(struct PolicyConstraints), ((void *)(uintptr_t)5) },
7879 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PolicyConstraints, requireExplicitPolicy), asn1_PolicyConstraints_tag_requireExplicitPolicy_225 },
7880 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PolicyConstraints, inhibitPolicyMapping), asn1_PolicyConstraints_tag_requireExplicitPolicy_225 },
7881 : /* 3 */ { A1_OP_NAME, 0, "PolicyConstraints" },
7882 : /* 4 */ { A1_OP_NAME, 0, "requireExplicitPolicy" },
7883 : /* 5 */ { A1_OP_NAME, 0, "inhibitPolicyMapping" }
7884 : };
7885 : /* generate_template_type: PolicyConstraints */
7886 : const struct asn1_template asn1_PolicyConstraints[] = {
7887 : /* 0 */ { 0, sizeof(PolicyConstraints), ((void *)(uintptr_t)1) },
7888 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PolicyConstraints_tag__224 }
7889 : };
7890 :
7891 : int ASN1CALL
7892 0 : decode_PolicyConstraints(const unsigned char *p, size_t len, PolicyConstraints *data, size_t *size)
7893 : {
7894 0 : memset(data, 0, sizeof(*data));
7895 0 : return _asn1_decode_top(asn1_PolicyConstraints, 0|0, p, len, data, size);
7896 : }
7897 :
7898 :
7899 : int ASN1CALL
7900 0 : encode_PolicyConstraints(unsigned char *p, size_t len, const PolicyConstraints *data, size_t *size)
7901 : {
7902 0 : return _asn1_encode(asn1_PolicyConstraints, p, len, data, size);
7903 : }
7904 :
7905 :
7906 : size_t ASN1CALL
7907 0 : length_PolicyConstraints(const PolicyConstraints *data)
7908 : {
7909 0 : return _asn1_length(asn1_PolicyConstraints, data);
7910 : }
7911 :
7912 :
7913 : void ASN1CALL
7914 0 : free_PolicyConstraints(PolicyConstraints *data)
7915 : {
7916 0 : _asn1_free_top(asn1_PolicyConstraints, data);
7917 0 : }
7918 :
7919 :
7920 : int ASN1CALL
7921 0 : copy_PolicyConstraints(const PolicyConstraints *from, PolicyConstraints *to)
7922 : {
7923 0 : return _asn1_copy_top(asn1_PolicyConstraints, from, to);
7924 : }
7925 :
7926 :
7927 : char * ASN1CALL
7928 0 : print_PolicyConstraints(const PolicyConstraints *data, int flags)
7929 : {
7930 0 : return _asn1_print_top(asn1_PolicyConstraints, flags, data);
7931 : }
7932 :
7933 : /* template_members: HeimPkinitPrincMaxLifeSecs exp exp */
7934 : /* generate_template_type: HeimPkinitPrincMaxLifeSecs_tag__227 */
7935 : /* generate_template_type: HeimPkinitPrincMaxLifeSecs */
7936 : const struct asn1_template asn1_HeimPkinitPrincMaxLifeSecs[] = {
7937 : /* 0 */ { 0, sizeof(HeimPkinitPrincMaxLifeSecs), ((void *)(uintptr_t)1) },
7938 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_BasicConstraints_tag_pathLenConstraint_100 }
7939 : };
7940 :
7941 : int ASN1CALL
7942 0 : decode_HeimPkinitPrincMaxLifeSecs(const unsigned char *p, size_t len, HeimPkinitPrincMaxLifeSecs *data, size_t *size)
7943 : {
7944 0 : memset(data, 0, sizeof(*data));
7945 0 : return _asn1_decode_top(asn1_HeimPkinitPrincMaxLifeSecs, 0|0, p, len, data, size);
7946 : }
7947 :
7948 :
7949 : int ASN1CALL
7950 0 : encode_HeimPkinitPrincMaxLifeSecs(unsigned char *p, size_t len, const HeimPkinitPrincMaxLifeSecs *data, size_t *size)
7951 : {
7952 0 : return _asn1_encode(asn1_HeimPkinitPrincMaxLifeSecs, p, len, data, size);
7953 : }
7954 :
7955 :
7956 : size_t ASN1CALL
7957 0 : length_HeimPkinitPrincMaxLifeSecs(const HeimPkinitPrincMaxLifeSecs *data)
7958 : {
7959 0 : return _asn1_length(asn1_HeimPkinitPrincMaxLifeSecs, data);
7960 : }
7961 :
7962 :
7963 : void ASN1CALL
7964 0 : free_HeimPkinitPrincMaxLifeSecs(HeimPkinitPrincMaxLifeSecs *data)
7965 : {
7966 0 : _asn1_free_top(asn1_HeimPkinitPrincMaxLifeSecs, data);
7967 0 : }
7968 :
7969 :
7970 : int ASN1CALL
7971 0 : copy_HeimPkinitPrincMaxLifeSecs(const HeimPkinitPrincMaxLifeSecs *from, HeimPkinitPrincMaxLifeSecs *to)
7972 : {
7973 0 : return _asn1_copy_top(asn1_HeimPkinitPrincMaxLifeSecs, from, to);
7974 : }
7975 :
7976 :
7977 : char * ASN1CALL
7978 0 : print_HeimPkinitPrincMaxLifeSecs(const HeimPkinitPrincMaxLifeSecs *data, int flags)
7979 : {
7980 0 : return _asn1_print_top(asn1_HeimPkinitPrincMaxLifeSecs, flags, data);
7981 : }
7982 :
|