/* * tbl.c * * "TBL" ASN.1 module encode/decode/print/free C src. * * This file was generated by snacc on Tue Jun 19 16:55:23 2001 * * UBC snacc written by Mike Sample * * NOTE: This is a machine generated file - editing not recommended */ #include "asn-incl.h" #include "tbl.h" AsnLen BEncTBLRangeContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLRange *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; itemLen = BEncAsnIntContent (b, (&v->to)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 1); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->from)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 0); totalLen += itemLen; return totalLen; } /* BEncTBLRangeContent */ AsnLen BEncTBLNamedNumberContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLNamedNumber *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; itemLen = BEncAsnIntContent (b, (&v->value)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 1); totalLen += itemLen; itemLen = BEncPrintableStringContent (b, (&v->name)); itemLen += BEncDefLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, PRIM, 0); totalLen += itemLen; return totalLen; } /* BEncTBLNamedNumberContent */ AsnLen BEncTBLNamedNumberListContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLNamedNumberList *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; listLen = 0; FOR_EACH_LIST_ELMT_RVS (component, v) { BEncEocIfNec (b); itemLen = BEncTBLNamedNumberContent (b, component); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); listLen += itemLen; } return listLen; } /* BEncTBLNamedNumberListContent */ AsnLen BEncTBLTypeRefContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLTypeRef *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; itemLen = BEncAsnBoolContent (b, (&v->implicit)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 1); totalLen += itemLen; itemLen = BEncTBLTypeDefIdContent (b, (&v->typeDef)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; return totalLen; } /* BEncTBLTypeRefContent */ AsnLen BEncTBLTagContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLTag *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; itemLen = BEncAsnIntContent (b, (&v->code)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; itemLen = BEncTBLTagClassContent (b, (&v->tclass)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 10); totalLen += itemLen; return totalLen; } /* BEncTBLTagContent */ AsnLen BEncTBLTypeSeqOfContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLTypeSeqOf *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; listLen = 0; FOR_EACH_LIST_ELMT_RVS (component, v) { BEncEocIfNec (b); itemLen = BEncTBLTagContent (b, component); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); listLen += itemLen; } return listLen; } /* BEncTBLTypeSeqOfContent */ AsnLen BEncTBLTypeContentSeqOfContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLTypeContentSeqOf *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; listLen = 0; FOR_EACH_LIST_ELMT_RVS (component, v) { BEncEocIfNec (b); itemLen = BEncTBLTypeContent (b, component); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); listLen += itemLen; } return listLen; } /* BEncTBLTypeContentSeqOfContent */ AsnLen BEncTBLTypeContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLType *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; if (NOT_NULL ((v->values))) { BEncEocIfNec (b); itemLen = BEncTBLNamedNumberListContent (b, (v->values)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 6); totalLen += itemLen; } if (NOT_NULL ((v->constraint))) { BEncEocIfNec (b); itemLen = BEncTBLRangeContent (b, (v->constraint)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 5); totalLen += itemLen; } if (ASNOCTS_PRESENT ((&v->fieldName))) { itemLen = BEncPrintableStringContent (b, (&v->fieldName)); itemLen += BEncDefLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, PRIM, 4); totalLen += itemLen; } BEncEocIfNec (b); itemLen = BEncTBLTypeContentContent (b, (v->content)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 3); totalLen += itemLen; if (NOT_NULL ((v->tagList))) { BEncEocIfNec (b); itemLen = BEncTBLTypeSeqOfContent (b, (v->tagList)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 2); totalLen += itemLen; } itemLen = BEncAsnBoolContent (b, (&v->optional)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 1); totalLen += itemLen; itemLen = BEncTBLTypeIdContent (b, (&v->typeId)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 0); totalLen += itemLen; return totalLen; } /* BEncTBLTypeContent */ AsnLen BEncTBLTypeContentContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLTypeContent *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; switch (v->choiceId) { case TBLTYPECONTENT_PRIMTYPE: itemLen = BEncAsnNullContent (b, (&v->a.primType)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 0); totalLen += itemLen; break; case TBLTYPECONTENT_ELMTS: BEncEocIfNec (b); itemLen = BEncTBLTypeContentSeqOfContent (b, (v->a.elmts)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 1); totalLen += itemLen; break; case TBLTYPECONTENT_TYPEREF: BEncEocIfNec (b); itemLen = BEncTBLTypeRefContent (b, (v->a.typeRef)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 2); totalLen += itemLen; break; } return totalLen; } /* BEncTBLTypeContentContent */ AsnLen BEncTBLTypeDefContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLTypeDef *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; if (NOT_NULL ((v->isPdu))) { itemLen = BEncAsnNullContent (b, (v->isPdu)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 5); totalLen += itemLen; } BEncEocIfNec (b); itemLen = BEncTBLTypeContent (b, (v->type)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); totalLen += itemLen; itemLen = BEncPrintableStringContent (b, (&v->typeName)); itemLen += BEncDefLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, PRIM, 19); totalLen += itemLen; itemLen = BEncTBLTypeDefIdContent (b, (&v->typeDefId)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; return totalLen; } /* BEncTBLTypeDefContent */ AsnLen BEncTBLModuleSeqOfContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLModuleSeqOf *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; listLen = 0; FOR_EACH_LIST_ELMT_RVS (component, v) { BEncEocIfNec (b); itemLen = BEncTBLTypeDefContent (b, component); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); listLen += itemLen; } return listLen; } /* BEncTBLModuleSeqOfContent */ AsnLen BEncTBLModuleContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLModule *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; BEncEocIfNec (b); itemLen = BEncTBLModuleSeqOfContent (b, (v->typeDefs)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, CONS, 3); totalLen += itemLen; itemLen = BEncAsnBoolContent (b, (&v->isUseful)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, CNTX, PRIM, 2); totalLen += itemLen; if (ASNOID_PRESENT ((&v->id))) { itemLen = BEncAsnOidContent (b, (&v->id)); itemLen += BEncDefLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, PRIM, 1); totalLen += itemLen; } itemLen = BEncPrintableStringContent (b, (&v->name)); itemLen += BEncDefLen (b, itemLen); itemLen += BEncTag1 (b, CNTX, PRIM, 0); totalLen += itemLen; return totalLen; } /* BEncTBLModuleContent */ AsnLen BEncTBLSeqOfContent PARAMS ((b, v), BUF_TYPE b _AND_ TBLSeqOf *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; listLen = 0; FOR_EACH_LIST_ELMT_RVS (component, v) { BEncEocIfNec (b); itemLen = BEncTBLModuleContent (b, component); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); listLen += itemLen; } return listLen; } /* BEncTBLSeqOfContent */ AsnLen BEncTBL PARAMS ((b, v), BUF_TYPE b _AND_ TBL *v) { AsnLen l; BEncEocIfNec (b); l = BEncTBLContent (b, v); l += BEncConsLen (b, l); l += BEncTag1 (b, UNIV, CONS, SEQ_TAG_CODE); return l; } /* BEncTBL */ AsnLen BEncTBLContent PARAMS ((b, v), BUF_TYPE b _AND_ TBL *v) { AsnLen totalLen = 0; AsnLen itemLen; AsnLen listLen; void *component; BEncEocIfNec (b); itemLen = BEncTBLSeqOfContent (b, (v->modules)); itemLen += BEncConsLen (b, itemLen); itemLen += BEncTag1 (b, UNIV, CONS, 16); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->totalLenStrings)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->totalNumStrings)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->totalNumTags)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->totalNumTypes)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->totalNumTypeDefs)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; itemLen = BEncAsnIntContent (b, (&v->totalNumModules)); BEncDefLenTo127 (b, itemLen); itemLen++; itemLen += BEncTag1 (b, UNIV, PRIM, 2); totalLen += itemLen; return totalLen; } /* BEncTBLContent */