]>
git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/c++-lib/inc/asn-useful.h
daadb7b5a50bb839c306edda19abcc60513ba950
1 // NOTE: this is a machine generated file--editing not recommended
3 // asn-useful.h - class definitions for ASN.1 module ASN-USEFUL
5 // This file was generated by snacc on Wed Mar 20 10:07:04 2002
6 // UBC snacc by Mike Sample
7 // A couple of enhancements made by IBM European Networking Center
10 #define _asn_useful_h_
13 //------------------------------------------------------------------------------
14 // class declarations:
16 class ObjectDescriptor
;
19 class PrintableString
;
29 class GeneralizedTime
;
30 class UniversalString
;
35 //------------------------------------------------------------------------------
38 /* [UNIVERSAL 7] IMPLICIT OCTET STRING */
39 class ObjectDescriptor
: public AsnOcts
42 ObjectDescriptor(): AsnOcts() {}
43 ObjectDescriptor (const char *str
): AsnOcts (str
) {}
44 ObjectDescriptor (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
45 ObjectDescriptor (const AsnOcts
&o
): AsnOcts (o
) {}
46 ObjectDescriptor
&operator = (const ObjectDescriptor
&o
) { ReSet (o
); return *this; }
47 ObjectDescriptor
&operator = (const char *str
) { ReSet (str
); return *this; }
48 virtual AsnType
*Clone() const;
50 virtual AsnType
*Copy() const;
52 AsnLen
BEnc (BUF_TYPE b
);
53 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
57 /* [UNIVERSAL 12] IMPLICIT OCTET STRING */
58 class UTF8String
: public AsnOcts
61 UTF8String(): AsnOcts() {}
62 UTF8String (const char *str
): AsnOcts (str
) {}
63 UTF8String (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
64 UTF8String (const AsnOcts
&o
): AsnOcts (o
) {}
65 UTF8String
&operator = (const UTF8String
&o
) { ReSet (o
); return *this; }
66 UTF8String
&operator = (const char *str
) { ReSet (str
); return *this; }
67 virtual AsnType
*Clone() const;
69 virtual AsnType
*Copy() const;
71 AsnLen
BEnc (BUF_TYPE b
);
72 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
76 /* [UNIVERSAL 18] IMPLICIT OCTET STRING */
77 class NumericString
: public AsnOcts
80 NumericString(): AsnOcts() {}
81 NumericString (const char *str
): AsnOcts (str
) {}
82 NumericString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
83 NumericString (const AsnOcts
&o
): AsnOcts (o
) {}
84 NumericString
&operator = (const NumericString
&o
) { ReSet (o
); return *this; }
85 NumericString
&operator = (const char *str
) { ReSet (str
); return *this; }
86 virtual AsnType
*Clone() const;
88 virtual AsnType
*Copy() const;
90 AsnLen
BEnc (BUF_TYPE b
);
91 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
95 /* [UNIVERSAL 19] IMPLICIT OCTET STRING */
96 class PrintableString
: public AsnOcts
99 PrintableString(): AsnOcts() {}
100 PrintableString (const char *str
): AsnOcts (str
) {}
101 PrintableString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
102 PrintableString (const AsnOcts
&o
): AsnOcts (o
) {}
103 PrintableString
&operator = (const PrintableString
&o
) { ReSet (o
); return *this; }
104 PrintableString
&operator = (const char *str
) { ReSet (str
); return *this; }
105 virtual AsnType
*Clone() const;
107 virtual AsnType
*Copy() const;
109 AsnLen
BEnc (BUF_TYPE b
);
110 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
114 /* [UNIVERSAL 20] IMPLICIT OCTET STRING */
115 class TeletexString
: public AsnOcts
118 TeletexString(): AsnOcts() {}
119 TeletexString (const char *str
): AsnOcts (str
) {}
120 TeletexString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
121 TeletexString (const AsnOcts
&o
): AsnOcts (o
) {}
122 TeletexString
&operator = (const TeletexString
&o
) { ReSet (o
); return *this; }
123 TeletexString
&operator = (const char *str
) { ReSet (str
); return *this; }
124 virtual AsnType
*Clone() const;
126 virtual AsnType
*Copy() const;
128 AsnLen
BEnc (BUF_TYPE b
);
129 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
133 /* [UNIVERSAL 20] IMPLICIT OCTET STRING */
134 class T61String
: public AsnOcts
137 T61String(): AsnOcts() {}
138 T61String (const char *str
): AsnOcts (str
) {}
139 T61String (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
140 T61String (const AsnOcts
&o
): AsnOcts (o
) {}
141 T61String
&operator = (const T61String
&o
) { ReSet (o
); return *this; }
142 T61String
&operator = (const char *str
) { ReSet (str
); return *this; }
143 virtual AsnType
*Clone() const;
145 virtual AsnType
*Copy() const;
147 AsnLen
BEnc (BUF_TYPE b
);
148 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
152 /* [UNIVERSAL 21] IMPLICIT OCTET STRING */
153 class VideotexString
: public AsnOcts
156 VideotexString(): AsnOcts() {}
157 VideotexString (const char *str
): AsnOcts (str
) {}
158 VideotexString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
159 VideotexString (const AsnOcts
&o
): AsnOcts (o
) {}
160 VideotexString
&operator = (const VideotexString
&o
) { ReSet (o
); return *this; }
161 VideotexString
&operator = (const char *str
) { ReSet (str
); return *this; }
162 virtual AsnType
*Clone() const;
164 virtual AsnType
*Copy() const;
166 AsnLen
BEnc (BUF_TYPE b
);
167 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
171 /* [UNIVERSAL 22] IMPLICIT OCTET STRING */
172 class IA5String
: public AsnOcts
175 IA5String(): AsnOcts() {}
176 IA5String (const char *str
): AsnOcts (str
) {}
177 IA5String (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
178 IA5String (const AsnOcts
&o
): AsnOcts (o
) {}
179 IA5String
&operator = (const IA5String
&o
) { ReSet (o
); return *this; }
180 IA5String
&operator = (const char *str
) { ReSet (str
); return *this; }
181 virtual AsnType
*Clone() const;
183 virtual AsnType
*Copy() const;
185 AsnLen
BEnc (BUF_TYPE b
);
186 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
190 /* [UNIVERSAL 25] IMPLICIT OCTET STRING */
191 class GraphicString
: public AsnOcts
194 GraphicString(): AsnOcts() {}
195 GraphicString (const char *str
): AsnOcts (str
) {}
196 GraphicString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
197 GraphicString (const AsnOcts
&o
): AsnOcts (o
) {}
198 GraphicString
&operator = (const GraphicString
&o
) { ReSet (o
); return *this; }
199 GraphicString
&operator = (const char *str
) { ReSet (str
); return *this; }
200 virtual AsnType
*Clone() const;
202 virtual AsnType
*Copy() const;
204 AsnLen
BEnc (BUF_TYPE b
);
205 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
209 /* [UNIVERSAL 26] IMPLICIT OCTET STRING */
210 class VisibleString
: public AsnOcts
213 VisibleString(): AsnOcts() {}
214 VisibleString (const char *str
): AsnOcts (str
) {}
215 VisibleString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
216 VisibleString (const AsnOcts
&o
): AsnOcts (o
) {}
217 VisibleString
&operator = (const VisibleString
&o
) { ReSet (o
); return *this; }
218 VisibleString
&operator = (const char *str
) { ReSet (str
); return *this; }
219 virtual AsnType
*Clone() const;
221 virtual AsnType
*Copy() const;
223 AsnLen
BEnc (BUF_TYPE b
);
224 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
228 /* [UNIVERSAL 26] IMPLICIT OCTET STRING */
229 class ISO646String
: public AsnOcts
232 ISO646String(): AsnOcts() {}
233 ISO646String (const char *str
): AsnOcts (str
) {}
234 ISO646String (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
235 ISO646String (const AsnOcts
&o
): AsnOcts (o
) {}
236 ISO646String
&operator = (const ISO646String
&o
) { ReSet (o
); return *this; }
237 ISO646String
&operator = (const char *str
) { ReSet (str
); return *this; }
238 virtual AsnType
*Clone() const;
240 virtual AsnType
*Copy() const;
242 AsnLen
BEnc (BUF_TYPE b
);
243 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
247 /* [UNIVERSAL 27] IMPLICIT OCTET STRING */
248 class GeneralString
: public AsnOcts
251 GeneralString(): AsnOcts() {}
252 GeneralString (const char *str
): AsnOcts (str
) {}
253 GeneralString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
254 GeneralString (const AsnOcts
&o
): AsnOcts (o
) {}
255 GeneralString
&operator = (const GeneralString
&o
) { ReSet (o
); return *this; }
256 GeneralString
&operator = (const char *str
) { ReSet (str
); return *this; }
257 virtual AsnType
*Clone() const;
259 virtual AsnType
*Copy() const;
261 AsnLen
BEnc (BUF_TYPE b
);
262 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
266 /* [UNIVERSAL 23] IMPLICIT OCTET STRING */
267 class UTCTime
: public AsnOcts
270 UTCTime(): AsnOcts() {}
271 UTCTime (const char *str
): AsnOcts (str
) {}
272 UTCTime (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
273 UTCTime (const AsnOcts
&o
): AsnOcts (o
) {}
274 UTCTime
&operator = (const UTCTime
&o
) { ReSet (o
); return *this; }
275 UTCTime
&operator = (const char *str
) { ReSet (str
); return *this; }
276 virtual AsnType
*Clone() const;
278 virtual AsnType
*Copy() const;
280 AsnLen
BEnc (BUF_TYPE b
);
281 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
285 /* [UNIVERSAL 24] IMPLICIT OCTET STRING */
286 class GeneralizedTime
: public AsnOcts
289 GeneralizedTime(): AsnOcts() {}
290 GeneralizedTime (const char *str
): AsnOcts (str
) {}
291 GeneralizedTime (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
292 GeneralizedTime (const AsnOcts
&o
): AsnOcts (o
) {}
293 GeneralizedTime
&operator = (const GeneralizedTime
&o
) { ReSet (o
); return *this; }
294 GeneralizedTime
&operator = (const char *str
) { ReSet (str
); return *this; }
295 virtual AsnType
*Clone() const;
297 virtual AsnType
*Copy() const;
299 AsnLen
BEnc (BUF_TYPE b
);
300 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
304 /* [UNIVERSAL 28] IMPLICIT OCTET STRING */
305 class UniversalString
: public AsnOcts
308 UniversalString(): AsnOcts() {}
309 UniversalString (const char *str
): AsnOcts (str
) {}
310 UniversalString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
311 UniversalString (const AsnOcts
&o
): AsnOcts (o
) {}
312 UniversalString
&operator = (const UniversalString
&o
) { ReSet (o
); return *this; }
313 UniversalString
&operator = (const char *str
) { ReSet (str
); return *this; }
314 virtual AsnType
*Clone() const;
316 virtual AsnType
*Copy() const;
318 AsnLen
BEnc (BUF_TYPE b
);
319 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
323 /* [UNIVERSAL 30] IMPLICIT OCTET STRING */
324 class BMPString
: public AsnOcts
327 BMPString(): AsnOcts() {}
328 BMPString (const char *str
): AsnOcts (str
) {}
329 BMPString (const char *str
, const size_t len
): AsnOcts (str
, len
) {}
330 BMPString (const AsnOcts
&o
): AsnOcts (o
) {}
331 BMPString
&operator = (const BMPString
&o
) { ReSet (o
); return *this; }
332 BMPString
&operator = (const char *str
) { ReSet (str
); return *this; }
333 virtual AsnType
*Clone() const;
335 virtual AsnType
*Copy() const;
337 AsnLen
BEnc (BUF_TYPE b
);
338 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
342 class EXTERNALChoice
: public AsnType
347 single_ASN1_typeCid
= 0,
348 octet_alignedCid
= 1,
352 enum ChoiceIdEnum choiceId
;
355 AsnOcts
*single_ASN1_type
;
356 AsnOcts
*octet_aligned
;
362 EXTERNALChoice (const EXTERNALChoice
&);
363 virtual ~EXTERNALChoice();
365 virtual AsnType
*Clone() const;
367 virtual AsnType
*Copy() const;
369 EXTERNALChoice
&operator = (const EXTERNALChoice
&);
370 AsnLen
BEncContent (BUF_TYPE b
);
371 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
372 AsnLen
BEnc (BUF_TYPE b
);
373 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
374 void Print (ostream
&os
) const;
378 class EXTERNAL
: public AsnType
381 AsnOid
*direct_reference
;
382 AsnInt
*indirect_reference
;
383 ObjectDescriptor
*data_value_descriptor
;
384 EXTERNALChoice
*encoding
;
387 EXTERNAL (const EXTERNAL
&);
389 virtual AsnType
*Clone() const;
391 virtual AsnType
*Copy() const;
393 EXTERNAL
&operator = (const EXTERNAL
&);
394 AsnLen
BEncContent (BUF_TYPE b
);
395 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
397 AsnLen
BEnc (BUF_TYPE b
);
398 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
399 void Print (ostream
&os
) const;
403 //------------------------------------------------------------------------------
404 // externs for value defs
406 //------------------------------------------------------------------------------
408 #endif /* conditional include of asn-useful.h */