4 * "TBL" ASN.1 module C type definitions and prototypes
6 * This .h file was generated by snacc on Tue Mar 19 07:24:47 2002
8 * UBC snacc written compiler by Mike Sample
10 * NOTE: This is a machine generated file--editing not recommended
36 } TBLTypeId
; /* ENUMERATED { TBL_BOOLEAN (0), TBL_INTEGER (1), TBL_BITSTRING (2), TBL_OCTETSTRING (3), TBL_NULL (4), TBL_OID (5), TBL_REAL (6), TBL_ENUMERATED (7), TBL_SEQUENCE (8), TBL_SET (9), TBL_SEQUENCEOF (10), TBL_SETOF (11), TBL_CHOICE (12), TBL_TYPEREF (13) } */
38 #define BEncTBLTypeIdContent BEncAsnEnumContent
40 #define BDecTBLTypeIdContent BDecAsnEnumContent
42 #define PrintTBLTypeId PrintAsnEnum
44 #define FreeTBLTypeId FreeAsnEnum
49 typedef AsnInt TBLTypeDefId
; /* INTEGER */
51 #define BEncTBLTypeDefIdContent BEncAsnIntContent
53 #define BDecTBLTypeDefIdContent BDecAsnIntContent
55 #define PrintTBLTypeDefId PrintAsnInt
57 #define FreeTBLTypeDefId FreeAsnInt
68 } TBLTagClass
; /* ENUMERATED { UNIVERSAL (0), APPLICATION (1), CONTEXT (2), PRIVATE (3) } */
70 #define BEncTBLTagClassContent BEncAsnEnumContent
72 #define BDecTBLTagClassContent BDecAsnEnumContent
74 #define PrintTBLTagClass PrintAsnEnum
76 #define FreeTBLTagClass FreeAsnEnum
81 typedef struct TBLRange
/* SEQUENCE */
83 AsnInt from
; /* [0] IMPLICIT INTEGER */
84 AsnInt to
; /* [1] IMPLICIT INTEGER */
87 AsnLen BEncTBLRangeContent
PROTO ((BUF_TYPE b
, TBLRange
*v
));
89 void BDecTBLRangeContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLRange
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
92 void PrintTBLRange
PROTO ((FILE* f
, TBLRange
*v
, unsigned short int indent
));
93 void FreeTBLRange
PROTO ((TBLRange
*v
));
99 typedef struct TBLNamedNumber
/* SEQUENCE */
101 PrintableString name
; /* [0] IMPLICIT PrintableString */
102 AsnInt value
; /* [1] IMPLICIT INTEGER */
105 AsnLen BEncTBLNamedNumberContent
PROTO ((BUF_TYPE b
, TBLNamedNumber
*v
));
107 void BDecTBLNamedNumberContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLNamedNumber
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
110 void PrintTBLNamedNumber
PROTO ((FILE* f
, TBLNamedNumber
*v
, unsigned short int indent
));
111 void FreeTBLNamedNumber
PROTO ((TBLNamedNumber
*v
));
117 typedef AsnList TBLNamedNumberList
; /* SEQUENCE OF TBLNamedNumber */
119 AsnLen BEncTBLNamedNumberListContent
PROTO ((BUF_TYPE b
, TBLNamedNumberList
*v
));
121 void BDecTBLNamedNumberListContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLNamedNumberList
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
124 void PrintTBLNamedNumberList
PROTO ((FILE* f
, TBLNamedNumberList
*v
, unsigned short int indent
));
125 void FreeTBLNamedNumberList
PROTO ((TBLNamedNumberList
*v
));
131 typedef struct TBLTypeRef
/* SEQUENCE */
133 TBLTypeDefId typeDef
; /* TBLTypeDefId */
134 AsnBool implicit
; /* BOOLEAN */
135 struct TBLTypeDef
*typeDefPtr
; /* Added by MS to hold resolved index */
138 AsnLen BEncTBLTypeRefContent
PROTO ((BUF_TYPE b
, TBLTypeRef
*v
));
140 void BDecTBLTypeRefContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLTypeRef
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
143 void PrintTBLTypeRef
PROTO ((FILE* f
, TBLTypeRef
*v
, unsigned short int indent
));
144 void FreeTBLTypeRef
PROTO ((TBLTypeRef
*v
));
150 typedef struct TBLTag
/* SEQUENCE */
152 TBLTagClass tclass
; /* TBLTagClass */
153 AsnInt code
; /* INTEGER (0..MAX) */
154 BER_FORM form
; /* added by MS to simplify enc/dec */
155 AsnTag encTag
; /* added by MS to simplify enc/dec */
158 AsnLen BEncTBLTagContent
PROTO ((BUF_TYPE b
, TBLTag
*v
));
160 void BDecTBLTagContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLTag
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
163 void PrintTBLTag
PROTO ((FILE* f
, TBLTag
*v
, unsigned short int indent
));
164 void FreeTBLTag
PROTO ((TBLTag
*v
));
170 typedef AsnList TBLTypeSeqOf
; /* SEQUENCE OF TBLTag */
172 AsnLen BEncTBLTypeSeqOfContent
PROTO ((BUF_TYPE b
, TBLTypeSeqOf
*v
));
174 void BDecTBLTypeSeqOfContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLTypeSeqOf
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
177 void PrintTBLTypeSeqOf
PROTO ((FILE* f
, TBLTypeSeqOf
*v
, unsigned short int indent
));
178 void FreeTBLTypeSeqOf
PROTO ((TBLTypeSeqOf
*v
));
184 typedef AsnList TBLTypeContentSeqOf
; /* SEQUENCE OF TBLType */
186 AsnLen BEncTBLTypeContentSeqOfContent
PROTO ((BUF_TYPE b
, TBLTypeContentSeqOf
*v
));
188 void BDecTBLTypeContentSeqOfContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLTypeContentSeqOf
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
191 void PrintTBLTypeContentSeqOf
PROTO ((FILE* f
, TBLTypeContentSeqOf
*v
, unsigned short int indent
));
192 void FreeTBLTypeContentSeqOf
PROTO ((TBLTypeContentSeqOf
*v
));
198 typedef struct TBLType
/* SEQUENCE */
200 TBLTypeId typeId
; /* [0] IMPLICIT TBLTypeId */
201 AsnBool optional
; /* [1] IMPLICIT BOOLEAN */
202 TBLTypeSeqOf
* tagList
; /* [2] IMPLICIT TBLTypeSeqOf OPTIONAL */
203 struct TBLTypeContent
* content
; /* [3] TBLTypeContent */
204 PrintableString fieldName
; /* [4] IMPLICIT PrintableString OPTIONAL */
205 struct TBLRange
* constraint
; /* [5] IMPLICIT TBLRange OPTIONAL */
206 TBLNamedNumberList
* values
; /* [6] IMPLICIT TBLNamedNumberList OPTIONAL */
209 AsnLen BEncTBLTypeContent
PROTO ((BUF_TYPE b
, TBLType
*v
));
211 void BDecTBLTypeContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLType
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
214 void PrintTBLType
PROTO ((FILE* f
, TBLType
*v
, unsigned short int indent
));
215 void FreeTBLType
PROTO ((TBLType
*v
));
221 typedef struct TBLTypeContent
/* CHOICE */
223 enum TBLTypeContentChoiceId
225 TBLTYPECONTENT_PRIMTYPE
,
226 TBLTYPECONTENT_ELMTS
,
227 TBLTYPECONTENT_TYPEREF
229 union TBLTypeContentChoiceUnion
231 AsnNull primType
; /* [0] IMPLICIT NULL */
232 TBLTypeContentSeqOf
* elmts
; /* [1] IMPLICIT TBLTypeContentSeqOf */
233 struct TBLTypeRef
* typeRef
; /* [2] IMPLICIT TBLTypeRef */
237 AsnLen BEncTBLTypeContentContent
PROTO ((BUF_TYPE b
, TBLTypeContent
*v
));
239 void BDecTBLTypeContentContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLTypeContent
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
242 void PrintTBLTypeContent
PROTO ((FILE* f
, TBLTypeContent
*v
, unsigned short int indent
));
243 void FreeTBLTypeContent
PROTO ((TBLTypeContent
*v
));
249 typedef struct TBLTypeDef
/* SEQUENCE */
251 TBLTypeDefId typeDefId
; /* TBLTypeDefId */
252 PrintableString typeName
; /* PrintableString */
253 struct TBLType
* type
; /* TBLType */
254 AsnNull
* isPdu
; /* NULL OPTIONAL */
257 AsnLen BEncTBLTypeDefContent
PROTO ((BUF_TYPE b
, TBLTypeDef
*v
));
259 void BDecTBLTypeDefContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLTypeDef
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
262 void PrintTBLTypeDef
PROTO ((FILE* f
, TBLTypeDef
*v
, unsigned short int indent
));
263 void FreeTBLTypeDef
PROTO ((TBLTypeDef
*v
));
269 typedef AsnList TBLModuleSeqOf
; /* SEQUENCE OF TBLTypeDef */
271 AsnLen BEncTBLModuleSeqOfContent
PROTO ((BUF_TYPE b
, TBLModuleSeqOf
*v
));
273 void BDecTBLModuleSeqOfContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLModuleSeqOf
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
276 void PrintTBLModuleSeqOf
PROTO ((FILE* f
, TBLModuleSeqOf
*v
, unsigned short int indent
));
277 void FreeTBLModuleSeqOf
PROTO ((TBLModuleSeqOf
*v
));
283 typedef struct TBLModule
/* SEQUENCE */
285 PrintableString name
; /* [0] IMPLICIT PrintableString */
286 AsnOid id
; /* [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL */
287 AsnBool isUseful
; /* [2] IMPLICIT BOOLEAN */
288 TBLModuleSeqOf
* typeDefs
; /* [3] IMPLICIT TBLModuleSeqOf */
291 AsnLen BEncTBLModuleContent
PROTO ((BUF_TYPE b
, TBLModule
*v
));
293 void BDecTBLModuleContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLModule
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
296 void PrintTBLModule
PROTO ((FILE* f
, TBLModule
*v
, unsigned short int indent
));
297 void FreeTBLModule
PROTO ((TBLModule
*v
));
303 typedef AsnList TBLSeqOf
; /* SEQUENCE OF TBLModule */
305 AsnLen BEncTBLSeqOfContent
PROTO ((BUF_TYPE b
, TBLSeqOf
*v
));
307 void BDecTBLSeqOfContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBLSeqOf
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
310 void PrintTBLSeqOf
PROTO ((FILE* f
, TBLSeqOf
*v
, unsigned short int indent
));
311 void FreeTBLSeqOf
PROTO ((TBLSeqOf
*v
));
317 typedef struct TBL
/* SEQUENCE */
319 AsnInt totalNumModules
; /* INTEGER */
320 AsnInt totalNumTypeDefs
; /* INTEGER */
321 AsnInt totalNumTypes
; /* INTEGER */
322 AsnInt totalNumTags
; /* INTEGER */
323 AsnInt totalNumStrings
; /* INTEGER */
324 AsnInt totalLenStrings
; /* INTEGER */
325 TBLSeqOf
* modules
; /* TBLSeqOf */
328 AsnLen BEncTBL
PROTO ((BUF_TYPE b
, TBL
*v
));
330 void BDecTBL
PROTO ((BUF_TYPE b
, TBL
*result
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
331 AsnLen BEncTBLContent
PROTO ((BUF_TYPE b
, TBL
*v
));
333 void BDecTBLContent
PROTO ((BUF_TYPE b
, AsnTag tagId0
, AsnLen elmtLen0
, TBL
*v
, AsnLen
*bytesDecoded
, ENV_TYPE env
));
336 void PrintTBL
PROTO ((FILE* f
, TBL
*v
, unsigned short int indent
));
337 void FreeTBL
PROTO ((TBL
*v
));
344 #endif /* conditional include of tbl.h */