]> git.saurik.com Git - apple/security.git/blame - SecuritySNACCRuntime/c-lib/asn-useful.h
Security-28.tar.gz
[apple/security.git] / SecuritySNACCRuntime / c-lib / asn-useful.h
CommitLineData
bac41a7b
A
1/*
2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
3 *
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
8 * using this file.
9 *
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
16 */
17
18
19/*
20 * asn-useful.h
21 *
22 * "ASN-USEFUL" ASN.1 module C type definitions and prototypes
23 *
24 * This .h file was generated by snacc on Thu Jun 8 12:35:27 2000
25 *
26 * UBC snacc written compiler by Mike Sample
27 *
28 * NOTE: This is a machine generated file--editing not recommended
29 */
30
31
32#ifndef _asn_useful_h_
33#define _asn_useful_h_
34
35
36
37
38typedef AsnOcts ObjectDescriptor; /* [UNIVERSAL 7] IMPLICIT OCTET STRING */
39
40#define BEncObjectDescriptorContent BEncAsnOctsContent
41
42#define BDecObjectDescriptorContent BDecAsnOctsContent
43
44#define PrintObjectDescriptor PrintAsnOcts
45
46#define FreeObjectDescriptor FreeAsnOcts
47
48
49
50
51typedef AsnOcts UTF8String; /* [UNIVERSAL 12] IMPLICIT OCTET STRING */
52
53AsnLen BEncUTF8String PROTO ((BUF_TYPE b, UTF8String *v));
54
55void BDecUTF8String PROTO ((BUF_TYPE b, UTF8String *result, AsnLen *bytesDecoded, ENV_TYPE env));
56#define BEncUTF8StringContent BEncAsnOctsContent
57
58#define BDecUTF8StringContent BDecAsnOctsContent
59
60#define PrintUTF8String PrintAsnOcts
61
62#define FreeUTF8String FreeAsnOcts
63
64
65
66
67typedef AsnOcts NumericString; /* [UNIVERSAL 18] IMPLICIT OCTET STRING */
68
69AsnLen BEncNumericString PROTO ((BUF_TYPE b, NumericString *v));
70
71void BDecNumericString PROTO ((BUF_TYPE b, NumericString *result, AsnLen *bytesDecoded, ENV_TYPE env));
72#define BEncNumericStringContent BEncAsnOctsContent
73
74#define BDecNumericStringContent BDecAsnOctsContent
75
76#define PrintNumericString PrintAsnOcts
77
78#define FreeNumericString FreeAsnOcts
79
80
81
82
83typedef AsnOcts PrintableString; /* [UNIVERSAL 19] IMPLICIT OCTET STRING */
84
85AsnLen BEncPrintableString PROTO ((BUF_TYPE b, PrintableString *v));
86
87void BDecPrintableString PROTO ((BUF_TYPE b, PrintableString *result, AsnLen *bytesDecoded, ENV_TYPE env));
88#define BEncPrintableStringContent BEncAsnOctsContent
89
90#define BDecPrintableStringContent BDecAsnOctsContent
91
92#define PrintPrintableString PrintAsnOcts
93
94#define FreePrintableString FreeAsnOcts
95
96
97
98
99typedef AsnOcts TeletexString; /* [UNIVERSAL 20] IMPLICIT OCTET STRING */
100
101AsnLen BEncTeletexString PROTO ((BUF_TYPE b, TeletexString *v));
102
103void BDecTeletexString PROTO ((BUF_TYPE b, TeletexString *result, AsnLen *bytesDecoded, ENV_TYPE env));
104#define BEncTeletexStringContent BEncAsnOctsContent
105
106#define BDecTeletexStringContent BDecAsnOctsContent
107
108#define PrintTeletexString PrintAsnOcts
109
110#define FreeTeletexString FreeAsnOcts
111
112
113
114
115typedef AsnOcts T61String; /* [UNIVERSAL 20] IMPLICIT OCTET STRING */
116
117AsnLen BEncT61String PROTO ((BUF_TYPE b, T61String *v));
118
119void BDecT61String PROTO ((BUF_TYPE b, T61String *result, AsnLen *bytesDecoded, ENV_TYPE env));
120#define BEncT61StringContent BEncAsnOctsContent
121
122#define BDecT61StringContent BDecAsnOctsContent
123
124#define PrintT61String PrintAsnOcts
125
126#define FreeT61String FreeAsnOcts
127
128
129
130
131typedef AsnOcts VideotexString; /* [UNIVERSAL 21] IMPLICIT OCTET STRING */
132
133AsnLen BEncVideotexString PROTO ((BUF_TYPE b, VideotexString *v));
134
135void BDecVideotexString PROTO ((BUF_TYPE b, VideotexString *result, AsnLen *bytesDecoded, ENV_TYPE env));
136#define BEncVideotexStringContent BEncAsnOctsContent
137
138#define BDecVideotexStringContent BDecAsnOctsContent
139
140#define PrintVideotexString PrintAsnOcts
141
142#define FreeVideotexString FreeAsnOcts
143
144
145
146
147typedef AsnOcts IA5String; /* [UNIVERSAL 22] IMPLICIT OCTET STRING */
148
149AsnLen BEncIA5String PROTO ((BUF_TYPE b, IA5String *v));
150
151void BDecIA5String PROTO ((BUF_TYPE b, IA5String *result, AsnLen *bytesDecoded, ENV_TYPE env));
152#define BEncIA5StringContent BEncAsnOctsContent
153
154#define BDecIA5StringContent BDecAsnOctsContent
155
156#define PrintIA5String PrintAsnOcts
157
158#define FreeIA5String FreeAsnOcts
159
160
161
162
163typedef AsnOcts GraphicString; /* [UNIVERSAL 25] IMPLICIT OCTET STRING */
164
165AsnLen BEncGraphicString PROTO ((BUF_TYPE b, GraphicString *v));
166
167void BDecGraphicString PROTO ((BUF_TYPE b, GraphicString *result, AsnLen *bytesDecoded, ENV_TYPE env));
168#define BEncGraphicStringContent BEncAsnOctsContent
169
170#define BDecGraphicStringContent BDecAsnOctsContent
171
172#define PrintGraphicString PrintAsnOcts
173
174#define FreeGraphicString FreeAsnOcts
175
176
177
178
179typedef AsnOcts VisibleString; /* [UNIVERSAL 26] IMPLICIT OCTET STRING */
180
181AsnLen BEncVisibleString PROTO ((BUF_TYPE b, VisibleString *v));
182
183void BDecVisibleString PROTO ((BUF_TYPE b, VisibleString *result, AsnLen *bytesDecoded, ENV_TYPE env));
184#define BEncVisibleStringContent BEncAsnOctsContent
185
186#define BDecVisibleStringContent BDecAsnOctsContent
187
188#define PrintVisibleString PrintAsnOcts
189
190#define FreeVisibleString FreeAsnOcts
191
192
193
194
195typedef AsnOcts ISO646String; /* [UNIVERSAL 26] IMPLICIT OCTET STRING */
196
197AsnLen BEncISO646String PROTO ((BUF_TYPE b, ISO646String *v));
198
199void BDecISO646String PROTO ((BUF_TYPE b, ISO646String *result, AsnLen *bytesDecoded, ENV_TYPE env));
200#define BEncISO646StringContent BEncAsnOctsContent
201
202#define BDecISO646StringContent BDecAsnOctsContent
203
204#define PrintISO646String PrintAsnOcts
205
206#define FreeISO646String FreeAsnOcts
207
208
209
210
211typedef AsnOcts GeneralString; /* [UNIVERSAL 27] IMPLICIT OCTET STRING */
212
213AsnLen BEncGeneralString PROTO ((BUF_TYPE b, GeneralString *v));
214
215void BDecGeneralString PROTO ((BUF_TYPE b, GeneralString *result, AsnLen *bytesDecoded, ENV_TYPE env));
216#define BEncGeneralStringContent BEncAsnOctsContent
217
218#define BDecGeneralStringContent BDecAsnOctsContent
219
220#define PrintGeneralString PrintAsnOcts
221
222#define FreeGeneralString FreeAsnOcts
223
224
225
226
227typedef AsnOcts UTCTime; /* [UNIVERSAL 23] IMPLICIT OCTET STRING */
228
229AsnLen BEncUTCTime PROTO ((BUF_TYPE b, UTCTime *v));
230
231void BDecUTCTime PROTO ((BUF_TYPE b, UTCTime *result, AsnLen *bytesDecoded, ENV_TYPE env));
232#define BEncUTCTimeContent BEncAsnOctsContent
233
234#define BDecUTCTimeContent BDecAsnOctsContent
235
236#define PrintUTCTime PrintAsnOcts
237
238#define FreeUTCTime FreeAsnOcts
239
240
241
242
243typedef AsnOcts GeneralizedTime; /* [UNIVERSAL 24] IMPLICIT OCTET STRING */
244
245AsnLen BEncGeneralizedTime PROTO ((BUF_TYPE b, GeneralizedTime *v));
246
247void BDecGeneralizedTime PROTO ((BUF_TYPE b, GeneralizedTime *result, AsnLen *bytesDecoded, ENV_TYPE env));
248#define BEncGeneralizedTimeContent BEncAsnOctsContent
249
250#define BDecGeneralizedTimeContent BDecAsnOctsContent
251
252#define PrintGeneralizedTime PrintAsnOcts
253
254#define FreeGeneralizedTime FreeAsnOcts
255
256
257
258
259typedef AsnOcts UniversalString; /* [UNIVERSAL 28] IMPLICIT OCTET STRING */
260
261AsnLen BEncUniversalString PROTO ((BUF_TYPE b, UniversalString *v));
262
263void BDecUniversalString PROTO ((BUF_TYPE b, UniversalString *result, AsnLen *bytesDecoded, ENV_TYPE env));
264#define BEncUniversalStringContent BEncAsnOctsContent
265
266#define BDecUniversalStringContent BDecAsnOctsContent
267
268#define PrintUniversalString PrintAsnOcts
269
270#define FreeUniversalString FreeAsnOcts
271
272
273
274
275typedef AsnOcts BMPString; /* [UNIVERSAL 30] IMPLICIT OCTET STRING */
276
277AsnLen BEncBMPString PROTO ((BUF_TYPE b, BMPString *v));
278
279void BDecBMPString PROTO ((BUF_TYPE b, BMPString *result, AsnLen *bytesDecoded, ENV_TYPE env));
280#define BEncBMPStringContent BEncAsnOctsContent
281
282#define BDecBMPStringContent BDecAsnOctsContent
283
284#define PrintBMPString PrintAsnOcts
285
286#define FreeBMPString FreeAsnOcts
287
288
289
290
291typedef struct EXTERNALChoice /* CHOICE */
292{
293 enum EXTERNALChoiceChoiceId
294 {
295 EXTERNALCHOICE_SINGLE_ASN1_TYPE,
296 EXTERNALCHOICE_OCTET_ALIGNED,
297 EXTERNALCHOICE_ARBITRARY
298 } choiceId;
299 union EXTERNALChoiceChoiceUnion
300 {
301 AsnOcts* single_ASN1_type; /* [0] OCTET STRING */
302 AsnOcts* octet_aligned; /* [1] IMPLICIT OCTET STRING */
303 AsnBits* arbitrary; /* [2] IMPLICIT BIT STRING */
304 } a;
305} EXTERNALChoice;
306
307AsnLen BEncEXTERNALChoiceContent PROTO ((BUF_TYPE b, EXTERNALChoice *v));
308
309void BDecEXTERNALChoiceContent PROTO ((BUF_TYPE b, AsnTag tagId0, AsnLen elmtLen0, EXTERNALChoice *v, AsnLen *bytesDecoded, ENV_TYPE env));
310
311
312void PrintEXTERNALChoice PROTO ((FILE* f, EXTERNALChoice *v, unsigned short int indent));
313void FreeEXTERNALChoice PROTO ((EXTERNALChoice *v));
314
315
316
317
318
319typedef struct EXTERNAL /* [UNIVERSAL 8] IMPLICIT SEQUENCE */
320{
321 AsnOid direct_reference; /* OBJECT IDENTIFIER OPTIONAL */
322 AsnInt* indirect_reference; /* INTEGER OPTIONAL */
323 ObjectDescriptor data_value_descriptor; /* ObjectDescriptor OPTIONAL */
324 struct EXTERNALChoice* encoding; /* EXTERNALChoice */
325} EXTERNAL;
326
327AsnLen BEncEXTERNAL PROTO ((BUF_TYPE b, EXTERNAL *v));
328
329void BDecEXTERNAL PROTO ((BUF_TYPE b, EXTERNAL *result, AsnLen *bytesDecoded, ENV_TYPE env));
330AsnLen BEncEXTERNALContent PROTO ((BUF_TYPE b, EXTERNAL *v));
331
332void BDecEXTERNALContent PROTO ((BUF_TYPE b, AsnTag tagId0, AsnLen elmtLen0, EXTERNAL *v, AsnLen *bytesDecoded, ENV_TYPE env));
333
334
335void PrintEXTERNAL PROTO ((FILE* f, EXTERNAL *v, unsigned short int indent));
336void FreeEXTERNAL PROTO ((EXTERNAL *v));
337
338
339
340
341
342
343#endif /* conditional include of asn-useful.h */