2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
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
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.
22 * "TBL" ASN.1 module encode/decode/print/free C src.
24 * This file was generated by snacc on Mon Jun 2 11:23:51 1997
26 * UBC snacc written by Mike Sample
28 * NOTE: This is a machine generated file - editing not recommended
38 BEncTBLRangeContent
PARAMS ((b
, v
),
47 itemLen
= BEncAsnIntContent (b
, (&v
->to
));
48 BEncDefLenTo127 (b
, itemLen
);
50 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 1);
54 itemLen
= BEncAsnIntContent (b
, (&v
->from
));
55 BEncDefLenTo127 (b
, itemLen
);
57 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 0);
63 } /* BEncTBLRangeContent */
69 BEncTBLNamedNumberContent
PARAMS ((b
, v
),
78 itemLen
= BEncAsnIntContent (b
, (&v
->value
));
79 BEncDefLenTo127 (b
, itemLen
);
81 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 1);
85 itemLen
= BEncPrintableStringContent (b
, (&v
->name
));
86 itemLen
+= BEncDefLen (b
, itemLen
);
87 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 0);
93 } /* BEncTBLNamedNumberContent */
99 BEncTBLNamedNumberListContent
PARAMS ((b
, v
),
101 TBLNamedNumberList
*v
)
109 FOR_EACH_LIST_ELMT_RVS (component
, v
)
112 itemLen
= BEncTBLNamedNumberContent (b
, component
);
113 itemLen
+= BEncConsLen (b
, itemLen
);
114 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
120 } /* BEncTBLNamedNumberListContent */
126 BEncTBLTypeRefContent
PARAMS ((b
, v
),
135 itemLen
= BEncAsnBoolContent (b
, (&v
->implicit
));
136 BEncDefLenTo127 (b
, itemLen
);
138 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 1);
142 itemLen
= BEncTBLTypeDefIdContent (b
, (&v
->typeDef
));
143 BEncDefLenTo127 (b
, itemLen
);
145 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
151 } /* BEncTBLTypeRefContent */
157 BEncTBLTagContent
PARAMS ((b
, v
),
166 itemLen
= BEncAsnIntContent (b
, (&v
->code
));
167 BEncDefLenTo127 (b
, itemLen
);
169 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
173 itemLen
= BEncTBLTagClassContent (b
, (&v
->tclass
));
174 BEncDefLenTo127 (b
, itemLen
);
176 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 10);
182 } /* BEncTBLTagContent */
188 BEncTBLTypeSeqOfContent
PARAMS ((b
, v
),
198 FOR_EACH_LIST_ELMT_RVS (component
, v
)
201 itemLen
= BEncTBLTagContent (b
, component
);
202 itemLen
+= BEncConsLen (b
, itemLen
);
203 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
209 } /* BEncTBLTypeSeqOfContent */
215 BEncTBLTypeContentSeqOfContent
PARAMS ((b
, v
),
217 TBLTypeContentSeqOf
*v
)
225 FOR_EACH_LIST_ELMT_RVS (component
, v
)
228 itemLen
= BEncTBLTypeContent (b
, component
);
229 itemLen
+= BEncConsLen (b
, itemLen
);
230 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
236 } /* BEncTBLTypeContentSeqOfContent */
242 BEncTBLTypeContent
PARAMS ((b
, v
),
251 if (NOT_NULL ((v
->values
)))
254 itemLen
= BEncTBLNamedNumberListContent (b
, (v
->values
));
255 itemLen
+= BEncConsLen (b
, itemLen
);
256 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 6);
261 if (NOT_NULL ((v
->constraint
)))
264 itemLen
= BEncTBLRangeContent (b
, (v
->constraint
));
265 itemLen
+= BEncConsLen (b
, itemLen
);
266 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 5);
271 if (ASNOCTS_PRESENT ((&v
->fieldName
)))
273 itemLen
= BEncPrintableStringContent (b
, (&v
->fieldName
));
274 itemLen
+= BEncDefLen (b
, itemLen
);
275 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 4);
281 itemLen
= BEncTBLTypeContentContent (b
, (v
->content
));
282 itemLen
+= BEncConsLen (b
, itemLen
);
283 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 3);
287 if (NOT_NULL ((v
->tagList
)))
290 itemLen
= BEncTBLTypeSeqOfContent (b
, (v
->tagList
));
291 itemLen
+= BEncConsLen (b
, itemLen
);
292 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 2);
297 itemLen
= BEncAsnBoolContent (b
, (&v
->optional
));
298 BEncDefLenTo127 (b
, itemLen
);
300 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 1);
304 itemLen
= BEncTBLTypeIdContent (b
, (&v
->typeId
));
305 BEncDefLenTo127 (b
, itemLen
);
307 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 0);
313 } /* BEncTBLTypeContent */
319 BEncTBLTypeContentContent
PARAMS ((b
, v
),
330 case TBLTYPECONTENT_PRIMTYPE
:
331 itemLen
= BEncAsnNullContent (b
, (&v
->a
.primType
));
332 BEncDefLenTo127 (b
, itemLen
);
334 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 0);
340 case TBLTYPECONTENT_ELMTS
:
342 itemLen
= BEncTBLTypeContentSeqOfContent (b
, (v
->a
.elmts
));
343 itemLen
+= BEncConsLen (b
, itemLen
);
344 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 1);
350 case TBLTYPECONTENT_TYPEREF
:
352 itemLen
= BEncTBLTypeRefContent (b
, (v
->a
.typeRef
));
353 itemLen
+= BEncConsLen (b
, itemLen
);
354 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 2);
363 } /* BEncTBLTypeContentContent */
369 BEncTBLTypeDefContent
PARAMS ((b
, v
),
378 if (NOT_NULL ((v
->isPdu
)))
380 itemLen
= BEncAsnNullContent (b
, (v
->isPdu
));
381 BEncDefLenTo127 (b
, itemLen
);
383 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 5);
389 itemLen
= BEncTBLTypeContent (b
, (v
->type
));
390 itemLen
+= BEncConsLen (b
, itemLen
);
391 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
395 itemLen
= BEncPrintableStringContent (b
, (&v
->typeName
));
396 itemLen
+= BEncDefLen (b
, itemLen
);
397 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 19);
401 itemLen
= BEncTBLTypeDefIdContent (b
, (&v
->typeDefId
));
402 BEncDefLenTo127 (b
, itemLen
);
404 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
410 } /* BEncTBLTypeDefContent */
416 BEncTBLModuleSeqOfContent
PARAMS ((b
, v
),
426 FOR_EACH_LIST_ELMT_RVS (component
, v
)
429 itemLen
= BEncTBLTypeDefContent (b
, component
);
430 itemLen
+= BEncConsLen (b
, itemLen
);
431 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
437 } /* BEncTBLModuleSeqOfContent */
443 BEncTBLModuleContent
PARAMS ((b
, v
),
453 itemLen
= BEncTBLModuleSeqOfContent (b
, (v
->typeDefs
));
454 itemLen
+= BEncConsLen (b
, itemLen
);
455 itemLen
+= BEncTag1 (b
, CNTX
, CONS
, 3);
459 itemLen
= BEncAsnBoolContent (b
, (&v
->isUseful
));
460 BEncDefLenTo127 (b
, itemLen
);
462 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 2);
466 if (ASNOID_PRESENT ((&v
->id
)))
468 itemLen
= BEncAsnOidContent (b
, (&v
->id
));
469 itemLen
+= BEncDefLen (b
, itemLen
);
470 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 1);
475 itemLen
= BEncPrintableStringContent (b
, (&v
->name
));
476 itemLen
+= BEncDefLen (b
, itemLen
);
477 itemLen
+= BEncTag1 (b
, CNTX
, PRIM
, 0);
483 } /* BEncTBLModuleContent */
489 BEncTBLSeqOfContent
PARAMS ((b
, v
),
499 FOR_EACH_LIST_ELMT_RVS (component
, v
)
502 itemLen
= BEncTBLModuleContent (b
, component
);
503 itemLen
+= BEncConsLen (b
, itemLen
);
504 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
510 } /* BEncTBLSeqOfContent */
515 AsnLen BEncTBL
PARAMS ((b
, v
),
521 l
= BEncTBLContent (b
, v
);
522 l
+= BEncConsLen (b
, l
);
523 l
+= BEncTag1 (b
, UNIV
, CONS
, SEQ_TAG_CODE
);
528 BEncTBLContent
PARAMS ((b
, v
),
538 itemLen
= BEncTBLSeqOfContent (b
, (v
->modules
));
539 itemLen
+= BEncConsLen (b
, itemLen
);
540 itemLen
+= BEncTag1 (b
, UNIV
, CONS
, 16);
544 itemLen
= BEncAsnIntContent (b
, (&v
->totalLenStrings
));
545 BEncDefLenTo127 (b
, itemLen
);
547 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
551 itemLen
= BEncAsnIntContent (b
, (&v
->totalNumStrings
));
552 BEncDefLenTo127 (b
, itemLen
);
554 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
558 itemLen
= BEncAsnIntContent (b
, (&v
->totalNumTags
));
559 BEncDefLenTo127 (b
, itemLen
);
561 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
565 itemLen
= BEncAsnIntContent (b
, (&v
->totalNumTypes
));
566 BEncDefLenTo127 (b
, itemLen
);
568 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
572 itemLen
= BEncAsnIntContent (b
, (&v
->totalNumTypeDefs
));
573 BEncDefLenTo127 (b
, itemLen
);
575 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
579 itemLen
= BEncAsnIntContent (b
, (&v
->totalNumModules
));
580 BEncDefLenTo127 (b
, itemLen
);
582 itemLen
+= BEncTag1 (b
, UNIV
, PRIM
, 2);
588 } /* BEncTBLContent */