1/*
2 * Copyright (c) 2011-12 Apple Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23/* This is a generated file */
24#ifndef __asn1_der_protos_h__
25#define __asn1_der_protos_h__
26
27#include <stdarg.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33int
34asn1_fuzzer_method(const char *mode);
35
36void
37asn1_fuzzer_reset(void);
38
39void
40asn1_fuzzer_next(void);
41
42int
43asn1_fuzzer_done(void);
44
45
46int
47copy_heim_any (
48	const heim_any */*from*/,
49	heim_any */*to*/);
50
51int
52copy_heim_any_set (
53	const heim_any_set */*from*/,
54	heim_any_set */*to*/);
55
56int
57decode_heim_any (
58	const unsigned char */*p*/,
59	size_t /*len*/,
60	heim_any */*data*/,
61	size_t */*size*/);
62
63int
64decode_heim_any_set (
65	const unsigned char */*p*/,
66	size_t /*len*/,
67	heim_any_set */*data*/,
68	size_t */*size*/);
69
70int
71der_copy_bit_string (
72	const heim_bit_string */*from*/,
73	heim_bit_string */*to*/);
74
75int
76der_copy_bmp_string (
77	const heim_bmp_string */*from*/,
78	heim_bmp_string */*to*/);
79
80int
81der_copy_general_string (
82	const heim_general_string */*from*/,
83	heim_general_string */*to*/);
84
85int
86der_copy_generalized_time (
87	const time_t */*from*/,
88	time_t */*to*/);
89
90int
91der_copy_heim_integer (
92	const heim_integer */*from*/,
93	heim_integer */*to*/);
94
95int
96der_copy_ia5_string (
97	const heim_ia5_string */*from*/,
98	heim_ia5_string */*to*/);
99
100int
101der_copy_integer (
102	const int */*from*/,
103	int */*to*/);
104
105int
106der_copy_octet_string (
107	const heim_octet_string */*from*/,
108	heim_octet_string */*to*/);
109
110int
111der_copy_oid (
112	const heim_oid */*from*/,
113	heim_oid */*to*/);
114
115int
116der_copy_printable_string (
117	const heim_printable_string */*from*/,
118	heim_printable_string */*to*/);
119
120int
121der_copy_universal_string (
122	const heim_universal_string */*from*/,
123	heim_universal_string */*to*/);
124
125int
126der_copy_unsigned (
127	const unsigned */*from*/,
128	unsigned */*to*/);
129
130int
131der_copy_utctime (
132	const time_t */*from*/,
133	time_t */*to*/);
134
135int
136der_copy_utf8string (
137	const heim_utf8_string */*from*/,
138	heim_utf8_string */*to*/);
139
140int
141der_copy_visible_string (
142	const heim_visible_string */*from*/,
143	heim_visible_string */*to*/);
144
145void
146der_free_bit_string (heim_bit_string */*k*/);
147
148void
149der_free_bmp_string (heim_bmp_string */*k*/);
150
151void
152der_free_general_string (heim_general_string */*str*/);
153
154void
155der_free_generalized_time (time_t */*t*/);
156
157void
158der_free_heim_integer (heim_integer */*k*/);
159
160void
161der_free_ia5_string (heim_ia5_string */*str*/);
162
163void
164der_free_integer (int */*i*/);
165
166void
167der_free_octet_string (heim_octet_string */*k*/);
168
169void
170der_free_oid (heim_oid */*k*/);
171
172void
173der_free_printable_string (heim_printable_string */*str*/);
174
175void
176der_free_universal_string (heim_universal_string */*k*/);
177
178void
179der_free_unsigned (unsigned */*u*/);
180
181void
182der_free_utctime (time_t */*t*/);
183
184void
185der_free_utf8string (heim_utf8_string */*str*/);
186
187void
188der_free_visible_string (heim_visible_string */*str*/);
189
190int
191der_get_bit_string (
192	const unsigned char */*p*/,
193	size_t /*len*/,
194	heim_bit_string */*data*/,
195	size_t */*size*/);
196
197int
198der_get_bmp_string (
199	const unsigned char */*p*/,
200	size_t /*len*/,
201	heim_bmp_string */*data*/,
202	size_t */*size*/);
203
204int
205der_get_boolean (
206	const unsigned char */*p*/,
207	size_t /*len*/,
208	int */*data*/,
209	size_t */*size*/);
210
211const char *
212der_get_class_name (unsigned /*num*/);
213
214int
215der_get_class_num (const char */*name*/);
216
217int
218der_get_general_string (
219	const unsigned char */*p*/,
220	size_t /*len*/,
221	heim_general_string */*str*/,
222	size_t */*size*/);
223
224int
225der_get_generalized_time (
226	const unsigned char */*p*/,
227	size_t /*len*/,
228	time_t */*data*/,
229	size_t */*size*/);
230
231int
232der_get_heim_integer (
233	const unsigned char */*p*/,
234	size_t /*len*/,
235	heim_integer */*data*/,
236	size_t */*size*/);
237
238int
239der_get_ia5_string (
240	const unsigned char */*p*/,
241	size_t /*len*/,
242	heim_ia5_string */*str*/,
243	size_t */*size*/);
244
245int
246der_get_integer (
247	const unsigned char */*p*/,
248	size_t /*len*/,
249	int */*ret*/,
250	size_t */*size*/);
251
252int
253der_get_length (
254	const unsigned char */*p*/,
255	size_t /*len*/,
256	size_t */*val*/,
257	size_t */*size*/);
258
259int
260der_get_octet_string (
261	const unsigned char */*p*/,
262	size_t /*len*/,
263	heim_octet_string */*data*/,
264	size_t */*size*/);
265
266int
267der_get_octet_string_ber (
268	const unsigned char */*p*/,
269	size_t /*len*/,
270	heim_octet_string */*data*/,
271	size_t */*size*/);
272
273int
274der_get_oid (
275	const unsigned char */*p*/,
276	size_t /*len*/,
277	heim_oid */*data*/,
278	size_t */*size*/);
279
280int
281der_get_printable_string (
282	const unsigned char */*p*/,
283	size_t /*len*/,
284	heim_printable_string */*str*/,
285	size_t */*size*/);
286
287int
288der_get_tag (
289	const unsigned char */*p*/,
290	size_t /*len*/,
291	Der_class */*class*/,
292	Der_type */*type*/,
293	unsigned int */*tag*/,
294	size_t */*size*/);
295
296const char *
297der_get_tag_name (unsigned /*num*/);
298
299int
300der_get_tag_num (const char */*name*/);
301
302const char *
303der_get_type_name (unsigned /*num*/);
304
305int
306der_get_type_num (const char */*name*/);
307
308int
309der_get_universal_string (
310	const unsigned char */*p*/,
311	size_t /*len*/,
312	heim_universal_string */*data*/,
313	size_t */*size*/);
314
315int
316der_get_unsigned (
317	const unsigned char */*p*/,
318	size_t /*len*/,
319	unsigned */*ret*/,
320	size_t */*size*/);
321
322int
323der_get_utctime (
324	const unsigned char */*p*/,
325	size_t /*len*/,
326	time_t */*data*/,
327	size_t */*size*/);
328
329int
330der_get_utf8string (
331	const unsigned char */*p*/,
332	size_t /*len*/,
333	heim_utf8_string */*str*/,
334	size_t */*size*/);
335
336int
337der_get_visible_string (
338	const unsigned char */*p*/,
339	size_t /*len*/,
340	heim_visible_string */*str*/,
341	size_t */*size*/);
342
343int
344der_heim_bit_string_cmp (
345	const heim_bit_string */*p*/,
346	const heim_bit_string */*q*/);
347
348int
349der_heim_bmp_string_cmp (
350	const heim_bmp_string */*p*/,
351	const heim_bmp_string */*q*/);
352
353int
354der_heim_integer_cmp (
355	const heim_integer */*p*/,
356	const heim_integer */*q*/);
357
358int
359der_heim_octet_string_cmp (
360	const heim_octet_string */*p*/,
361	const heim_octet_string */*q*/);
362
363int
364der_heim_oid_cmp (
365	const heim_oid */*p*/,
366	const heim_oid */*q*/);
367
368int
369der_heim_universal_string_cmp (
370	const heim_universal_string */*p*/,
371	const heim_universal_string */*q*/);
372
373int
374der_ia5_string_cmp (
375	const heim_ia5_string */*p*/,
376	const heim_ia5_string */*q*/);
377
378size_t
379der_length_bit_string (const heim_bit_string */*k*/);
380
381size_t
382der_length_bmp_string (const heim_bmp_string */*data*/);
383
384size_t
385der_length_boolean (const int */*k*/);
386
387size_t
388der_length_enumerated (const unsigned */*data*/);
389
390size_t
391der_length_general_string (const heim_general_string */*data*/);
392
393size_t
394der_length_generalized_time (const time_t */*t*/);
395
396size_t
397der_length_heim_integer (const heim_integer */*k*/);
398
399size_t
400der_length_ia5_string (const heim_ia5_string */*data*/);
401
402size_t
403der_length_integer (const int */*data*/);
404
405size_t
406der_length_len (size_t /*len*/);
407
408size_t
409der_length_octet_string (const heim_octet_string */*k*/);
410
411size_t
412der_length_oid (const heim_oid */*k*/);
413
414size_t
415der_length_printable_string (const heim_printable_string */*data*/);
416
417size_t
418der_length_tag (unsigned int /*tag*/);
419
420size_t
421der_length_universal_string (const heim_universal_string */*data*/);
422
423size_t
424der_length_unsigned (const unsigned */*data*/);
425
426size_t
427der_length_utctime (const time_t */*t*/);
428
429size_t
430der_length_utf8string (const heim_utf8_string */*data*/);
431
432size_t
433der_length_visible_string (const heim_visible_string */*data*/);
434
435int
436der_match_tag (
437	const unsigned char */*p*/,
438	size_t /*len*/,
439	Der_class /*class*/,
440	Der_type /*type*/,
441	unsigned int /*tag*/,
442	size_t */*size*/);
443
444int
445der_match_tag2 (
446	const unsigned char */*p*/,
447	size_t /*len*/,
448	Der_class /*class*/,
449	Der_type */*type*/,
450	unsigned int /*tag*/,
451	size_t */*size*/);
452
453int
454der_match_tag_and_length (
455	const unsigned char */*p*/,
456	size_t /*len*/,
457	Der_class /*class*/,
458	Der_type */*type*/,
459	unsigned int /*tag*/,
460	size_t */*length_ret*/,
461	size_t */*size*/);
462
463int
464der_parse_heim_oid (
465	const char */*str*/,
466	const char */*sep*/,
467	heim_oid */*data*/);
468
469int
470der_parse_hex_heim_integer (
471	const char */*p*/,
472	heim_integer */*data*/);
473
474int
475der_print_heim_oid (
476	const heim_oid */*oid*/,
477	char /*delim*/,
478	char **/*str*/);
479
480int
481der_print_hex_heim_integer (
482	const heim_integer */*data*/,
483	char **/*p*/);
484
485int
486der_printable_string_cmp (
487	const heim_printable_string */*p*/,
488	const heim_printable_string */*q*/);
489
490int
491der_put_bit_string (
492	unsigned char */*p*/,
493	size_t /*len*/,
494	const heim_bit_string */*data*/,
495	size_t */*size*/);
496
497int
498der_put_bmp_string (
499	unsigned char */*p*/,
500	size_t /*len*/,
501	const heim_bmp_string */*data*/,
502	size_t */*size*/);
503
504int
505der_put_boolean (
506	unsigned char */*p*/,
507	size_t /*len*/,
508	const int */*data*/,
509	size_t */*size*/);
510
511int
512der_put_general_string (
513	unsigned char */*p*/,
514	size_t /*len*/,
515	const heim_general_string */*str*/,
516	size_t */*size*/);
517
518int
519der_put_generalized_time (
520	unsigned char */*p*/,
521	size_t /*len*/,
522	const time_t */*data*/,
523	size_t */*size*/);
524
525int
526der_put_heim_integer (
527	unsigned char */*p*/,
528	size_t /*len*/,
529	const heim_integer */*data*/,
530	size_t */*size*/);
531
532int
533der_put_ia5_string (
534	unsigned char */*p*/,
535	size_t /*len*/,
536	const heim_ia5_string */*str*/,
537	size_t */*size*/);
538
539int
540der_put_integer (
541	unsigned char */*p*/,
542	size_t /*len*/,
543	const int */*v*/,
544	size_t */*size*/);
545
546int
547der_put_length (
548	unsigned char */*p*/,
549	size_t /*len*/,
550	size_t /*val*/,
551	size_t */*size*/);
552
553int
554der_put_length_and_tag (
555	unsigned char */*p*/,
556	size_t /*len*/,
557	size_t /*len_val*/,
558	Der_class /*class*/,
559	Der_type /*type*/,
560	unsigned int /*tag*/,
561	size_t */*size*/);
562
563int
564der_put_octet_string (
565	unsigned char */*p*/,
566	size_t /*len*/,
567	const heim_octet_string */*data*/,
568	size_t */*size*/);
569
570int
571der_put_oid (
572	unsigned char */*p*/,
573	size_t /*len*/,
574	const heim_oid */*data*/,
575	size_t */*size*/);
576
577int
578der_put_printable_string (
579	unsigned char */*p*/,
580	size_t /*len*/,
581	const heim_printable_string */*str*/,
582	size_t */*size*/);
583
584int
585der_put_tag (
586	unsigned char */*p*/,
587	size_t /*len*/,
588	Der_class /*class*/,
589	Der_type /*type*/,
590	unsigned int /*tag*/,
591	size_t */*size*/);
592
593int
594der_put_universal_string (
595	unsigned char */*p*/,
596	size_t /*len*/,
597	const heim_universal_string */*data*/,
598	size_t */*size*/);
599
600int
601der_put_unsigned (
602	unsigned char */*p*/,
603	size_t /*len*/,
604	const unsigned */*v*/,
605	size_t */*size*/);
606
607int
608der_put_utctime (
609	unsigned char */*p*/,
610	size_t /*len*/,
611	const time_t */*data*/,
612	size_t */*size*/);
613
614int
615der_put_utf8string (
616	unsigned char */*p*/,
617	size_t /*len*/,
618	const heim_utf8_string */*str*/,
619	size_t */*size*/);
620
621int
622der_put_visible_string (
623	unsigned char */*p*/,
624	size_t /*len*/,
625	const heim_visible_string */*str*/,
626	size_t */*size*/);
627
628int
629encode_heim_any (
630	unsigned char */*p*/,
631	size_t /*len*/,
632	const heim_any */*data*/,
633	size_t */*size*/);
634
635int
636encode_heim_any_set (
637	unsigned char */*p*/,
638	size_t /*len*/,
639	const heim_any_set */*data*/,
640	size_t */*size*/);
641
642void
643free_heim_any (heim_any */*data*/);
644
645void
646free_heim_any_set (heim_any_set */*data*/);
647
648int
649heim_any_cmp (
650	const heim_any_set */*p*/,
651	const heim_any_set */*q*/);
652
653size_t
654length_heim_any (const heim_any */*data*/);
655
656size_t
657length_heim_any_set (const heim_any */*data*/);
658
659#ifdef __cplusplus
660}
661#endif
662
663#endif /* __asn1_der_protos_h__ */
664