2 * Copyright (c) 2003-2006,2008,2010-2012 Apple Inc. All Rights Reserved.
4 * @APPLE_LICENSE_HEADER_START@
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
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.
21 * @APPLE_LICENSE_HEADER_END@
23 * SecAsn1Templates.h - Common ASN1 primitive templates for use with SecAsn1Coder.
26 #ifndef _SEC_ASN1_TEMPLATES_H_
27 #define _SEC_ASN1_TEMPLATES_H_
29 #include <Security/SecAsn1Types.h>
35 CF_ASSUME_NONNULL_BEGIN
37 /************************************************************************/
41 * One for each of the simple types, plus a special one for ANY, plus:
42 * - a pointer to each one of those
43 * - a set of each one of those
44 * - a sequence of each one of those
47 extern const SecAsn1Template kSecAsn1AnyTemplate
[];
48 extern const SecAsn1Template kSecAsn1BitStringTemplate
[];
49 extern const SecAsn1Template kSecAsn1BMPStringTemplate
[];
50 extern const SecAsn1Template kSecAsn1BooleanTemplate
[];
51 extern const SecAsn1Template kSecAsn1EnumeratedTemplate
[];
52 extern const SecAsn1Template kSecAsn1GeneralizedTimeTemplate
[];
53 extern const SecAsn1Template kSecAsn1IA5StringTemplate
[];
54 extern const SecAsn1Template kSecAsn1IntegerTemplate
[];
55 extern const SecAsn1Template kSecAsn1UnsignedIntegerTemplate
[];
56 extern const SecAsn1Template kSecAsn1NullTemplate
[];
57 extern const SecAsn1Template kSecAsn1ObjectIDTemplate
[];
58 extern const SecAsn1Template kSecAsn1OctetStringTemplate
[];
59 extern const SecAsn1Template kSecAsn1PrintableStringTemplate
[];
60 extern const SecAsn1Template kSecAsn1T61StringTemplate
[];
61 extern const SecAsn1Template kSecAsn1UniversalStringTemplate
[];
62 extern const SecAsn1Template kSecAsn1UTCTimeTemplate
[];
63 extern const SecAsn1Template kSecAsn1UTF8StringTemplate
[];
64 extern const SecAsn1Template kSecAsn1VisibleStringTemplate
[];
65 extern const SecAsn1Template kSecAsn1TeletexStringTemplate
[];
67 extern const SecAsn1Template kSecAsn1PointerToAnyTemplate
[];
68 extern const SecAsn1Template kSecAsn1PointerToBitStringTemplate
[];
69 extern const SecAsn1Template kSecAsn1PointerToBMPStringTemplate
[];
70 extern const SecAsn1Template kSecAsn1PointerToBooleanTemplate
[];
71 extern const SecAsn1Template kSecAsn1PointerToEnumeratedTemplate
[];
72 extern const SecAsn1Template kSecAsn1PointerToGeneralizedTimeTemplate
[];
73 extern const SecAsn1Template kSecAsn1PointerToIA5StringTemplate
[];
74 extern const SecAsn1Template kSecAsn1PointerToIntegerTemplate
[];
75 extern const SecAsn1Template kSecAsn1PointerToNullTemplate
[];
76 extern const SecAsn1Template kSecAsn1PointerToObjectIDTemplate
[];
77 extern const SecAsn1Template kSecAsn1PointerToOctetStringTemplate
[];
78 extern const SecAsn1Template kSecAsn1PointerToPrintableStringTemplate
[];
79 extern const SecAsn1Template kSecAsn1PointerToT61StringTemplate
[];
80 extern const SecAsn1Template kSecAsn1PointerToUniversalStringTemplate
[];
81 extern const SecAsn1Template kSecAsn1PointerToUTCTimeTemplate
[];
82 extern const SecAsn1Template kSecAsn1PointerToUTF8StringTemplate
[];
83 extern const SecAsn1Template kSecAsn1PointerToVisibleStringTemplate
[];
84 extern const SecAsn1Template kSecAsn1PointerToTeletexStringTemplate
[];
86 extern const SecAsn1Template kSecAsn1SequenceOfAnyTemplate
[];
87 extern const SecAsn1Template kSecAsn1SequenceOfBitStringTemplate
[];
88 extern const SecAsn1Template kSecAsn1SequenceOfBMPStringTemplate
[];
89 extern const SecAsn1Template kSecAsn1SequenceOfBooleanTemplate
[];
90 extern const SecAsn1Template kSecAsn1SequenceOfEnumeratedTemplate
[];
91 extern const SecAsn1Template kSecAsn1SequenceOfGeneralizedTimeTemplate
[];
92 extern const SecAsn1Template kSecAsn1SequenceOfIA5StringTemplate
[];
93 extern const SecAsn1Template kSecAsn1SequenceOfIntegerTemplate
[];
94 extern const SecAsn1Template kSecAsn1SequenceOfNullTemplate
[];
95 extern const SecAsn1Template kSecAsn1SequenceOfObjectIDTemplate
[];
96 extern const SecAsn1Template kSecAsn1SequenceOfOctetStringTemplate
[];
97 extern const SecAsn1Template kSecAsn1SequenceOfPrintableStringTemplate
[];
98 extern const SecAsn1Template kSecAsn1SequenceOfT61StringTemplate
[];
99 extern const SecAsn1Template kSecAsn1SequenceOfUniversalStringTemplate
[];
100 extern const SecAsn1Template kSecAsn1SequenceOfUTCTimeTemplate
[];
101 extern const SecAsn1Template kSecAsn1SequenceOfUTF8StringTemplate
[];
102 extern const SecAsn1Template kSecAsn1SequenceOfVisibleStringTemplate
[];
103 extern const SecAsn1Template kSecAsn1SequenceOfTeletexStringTemplate
[];
105 extern const SecAsn1Template kSecAsn1SetOfAnyTemplate
[];
106 extern const SecAsn1Template kSecAsn1SetOfBitStringTemplate
[];
107 extern const SecAsn1Template kSecAsn1SetOfBMPStringTemplate
[];
108 extern const SecAsn1Template kSecAsn1SetOfBooleanTemplate
[];
109 extern const SecAsn1Template kSecAsn1SetOfEnumeratedTemplate
[];
110 extern const SecAsn1Template kSecAsn1SetOfGeneralizedTimeTemplate
[];
111 extern const SecAsn1Template kSecAsn1SetOfIA5StringTemplate
[];
112 extern const SecAsn1Template kSecAsn1SetOfIntegerTemplate
[];
113 extern const SecAsn1Template kSecAsn1SetOfNullTemplate
[];
114 extern const SecAsn1Template kSecAsn1SetOfObjectIDTemplate
[];
115 extern const SecAsn1Template kSecAsn1SetOfOctetStringTemplate
[];
116 extern const SecAsn1Template kSecAsn1SetOfPrintableStringTemplate
[];
117 extern const SecAsn1Template kSecAsn1SetOfT61StringTemplate
[];
118 extern const SecAsn1Template kSecAsn1SetOfUniversalStringTemplate
[];
119 extern const SecAsn1Template kSecAsn1SetOfUTCTimeTemplate
[];
120 extern const SecAsn1Template kSecAsn1SetOfUTF8StringTemplate
[];
121 extern const SecAsn1Template kSecAsn1SetOfVisibleStringTemplate
[];
122 extern const SecAsn1Template kSecAsn1SetOfTeletexStringTemplate
[];
125 * Template for skipping a subitem; only used when decoding.
127 extern const SecAsn1Template kSecAsn1SkipTemplate
[];
129 CF_ASSUME_NONNULL_END
135 #endif /* _SEC_ASN1_TEMPLATES_H_ */