]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_asn1/lib/SecAsn1Templates.h
Security-57740.51.3.tar.gz
[apple/security.git] / OSX / libsecurity_asn1 / lib / SecAsn1Templates.h
1 /*
2 * Copyright (c) 2003-2006,2008,2010-2012 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 CF_ASSUME_NONNULL_BEGIN
36
37 /************************************************************************/
38
39 /*
40 * Generic Templates
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
45 */
46
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[];
66
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[];
85
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[];
104
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[];
123
124 /*
125 * Template for skipping a subitem; only used when decoding.
126 */
127 extern const SecAsn1Template kSecAsn1SkipTemplate[];
128
129 CF_ASSUME_NONNULL_END
130
131 #ifdef __cplusplus
132 }
133 #endif
134
135 #endif /* _SEC_ASN1_TEMPLATES_H_ */