]> git.saurik.com Git - apple/security.git/blob - libsecurity_asn1/lib/SecAsn1Templates.h
Security-55163.44.tar.gz
[apple/security.git] / libsecurity_asn1 / lib / SecAsn1Templates.h
1 /*
2 * Copyright (c) 2003-2006,2008,2010 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 * SecAsn1Templates.h - Common ASN1 primitive templates for use with SecAsn1Coder.
24 */
25
26 #ifndef _SEC_ASN1_TEMPLATES_H_
27 #define _SEC_ASN1_TEMPLATES_H_
28
29 #include <Security/SecAsn1Types.h>
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 /************************************************************************/
36
37 /*
38 * Generic Templates
39 * One for each of the simple types, plus a special one for ANY, plus:
40 * - a pointer to each one of those
41 * - a set of each one of those
42 * - a sequence of each one of those
43 */
44
45 extern const SecAsn1Template kSecAsn1AnyTemplate[];
46 extern const SecAsn1Template kSecAsn1BitStringTemplate[];
47 extern const SecAsn1Template kSecAsn1BMPStringTemplate[];
48 extern const SecAsn1Template kSecAsn1BooleanTemplate[];
49 extern const SecAsn1Template kSecAsn1EnumeratedTemplate[];
50 extern const SecAsn1Template kSecAsn1GeneralizedTimeTemplate[];
51 extern const SecAsn1Template kSecAsn1IA5StringTemplate[];
52 extern const SecAsn1Template kSecAsn1IntegerTemplate[];
53 extern const SecAsn1Template kSecAsn1UnsignedIntegerTemplate[];
54 extern const SecAsn1Template kSecAsn1NullTemplate[];
55 extern const SecAsn1Template kSecAsn1ObjectIDTemplate[];
56 extern const SecAsn1Template kSecAsn1OctetStringTemplate[];
57 extern const SecAsn1Template kSecAsn1PrintableStringTemplate[];
58 extern const SecAsn1Template kSecAsn1T61StringTemplate[];
59 extern const SecAsn1Template kSecAsn1UniversalStringTemplate[];
60 extern const SecAsn1Template kSecAsn1UTCTimeTemplate[];
61 extern const SecAsn1Template kSecAsn1UTF8StringTemplate[];
62 extern const SecAsn1Template kSecAsn1VisibleStringTemplate[];
63 extern const SecAsn1Template kSecAsn1TeletexStringTemplate[];
64
65 extern const SecAsn1Template kSecAsn1PointerToAnyTemplate[];
66 extern const SecAsn1Template kSecAsn1PointerToBitStringTemplate[];
67 extern const SecAsn1Template kSecAsn1PointerToBMPStringTemplate[];
68 extern const SecAsn1Template kSecAsn1PointerToBooleanTemplate[];
69 extern const SecAsn1Template kSecAsn1PointerToEnumeratedTemplate[];
70 extern const SecAsn1Template kSecAsn1PointerToGeneralizedTimeTemplate[];
71 extern const SecAsn1Template kSecAsn1PointerToIA5StringTemplate[];
72 extern const SecAsn1Template kSecAsn1PointerToIntegerTemplate[];
73 extern const SecAsn1Template kSecAsn1PointerToNullTemplate[];
74 extern const SecAsn1Template kSecAsn1PointerToObjectIDTemplate[];
75 extern const SecAsn1Template kSecAsn1PointerToOctetStringTemplate[];
76 extern const SecAsn1Template kSecAsn1PointerToPrintableStringTemplate[];
77 extern const SecAsn1Template kSecAsn1PointerToT61StringTemplate[];
78 extern const SecAsn1Template kSecAsn1PointerToUniversalStringTemplate[];
79 extern const SecAsn1Template kSecAsn1PointerToUTCTimeTemplate[];
80 extern const SecAsn1Template kSecAsn1PointerToUTF8StringTemplate[];
81 extern const SecAsn1Template kSecAsn1PointerToVisibleStringTemplate[];
82 extern const SecAsn1Template kSecAsn1PointerToTeletexStringTemplate[];
83
84 extern const SecAsn1Template kSecAsn1SequenceOfAnyTemplate[];
85 extern const SecAsn1Template kSecAsn1SequenceOfBitStringTemplate[];
86 extern const SecAsn1Template kSecAsn1SequenceOfBMPStringTemplate[];
87 extern const SecAsn1Template kSecAsn1SequenceOfBooleanTemplate[];
88 extern const SecAsn1Template kSecAsn1SequenceOfEnumeratedTemplate[];
89 extern const SecAsn1Template kSecAsn1SequenceOfGeneralizedTimeTemplate[];
90 extern const SecAsn1Template kSecAsn1SequenceOfIA5StringTemplate[];
91 extern const SecAsn1Template kSecAsn1SequenceOfIntegerTemplate[];
92 extern const SecAsn1Template kSecAsn1SequenceOfNullTemplate[];
93 extern const SecAsn1Template kSecAsn1SequenceOfObjectIDTemplate[];
94 extern const SecAsn1Template kSecAsn1SequenceOfOctetStringTemplate[];
95 extern const SecAsn1Template kSecAsn1SequenceOfPrintableStringTemplate[];
96 extern const SecAsn1Template kSecAsn1SequenceOfT61StringTemplate[];
97 extern const SecAsn1Template kSecAsn1SequenceOfUniversalStringTemplate[];
98 extern const SecAsn1Template kSecAsn1SequenceOfUTCTimeTemplate[];
99 extern const SecAsn1Template kSecAsn1SequenceOfUTF8StringTemplate[];
100 extern const SecAsn1Template kSecAsn1SequenceOfVisibleStringTemplate[];
101 extern const SecAsn1Template kSecAsn1SequenceOfTeletexStringTemplate[];
102
103 extern const SecAsn1Template kSecAsn1SetOfAnyTemplate[];
104 extern const SecAsn1Template kSecAsn1SetOfBitStringTemplate[];
105 extern const SecAsn1Template kSecAsn1SetOfBMPStringTemplate[];
106 extern const SecAsn1Template kSecAsn1SetOfBooleanTemplate[];
107 extern const SecAsn1Template kSecAsn1SetOfEnumeratedTemplate[];
108 extern const SecAsn1Template kSecAsn1SetOfGeneralizedTimeTemplate[];
109 extern const SecAsn1Template kSecAsn1SetOfIA5StringTemplate[];
110 extern const SecAsn1Template kSecAsn1SetOfIntegerTemplate[];
111 extern const SecAsn1Template kSecAsn1SetOfNullTemplate[];
112 extern const SecAsn1Template kSecAsn1SetOfObjectIDTemplate[];
113 extern const SecAsn1Template kSecAsn1SetOfOctetStringTemplate[];
114 extern const SecAsn1Template kSecAsn1SetOfPrintableStringTemplate[];
115 extern const SecAsn1Template kSecAsn1SetOfT61StringTemplate[];
116 extern const SecAsn1Template kSecAsn1SetOfUniversalStringTemplate[];
117 extern const SecAsn1Template kSecAsn1SetOfUTCTimeTemplate[];
118 extern const SecAsn1Template kSecAsn1SetOfUTF8StringTemplate[];
119 extern const SecAsn1Template kSecAsn1SetOfVisibleStringTemplate[];
120 extern const SecAsn1Template kSecAsn1SetOfTeletexStringTemplate[];
121
122 /*
123 * Template for skipping a subitem; only used when decoding.
124 */
125 extern const SecAsn1Template kSecAsn1SkipTemplate[];
126
127 #ifdef __cplusplus
128 }
129 #endif
130
131 #endif /* _SEC_ASN1_TEMPLATES_H_ */