diff options
author | Lev Walkin <vlm@lionet.info> | 2005-03-04 22:18:20 +0000 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2005-03-04 22:18:20 +0000 |
commit | c8285715f6fb4dac3de7cbec68dd1aa746a34a86 (patch) | |
tree | 49e633888e3612b2f3d233bd1080a4c149961020 /tests | |
parent | e0272aa038981be314258fb337cb5b69cf4b2c56 (diff) |
support for a class of circular references
Diffstat (limited to 'tests')
-rw-r--r-- | tests/19-param-OK.asn1.-P | 34 | ||||
-rw-r--r-- | tests/30-set-OK.asn1.-P | 6 | ||||
-rw-r--r-- | tests/31-set-of-OK.asn1.-P | 42 | ||||
-rw-r--r-- | tests/32-sequence-of-OK.asn1.-P | 41 | ||||
-rw-r--r-- | tests/39-sequence-of-OK.asn1.-P | 25 | ||||
-rw-r--r-- | tests/42-real-life-OK.asn1.-PR | 41 | ||||
-rw-r--r-- | tests/43-recursion-OK.asn1.-P | 52 | ||||
-rw-r--r-- | tests/44-choice-in-sequence-OK.asn1.-P | 6 | ||||
-rw-r--r-- | tests/46-redefine-OK.asn1.-PR | 11 | ||||
-rw-r--r-- | tests/47-set-ext-OK.asn1.-P | 24 | ||||
-rw-r--r-- | tests/50-constraint-OK.asn1.-P | 24 | ||||
-rw-r--r-- | tests/59-choice-extended-OK.asn1.-P | 8 | ||||
-rw-r--r-- | tests/60-any-OK.asn1.-P | 18 | ||||
-rw-r--r-- | tests/65-multi-tag-OK.asn1.-P | 16 | ||||
-rw-r--r-- | tests/65-multi-tag-OK.asn1.-Pfnative-types | 16 | ||||
-rw-r--r-- | tests/66-ref-simple-OK.asn1.-P | 12 | ||||
-rw-r--r-- | tests/69-reserved-words-OK.asn1.-P | 6 | ||||
-rw-r--r-- | tests/70-xer-test-OK.asn1.-P | 80 | ||||
-rw-r--r-- | tests/72-same-names-OK.asn1.-P | 21 | ||||
-rw-r--r-- | tests/73-circular-OK.asn1 | 31 | ||||
-rw-r--r-- | tests/73-circular-OK.asn1.-P | 357 |
21 files changed, 654 insertions, 217 deletions
diff --git a/tests/19-param-OK.asn1.-P b/tests/19-param-OK.asn1.-P index 61038126..868d595d 100644 --- a/tests/19-param-OK.asn1.-P +++ b/tests/19-param-OK.asn1.-P @@ -7,13 +7,8 @@ #include <Name.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [Certificate] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Certificate; - /*** <<< TYPE-DECLS [Certificate] >>> ***/ - typedef struct Certificate { struct toBeSigned { INTEGER_t version; @@ -30,6 +25,10 @@ typedef struct Certificate { asn_struct_ctx_t _asn_ctx; } Certificate_t; +/*** <<< FUNC-DECLS [Certificate] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Certificate; + /*** <<< CODE [Certificate] >>> ***/ static int @@ -192,24 +191,30 @@ asn_TYPE_descriptor_t asn_DEF_Certificate = { /*** <<< INCLUDES [Name] >>> ***/ -#include <RelativeDistinguishedName.h> #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> -/*** <<< DEPS [Name] >>> ***/ +/*** <<< FWD-DECLS [Name] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_Name; +struct RelativeDistinguishedName; /* Forward declaration */ /*** <<< TYPE-DECLS [Name] >>> ***/ - typedef struct Name { - A_SEQUENCE_OF(RelativeDistinguishedName_t) list; + A_SEQUENCE_OF(struct RelativeDistinguishedName) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } Name_t; +/*** <<< FUNC-DECLS [Name] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Name; + +/*** <<< POST-INCLUDE [Name] >>> ***/ + +#include <RelativeDistinguishedName.h> + /*** <<< STAT-DEFS [Name] >>> ***/ static asn_TYPE_member_t asn_MBR_Name_1[] = { @@ -258,13 +263,8 @@ asn_TYPE_descriptor_t asn_DEF_Name = { #include <asn_SET_OF.h> #include <constr_SET_OF.h> -/*** <<< DEPS [RelativeDistinguishedName] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName; - /*** <<< TYPE-DECLS [RelativeDistinguishedName] >>> ***/ - typedef struct RelativeDistinguishedName { A_SET_OF(IA5String_t) list; @@ -272,6 +272,10 @@ typedef struct RelativeDistinguishedName { asn_struct_ctx_t _asn_ctx; } RelativeDistinguishedName_t; +/*** <<< FUNC-DECLS [RelativeDistinguishedName] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName; + /*** <<< CTABLES [RelativeDistinguishedName] >>> ***/ static int permitted_alphabet_table_1[256] = { diff --git a/tests/30-set-OK.asn1.-P b/tests/30-set-OK.asn1.-P index 849e9a95..129ef3d8 100644 --- a/tests/30-set-OK.asn1.-P +++ b/tests/30-set-OK.asn1.-P @@ -17,11 +17,9 @@ typedef enum T_PR { T_PR_s, /* Member s is present */ T_PR_b, /* Member b is present */ } T_PR; -extern asn_TYPE_descriptor_t asn_DEF_T; /*** <<< TYPE-DECLS [T] >>> ***/ - typedef struct T { INTEGER_t i; IA5String_t s; @@ -39,6 +37,10 @@ typedef struct T { asn_struct_ctx_t _asn_ctx; } T_t; +/*** <<< FUNC-DECLS [T] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T; + /*** <<< STAT-DEFS [T] >>> ***/ static asn_TYPE_member_t asn_MBR_T_1[] = { diff --git a/tests/31-set-of-OK.asn1.-P b/tests/31-set-of-OK.asn1.-P index 2bd3b125..b1bdd78a 100644 --- a/tests/31-set-of-OK.asn1.-P +++ b/tests/31-set-of-OK.asn1.-P @@ -1,24 +1,30 @@ /*** <<< INCLUDES [Forest] >>> ***/ -#include <Tree.h> #include <asn_SET_OF.h> #include <constr_SET_OF.h> -/*** <<< DEPS [Forest] >>> ***/ +/*** <<< FWD-DECLS [Forest] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_Forest; +struct Tree; /* Forward declaration */ /*** <<< TYPE-DECLS [Forest] >>> ***/ - typedef struct Forest { - A_SET_OF(Tree_t) list; + A_SET_OF(struct Tree) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } Forest_t; +/*** <<< FUNC-DECLS [Forest] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Forest; + +/*** <<< POST-INCLUDE [Forest] >>> ***/ + +#include <Tree.h> + /*** <<< STAT-DEFS [Forest] >>> ***/ static asn_TYPE_member_t asn_MBR_Forest_1[] = { @@ -66,13 +72,8 @@ asn_TYPE_descriptor_t asn_DEF_Forest = { #include <INTEGER.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [Tree] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Tree; - /*** <<< TYPE-DECLS [Tree] >>> ***/ - typedef struct Tree { INTEGER_t height; INTEGER_t width; @@ -81,6 +82,10 @@ typedef struct Tree { asn_struct_ctx_t _asn_ctx; } Tree_t; +/*** <<< FUNC-DECLS [Tree] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Tree; + /*** <<< STAT-DEFS [Tree] >>> ***/ static asn_TYPE_member_t asn_MBR_Tree_1[] = { @@ -139,7 +144,6 @@ asn_TYPE_descriptor_t asn_DEF_Tree = { /*** <<< INCLUDES [Stuff] >>> ***/ -#include <Forest.h> #include <asn_SET_OF.h> #include <constr_SET_OF.h> #include <BIT_STRING.h> @@ -164,14 +168,16 @@ typedef enum other_PR { other_PR_a, other_PR_b, } other_PR; -extern asn_TYPE_descriptor_t asn_DEF_Stuff; -/*** <<< TYPE-DECLS [Stuff] >>> ***/ +/*** <<< FWD-DECLS [Stuff] >>> ***/ + +struct Forest; /* Forward declaration */ +/*** <<< TYPE-DECLS [Stuff] >>> ***/ typedef struct Stuff { struct trees { - A_SET_OF(Forest_t) list; + A_SET_OF(struct Forest) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; @@ -214,6 +220,14 @@ typedef struct Stuff { asn_struct_ctx_t _asn_ctx; } Stuff_t; +/*** <<< FUNC-DECLS [Stuff] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Stuff; + +/*** <<< POST-INCLUDE [Stuff] >>> ***/ + +#include <Forest.h> + /*** <<< STAT-DEFS [Stuff] >>> ***/ static asn_TYPE_member_t asn_MBR_trees_2[] = { diff --git a/tests/32-sequence-of-OK.asn1.-P b/tests/32-sequence-of-OK.asn1.-P index 1a579deb..0c77d8b8 100644 --- a/tests/32-sequence-of-OK.asn1.-P +++ b/tests/32-sequence-of-OK.asn1.-P @@ -1,24 +1,30 @@ /*** <<< INCLUDES [Programming] >>> ***/ -#include <Fault.h> #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> -/*** <<< DEPS [Programming] >>> ***/ +/*** <<< FWD-DECLS [Programming] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_Programming; +struct Fault; /* Forward declaration */ /*** <<< TYPE-DECLS [Programming] >>> ***/ - typedef struct Programming { - A_SEQUENCE_OF(Fault_t) list; + A_SEQUENCE_OF(struct Fault) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } Programming_t; +/*** <<< FUNC-DECLS [Programming] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Programming; + +/*** <<< POST-INCLUDE [Programming] >>> ***/ + +#include <Fault.h> + /*** <<< STAT-DEFS [Programming] >>> ***/ static asn_TYPE_member_t asn_MBR_Programming_1[] = { @@ -63,24 +69,30 @@ asn_TYPE_descriptor_t asn_DEF_Programming = { /*** <<< INCLUDES [Fault] >>> ***/ -#include <Error.h> #include <asn_SET_OF.h> #include <constr_SET_OF.h> -/*** <<< DEPS [Fault] >>> ***/ +/*** <<< FWD-DECLS [Fault] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_Fault; +struct Error; /* Forward declaration */ /*** <<< TYPE-DECLS [Fault] >>> ***/ - typedef struct Fault { - A_SET_OF(Error_t) list; + A_SET_OF(struct Error) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } Fault_t; +/*** <<< FUNC-DECLS [Fault] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Fault; + +/*** <<< POST-INCLUDE [Fault] >>> ***/ + +#include <Error.h> + /*** <<< STAT-DEFS [Fault] >>> ***/ static asn_TYPE_member_t asn_MBR_Fault_1[] = { @@ -127,13 +139,8 @@ asn_TYPE_descriptor_t asn_DEF_Fault = { #include <constr_SEQUENCE.h> -/*** <<< DEPS [Error] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Error; - /*** <<< TYPE-DECLS [Error] >>> ***/ - typedef struct Error { /* * This type is extensible, @@ -144,6 +151,10 @@ typedef struct Error { asn_struct_ctx_t _asn_ctx; } Error_t; +/*** <<< FUNC-DECLS [Error] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Error; + /*** <<< STAT-DEFS [Error] >>> ***/ static ber_tlv_tag_t asn_DEF_Error_1_tags[] = { diff --git a/tests/39-sequence-of-OK.asn1.-P b/tests/39-sequence-of-OK.asn1.-P index 351e01ba..f564b2ee 100644 --- a/tests/39-sequence-of-OK.asn1.-P +++ b/tests/39-sequence-of-OK.asn1.-P @@ -2,22 +2,20 @@ /*** <<< INCLUDES [T] >>> ***/ #include <INTEGER.h> -#include <T2.h> #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [T] >>> ***/ +/*** <<< FWD-DECLS [T] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_T; +struct T2; /* Forward declaration */ /*** <<< TYPE-DECLS [T] >>> ***/ - typedef struct T { INTEGER_t Int; struct collection { - A_SEQUENCE_OF(T2_t) list; + A_SEQUENCE_OF(struct T2) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; @@ -27,6 +25,14 @@ typedef struct T { asn_struct_ctx_t _asn_ctx; } T_t; +/*** <<< FUNC-DECLS [T] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T; + +/*** <<< POST-INCLUDE [T] >>> ***/ + +#include <T2.h> + /*** <<< STAT-DEFS [T] >>> ***/ static asn_TYPE_member_t asn_MBR_collection_2[] = { @@ -129,13 +135,8 @@ asn_TYPE_descriptor_t asn_DEF_T = { #include <UTF8String.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; - /*** <<< TYPE-DECLS [T2] >>> ***/ - typedef struct T2 { BOOLEAN_t flag; UTF8String_t str; @@ -144,6 +145,10 @@ typedef struct T2 { asn_struct_ctx_t _asn_ctx; } T2_t; +/*** <<< FUNC-DECLS [T2] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T2; + /*** <<< STAT-DEFS [T2] >>> ***/ static asn_TYPE_member_t asn_MBR_T2_1[] = { diff --git a/tests/42-real-life-OK.asn1.-PR b/tests/42-real-life-OK.asn1.-PR index 6394912e..7dfb845b 100644 --- a/tests/42-real-life-OK.asn1.-PR +++ b/tests/42-real-life-OK.asn1.-PR @@ -2,22 +2,20 @@ /*** <<< INCLUDES [LogLine] >>> ***/ #include <IA5String.h> -#include <VariablePartSet.h> #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [LogLine] >>> ***/ +/*** <<< FWD-DECLS [LogLine] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_LogLine; +struct VariablePartSet; /* Forward declaration */ /*** <<< TYPE-DECLS [LogLine] >>> ***/ - typedef struct LogLine { IA5String_t line_digest; struct varsets { - A_SEQUENCE_OF(VariablePartSet_t) list; + A_SEQUENCE_OF(struct VariablePartSet) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; @@ -31,6 +29,14 @@ typedef struct LogLine { asn_struct_ctx_t _asn_ctx; } LogLine_t; +/*** <<< FUNC-DECLS [LogLine] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_LogLine; + +/*** <<< POST-INCLUDE [LogLine] >>> ***/ + +#include <VariablePartSet.h> + /*** <<< CODE [LogLine] >>> ***/ static int @@ -162,21 +168,19 @@ asn_TYPE_descriptor_t asn_DEF_LogLine = { /*** <<< INCLUDES [VariablePartSet] >>> ***/ #include <ActionItem.h> -#include <VariablePart.h> #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [VariablePartSet] >>> ***/ +/*** <<< FWD-DECLS [VariablePartSet] >>> ***/ -extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet; +struct VariablePart; /* Forward declaration */ /*** <<< TYPE-DECLS [VariablePartSet] >>> ***/ - typedef struct VariablePartSet { struct vparts { - A_SEQUENCE_OF(VariablePart_t) list; + A_SEQUENCE_OF(struct VariablePart) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; @@ -191,6 +195,14 @@ typedef struct VariablePartSet { asn_struct_ctx_t _asn_ctx; } VariablePartSet_t; +/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet; + +/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/ + +#include <VariablePart.h> + /*** <<< CODE [VariablePartSet] >>> ***/ static int @@ -325,11 +337,9 @@ typedef enum VariablePart_PR { VariablePart_PR_vrange, /* Extensions may appear below */ } VariablePart_PR; -extern asn_TYPE_descriptor_t asn_DEF_VariablePart; /*** <<< TYPE-DECLS [VariablePart] >>> ***/ - typedef struct VariablePart { VariablePart_PR present; union { @@ -360,6 +370,10 @@ typedef struct VariablePart { asn_struct_ctx_t _asn_ctx; } VariablePart_t; +/*** <<< FUNC-DECLS [VariablePart] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_VariablePart; + /*** <<< CODE [VariablePart] >>> ***/ static int @@ -557,11 +571,9 @@ typedef enum accept_as { * Enumeration is extensible */ } accept_as_e; -extern asn_TYPE_descriptor_t asn_DEF_ActionItem; /*** <<< TYPE-DECLS [ActionItem] >>> ***/ - typedef struct ActionItem { ENUMERATED_t accept_as; struct notify { @@ -592,6 +604,7 @@ typedef struct ActionItem { /*** <<< FUNC-DECLS [ActionItem] >>> ***/ /* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_ActionItem; /*** <<< CODE [ActionItem] >>> ***/ diff --git a/tests/43-recursion-OK.asn1.-P b/tests/43-recursion-OK.asn1.-P index de356380..747d9624 100644 --- a/tests/43-recursion-OK.asn1.-P +++ b/tests/43-recursion-OK.asn1.-P @@ -1,7 +1,6 @@ /*** <<< INCLUDES [Test-structure-1] >>> ***/ -#include <Test-structure-1.h> #include <INTEGER.h> #include <asn_SET_OF.h> #include <constr_SET_OF.h> @@ -9,15 +8,12 @@ #include <constr_SEQUENCE_OF.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [Test-structure-1] >>> ***/ - +/*** <<< FWD-DECLS [Test-structure-1] >>> ***/ struct Test_structure_1; /* Forward declaration */ -extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1; /*** <<< TYPE-DECLS [Test-structure-1] >>> ***/ - typedef struct Test_structure_1 { struct t_member1 { A_SET_OF(struct Test_structure_1) list; @@ -38,6 +34,14 @@ typedef struct Test_structure_1 { asn_struct_ctx_t _asn_ctx; } Test_structure_1_t; +/*** <<< FUNC-DECLS [Test-structure-1] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1; + +/*** <<< POST-INCLUDE [Test-structure-1] >>> ***/ + +#include <Test-structure-1.h> + /*** <<< STAT-DEFS [Test-structure-1] >>> ***/ static asn_TYPE_member_t asn_MBR_t_member1_2[] = { @@ -208,14 +212,12 @@ typedef enum Choice_1_PR { Choice_1_PR_other, } Choice_1_PR; -struct Choice_1; /* Forward declaration */ +/*** <<< FWD-DECLS [Choice-1] >>> ***/ struct Choice_1; /* Forward declaration */ -extern asn_TYPE_descriptor_t asn_DEF_Choice_1; /*** <<< TYPE-DECLS [Choice-1] >>> ***/ - typedef struct Choice_1 { Choice_1_PR present; union { @@ -234,6 +236,14 @@ typedef struct Choice_1 { asn_struct_ctx_t _asn_ctx; } Choice_1_t; +/*** <<< FUNC-DECLS [Choice-1] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Choice_1; + +/*** <<< POST-INCLUDE [Choice-1] >>> ***/ + +#include <Choice-1.h> + /*** <<< STAT-DEFS [Choice-1] >>> ***/ static asn_TYPE_member_t asn_MBR_or_2[] = { @@ -345,7 +355,6 @@ asn_TYPE_descriptor_t asn_DEF_Choice_1 = { /*** <<< INCLUDES [Test-structure-2] >>> ***/ -#include <Test-structure-3.h> #include <constr_SET.h> /*** <<< DEPS [Test-structure-2] >>> ***/ @@ -358,12 +367,12 @@ typedef enum Test_structure_2_PR { Test_structure_2_PR_m1, /* Member m1 is present */ } Test_structure_2_PR; +/*** <<< FWD-DECLS [Test-structure-2] >>> ***/ + struct Test_structure_3; /* Forward declaration */ -extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2; /*** <<< TYPE-DECLS [Test-structure-2] >>> ***/ - typedef struct Test_structure_2 { struct Test_structure_3 *m1 /* OPTIONAL */; @@ -375,6 +384,14 @@ typedef struct Test_structure_2 { asn_struct_ctx_t _asn_ctx; } Test_structure_2_t; +/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2; + +/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/ + +#include <Test-structure-3.h> + /*** <<< STAT-DEFS [Test-structure-2] >>> ***/ static asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = { @@ -431,7 +448,6 @@ asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = { /*** <<< INCLUDES [Test-structure-3] >>> ***/ -#include <Test-structure-2.h> #include <constr_SET.h> /*** <<< DEPS [Test-structure-3] >>> ***/ @@ -444,12 +460,12 @@ typedef enum Test_structure_3_PR { Test_structure_3_PR_m1, /* Member m1 is present */ } Test_structure_3_PR; +/*** <<< FWD-DECLS [Test-structure-3] >>> ***/ + struct Test_structure_2; /* Forward declaration */ -extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3; /*** <<< TYPE-DECLS [Test-structure-3] >>> ***/ - typedef struct Test_structure_3 { struct Test_structure_2 *m1 /* OPTIONAL */; @@ -461,6 +477,14 @@ typedef struct Test_structure_3 { asn_struct_ctx_t _asn_ctx; } Test_structure_3_t; +/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3; + +/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/ + +#include <Test-structure-2.h> + /*** <<< STAT-DEFS [Test-structure-3] >>> ***/ static asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = { diff --git a/tests/44-choice-in-sequence-OK.asn1.-P b/tests/44-choice-in-sequence-OK.asn1.-P index 7deb2dfa..e8559c8e 100644 --- a/tests/44-choice-in-sequence-OK.asn1.-P +++ b/tests/44-choice-in-sequence-OK.asn1.-P @@ -24,11 +24,9 @@ typedef enum h_PR { h_PR_i, h_PR_j, } h_PR; -extern asn_TYPE_descriptor_t asn_DEF_T; /*** <<< TYPE-DECLS [T] >>> ***/ - typedef struct T { NULL_t a; struct b { @@ -66,6 +64,10 @@ typedef struct T { asn_struct_ctx_t _asn_ctx; } T_t; +/*** <<< FUNC-DECLS [T] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T; + /*** <<< STAT-DEFS [T] >>> ***/ static asn_TYPE_member_t asn_MBR_e_3[] = { diff --git a/tests/46-redefine-OK.asn1.-PR b/tests/46-redefine-OK.asn1.-PR index 7a2b69be..139fd6ab 100644 --- a/tests/46-redefine-OK.asn1.-PR +++ b/tests/46-redefine-OK.asn1.-PR @@ -5,7 +5,6 @@ /*** <<< TYPE-DECLS [PrimitiveType] >>> ***/ - typedef OCTET_STRING_t PrimitiveType_t; /*** <<< FUNC-DECLS [PrimitiveType] >>> ***/ @@ -23,13 +22,8 @@ typedef OCTET_STRING_t PrimitiveType_t; #include <PrimitiveType.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [ConstructedType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ConstructedType; - /*** <<< TYPE-DECLS [ConstructedType] >>> ***/ - typedef struct ConstructedType { PrimitiveType_t field; @@ -37,6 +31,10 @@ typedef struct ConstructedType { asn_struct_ctx_t _asn_ctx; } ConstructedType_t; +/*** <<< FUNC-DECLS [ConstructedType] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_ConstructedType; + /*** <<< STAT-DEFS [ConstructedType] >>> ***/ static asn_TYPE_member_t asn_MBR_ConstructedType_1[] = { @@ -91,7 +89,6 @@ asn_TYPE_descriptor_t asn_DEF_ConstructedType = { /*** <<< TYPE-DECLS [T] >>> ***/ - typedef ConstructedType_t T_t; /*** <<< FUNC-DECLS [T] >>> ***/ diff --git a/tests/47-set-ext-OK.asn1.-P b/tests/47-set-ext-OK.asn1.-P index e91110dc..660048b3 100644 --- a/tests/47-set-ext-OK.asn1.-P +++ b/tests/47-set-ext-OK.asn1.-P @@ -13,11 +13,9 @@ typedef enum T1_PR { T1_PR_i, /* Member i is present */ } T1_PR; -extern asn_TYPE_descriptor_t asn_DEF_T1; /*** <<< TYPE-DECLS [T1] >>> ***/ - typedef struct T1 { INTEGER_t i; /* @@ -33,6 +31,10 @@ typedef struct T1 { asn_struct_ctx_t _asn_ctx; } T1_t; +/*** <<< FUNC-DECLS [T1] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T1; + /*** <<< STAT-DEFS [T1] >>> ***/ static asn_TYPE_member_t asn_MBR_T1_1[] = { @@ -101,11 +103,9 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { typedef enum T2_PR { T2_PR_i, /* Member i is present */ } T2_PR; -extern asn_TYPE_descriptor_t asn_DEF_T2; /*** <<< TYPE-DECLS [T2] >>> ***/ - typedef struct T2 { INTEGER_t i; /* @@ -121,6 +121,10 @@ typedef struct T2 { asn_struct_ctx_t _asn_ctx; } T2_t; +/*** <<< FUNC-DECLS [T2] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T2; + /*** <<< STAT-DEFS [T2] >>> ***/ static asn_TYPE_member_t asn_MBR_T2_1[] = { @@ -187,11 +191,9 @@ typedef enum T3_PR { T3_PR_i, /* Extensions may appear below */ } T3_PR; -extern asn_TYPE_descriptor_t asn_DEF_T3; /*** <<< TYPE-DECLS [T3] >>> ***/ - typedef struct T3 { T3_PR present; union { @@ -206,6 +208,10 @@ typedef struct T3 { asn_struct_ctx_t _asn_ctx; } T3_t; +/*** <<< FUNC-DECLS [T3] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T3; + /*** <<< STAT-DEFS [T3] >>> ***/ static asn_TYPE_member_t asn_MBR_T3_1[] = { @@ -262,11 +268,9 @@ typedef enum T4_PR { T4_PR_i, /* Extensions may appear below */ } T4_PR; -extern asn_TYPE_descriptor_t asn_DEF_T4; /*** <<< TYPE-DECLS [T4] >>> ***/ - typedef struct T4 { T4_PR present; union { @@ -281,6 +285,10 @@ typedef struct T4 { asn_struct_ctx_t _asn_ctx; } T4_t; +/*** <<< FUNC-DECLS [T4] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T4; + /*** <<< STAT-DEFS [T4] >>> ***/ static asn_TYPE_member_t asn_MBR_T4_1[] = { diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P index 01131bf6..47d84e6e 100644 --- a/tests/50-constraint-OK.asn1.-P +++ b/tests/50-constraint-OK.asn1.-P @@ -5,7 +5,6 @@ /*** <<< TYPE-DECLS [Int1] >>> ***/ - typedef INTEGER_t Int1_t; /*** <<< FUNC-DECLS [Int1] >>> ***/ @@ -24,7 +23,6 @@ typedef INTEGER_t Int1_t; /*** <<< TYPE-DECLS [Int2] >>> ***/ - typedef Int1_t Int2_t; /*** <<< FUNC-DECLS [Int2] >>> ***/ @@ -162,7 +160,6 @@ asn_TYPE_descriptor_t asn_DEF_Int2 = { /*** <<< TYPE-DECLS [Int3] >>> ***/ - typedef Int2_t Int3_t; /*** <<< FUNC-DECLS [Int3] >>> ***/ @@ -304,7 +301,6 @@ asn_TYPE_descriptor_t asn_DEF_Int3 = { /*** <<< TYPE-DECLS [Int4] >>> ***/ - typedef Int3_t Int4_t; /*** <<< FUNC-DECLS [Int4] >>> ***/ @@ -446,7 +442,6 @@ asn_TYPE_descriptor_t asn_DEF_Int4 = { /*** <<< TYPE-DECLS [Int5] >>> ***/ - typedef Int4_t Int5_t; /*** <<< FUNC-DECLS [Int5] >>> ***/ @@ -588,7 +583,6 @@ asn_TYPE_descriptor_t asn_DEF_Int5 = { /*** <<< TYPE-DECLS [ExtensibleExtensions] >>> ***/ - typedef INTEGER_t ExtensibleExtensions_t; /*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/ @@ -730,7 +724,6 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = { /*** <<< TYPE-DECLS [Str1] >>> ***/ - typedef IA5String_t Str1_t; /*** <<< FUNC-DECLS [Str1] >>> ***/ @@ -749,7 +742,6 @@ typedef IA5String_t Str1_t; /*** <<< TYPE-DECLS [Str2] >>> ***/ - typedef Str1_t Str2_t; /*** <<< FUNC-DECLS [Str2] >>> ***/ @@ -903,7 +895,6 @@ asn_TYPE_descriptor_t asn_DEF_Str2 = { /*** <<< TYPE-DECLS [Str3] >>> ***/ - typedef Str2_t Str3_t; /*** <<< FUNC-DECLS [Str3] >>> ***/ @@ -1068,7 +1059,6 @@ asn_TYPE_descriptor_t asn_DEF_Str3 = { /*** <<< TYPE-DECLS [Str4] >>> ***/ - typedef IA5String_t Str4_t; /*** <<< FUNC-DECLS [Str4] >>> ***/ @@ -1219,7 +1209,6 @@ asn_TYPE_descriptor_t asn_DEF_Str4 = { /*** <<< TYPE-DECLS [PER-Visible] >>> ***/ - typedef IA5String_t PER_Visible_t; /*** <<< FUNC-DECLS [PER-Visible] >>> ***/ @@ -1370,7 +1359,6 @@ asn_TYPE_descriptor_t asn_DEF_PER_Visible = { /*** <<< TYPE-DECLS [PER-Visible-2] >>> ***/ - typedef PER_Visible_t PER_Visible_2_t; /*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/ @@ -1521,7 +1509,6 @@ asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = { /*** <<< TYPE-DECLS [Not-PER-Visible-1] >>> ***/ - typedef PER_Visible_t Not_PER_Visible_1_t; /*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/ @@ -1672,7 +1659,6 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = { /*** <<< TYPE-DECLS [Not-PER-Visible-2] >>> ***/ - typedef PER_Visible_t Not_PER_Visible_2_t; /*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/ @@ -1823,7 +1809,6 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = { /*** <<< TYPE-DECLS [Not-PER-Visible-3] >>> ***/ - typedef PER_Visible_t Not_PER_Visible_3_t; /*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/ @@ -1974,7 +1959,6 @@ asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = { /*** <<< TYPE-DECLS [SIZE-but-not-FROM] >>> ***/ - typedef PER_Visible_t SIZE_but_not_FROM_t; /*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/ @@ -2128,7 +2112,6 @@ asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = { /*** <<< TYPE-DECLS [SIZE-and-FROM] >>> ***/ - typedef PER_Visible_t SIZE_and_FROM_t; /*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/ @@ -2282,7 +2265,6 @@ asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = { /*** <<< TYPE-DECLS [Neither-SIZE-nor-FROM] >>> ***/ - typedef PER_Visible_t Neither_SIZE_nor_FROM_t; /*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/ @@ -2433,7 +2415,6 @@ asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = { /*** <<< TYPE-DECLS [Utf8-4] >>> ***/ - typedef UTF8String_t Utf8_4_t; /*** <<< FUNC-DECLS [Utf8-4] >>> ***/ @@ -2578,7 +2559,6 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_4 = { /*** <<< TYPE-DECLS [Utf8-3] >>> ***/ - typedef Utf8_2_t Utf8_3_t; /*** <<< FUNC-DECLS [Utf8-3] >>> ***/ @@ -2751,7 +2731,6 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_3 = { /*** <<< TYPE-DECLS [Utf8-2] >>> ***/ - typedef Utf8_1_t Utf8_2_t; /*** <<< FUNC-DECLS [Utf8-2] >>> ***/ @@ -2894,7 +2873,6 @@ asn_TYPE_descriptor_t asn_DEF_Utf8_2 = { /*** <<< TYPE-DECLS [Utf8-1] >>> ***/ - typedef UTF8String_t Utf8_1_t; /*** <<< FUNC-DECLS [Utf8-1] >>> ***/ @@ -2913,7 +2891,6 @@ typedef UTF8String_t Utf8_1_t; /*** <<< TYPE-DECLS [VisibleIdentifier] >>> ***/ - typedef Identifier_t VisibleIdentifier_t; /*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/ @@ -2932,7 +2909,6 @@ typedef Identifier_t VisibleIdentifier_t; /*** <<< TYPE-DECLS [Identifier] >>> ***/ - typedef VisibleString_t Identifier_t; /*** <<< FUNC-DECLS [Identifier] >>> ***/ diff --git a/tests/59-choice-extended-OK.asn1.-P b/tests/59-choice-extended-OK.asn1.-P index 5de40958..12f7be4b 100644 --- a/tests/59-choice-extended-OK.asn1.-P +++ b/tests/59-choice-extended-OK.asn1.-P @@ -15,12 +15,12 @@ typedef enum Choice_PR { Choice_PR_c, } Choice_PR; +/*** <<< FWD-DECLS [Choice] >>> ***/ + struct Choice; /* Forward declaration */ -extern asn_TYPE_descriptor_t asn_DEF_Choice; /*** <<< TYPE-DECLS [Choice] >>> ***/ - typedef struct Choice { Choice_PR present; union { @@ -37,6 +37,10 @@ typedef struct Choice { asn_struct_ctx_t _asn_ctx; } Choice_t; +/*** <<< FUNC-DECLS [Choice] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Choice; + /*** <<< STAT-DEFS [Choice] >>> ***/ static asn_TYPE_member_t asn_MBR_Choice_1[] = { diff --git a/tests/60-any-OK.asn1.-P b/tests/60-any-OK.asn1.-P index f52ad810..ed233400 100644 --- a/tests/60-any-OK.asn1.-P +++ b/tests/60-any-OK.asn1.-P @@ -5,13 +5,8 @@ #include <ANY.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [T1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T1; - /*** <<< TYPE-DECLS [T1] >>> ***/ - typedef struct T1 { INTEGER_t i; ANY_t any; @@ -20,6 +15,10 @@ typedef struct T1 { asn_struct_ctx_t _asn_ctx; } T1_t; +/*** <<< FUNC-DECLS [T1] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T1; + /*** <<< STAT-DEFS [T1] >>> ***/ static asn_TYPE_member_t asn_MBR_T1_1[] = { @@ -81,13 +80,8 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { #include <ANY.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; - /*** <<< TYPE-DECLS [T2] >>> ***/ - typedef struct T2 { INTEGER_t i; ANY_t *any /* OPTIONAL */; @@ -96,6 +90,10 @@ typedef struct T2 { asn_struct_ctx_t _asn_ctx; } T2_t; +/*** <<< FUNC-DECLS [T2] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T2; + /*** <<< STAT-DEFS [T2] >>> ***/ static asn_TYPE_member_t asn_MBR_T2_1[] = { diff --git a/tests/65-multi-tag-OK.asn1.-P b/tests/65-multi-tag-OK.asn1.-P index 39a145bf..a85fc18e 100644 --- a/tests/65-multi-tag-OK.asn1.-P +++ b/tests/65-multi-tag-OK.asn1.-P @@ -5,7 +5,6 @@ /*** <<< TYPE-DECLS [T1] >>> ***/ - typedef T2_t T1_t; /*** <<< FUNC-DECLS [T1] >>> ***/ @@ -135,7 +134,6 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { /*** <<< TYPE-DECLS [T2] >>> ***/ - typedef T3_t T2_t; /*** <<< FUNC-DECLS [T2] >>> ***/ @@ -263,7 +261,6 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { /*** <<< TYPE-DECLS [T3] >>> ***/ - typedef T4_t T3_t; /*** <<< FUNC-DECLS [T3] >>> ***/ @@ -389,7 +386,6 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { /*** <<< TYPE-DECLS [T4] >>> ***/ - typedef T5_t T4_t; /*** <<< FUNC-DECLS [T4] >>> ***/ @@ -510,7 +506,6 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { /*** <<< TYPE-DECLS [T5] >>> ***/ - typedef T6_t T5_t; /*** <<< FUNC-DECLS [T5] >>> ***/ @@ -630,7 +625,6 @@ asn_TYPE_descriptor_t asn_DEF_T5 = { /*** <<< TYPE-DECLS [T6] >>> ***/ - typedef REAL_t T6_t; /*** <<< FUNC-DECLS [T6] >>> ***/ @@ -649,7 +643,6 @@ typedef REAL_t T6_t; /*** <<< TYPE-DECLS [T] >>> ***/ - typedef Ts_t T_t; /*** <<< FUNC-DECLS [T] >>> ***/ @@ -770,13 +763,8 @@ asn_TYPE_descriptor_t asn_DEF_T = { #include <T3.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [Ts] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Ts; - /*** <<< TYPE-DECLS [Ts] >>> ***/ - typedef struct Ts { T2_t m1; T3_t *m2 /* OPTIONAL */; @@ -786,6 +774,10 @@ typedef struct Ts { asn_struct_ctx_t _asn_ctx; } Ts_t; +/*** <<< FUNC-DECLS [Ts] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Ts; + /*** <<< STAT-DEFS [Ts] >>> ***/ static asn_TYPE_member_t asn_MBR_Ts_1[] = { diff --git a/tests/65-multi-tag-OK.asn1.-Pfnative-types b/tests/65-multi-tag-OK.asn1.-Pfnative-types index 30e0173d..6a35789b 100644 --- a/tests/65-multi-tag-OK.asn1.-Pfnative-types +++ b/tests/65-multi-tag-OK.asn1.-Pfnative-types @@ -5,7 +5,6 @@ /*** <<< TYPE-DECLS [T1] >>> ***/ - typedef T2_t T1_t; /*** <<< FUNC-DECLS [T1] >>> ***/ @@ -135,7 +134,6 @@ asn_TYPE_descriptor_t asn_DEF_T1 = { /*** <<< TYPE-DECLS [T2] >>> ***/ - typedef T3_t T2_t; /*** <<< FUNC-DECLS [T2] >>> ***/ @@ -263,7 +261,6 @@ asn_TYPE_descriptor_t asn_DEF_T2 = { /*** <<< TYPE-DECLS [T3] >>> ***/ - typedef T4_t T3_t; /*** <<< FUNC-DECLS [T3] >>> ***/ @@ -389,7 +386,6 @@ asn_TYPE_descriptor_t asn_DEF_T3 = { /*** <<< TYPE-DECLS [T4] >>> ***/ - typedef T5_t T4_t; /*** <<< FUNC-DECLS [T4] >>> ***/ @@ -510,7 +506,6 @@ asn_TYPE_descriptor_t asn_DEF_T4 = { /*** <<< TYPE-DECLS [T5] >>> ***/ - typedef T6_t T5_t; /*** <<< FUNC-DECLS [T5] >>> ***/ @@ -630,7 +625,6 @@ asn_TYPE_descriptor_t asn_DEF_T5 = { /*** <<< TYPE-DECLS [T6] >>> ***/ - typedef double T6_t; /*** <<< FUNC-DECLS [T6] >>> ***/ @@ -649,7 +643,6 @@ typedef double T6_t; /*** <<< TYPE-DECLS [T] >>> ***/ - typedef Ts_t T_t; /*** <<< FUNC-DECLS [T] >>> ***/ @@ -770,13 +763,8 @@ asn_TYPE_descriptor_t asn_DEF_T = { #include <T3.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [Ts] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Ts; - /*** <<< TYPE-DECLS [Ts] >>> ***/ - typedef struct Ts { T2_t m1; T3_t *m2 /* OPTIONAL */; @@ -786,6 +774,10 @@ typedef struct Ts { asn_struct_ctx_t _asn_ctx; } Ts_t; +/*** <<< FUNC-DECLS [Ts] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Ts; + /*** <<< STAT-DEFS [Ts] >>> ***/ static asn_TYPE_member_t asn_MBR_Ts_1[] = { diff --git a/tests/66-ref-simple-OK.asn1.-P b/tests/66-ref-simple-OK.asn1.-P index 5112e534..24795360 100644 --- a/tests/66-ref-simple-OK.asn1.-P +++ b/tests/66-ref-simple-OK.asn1.-P @@ -5,20 +5,19 @@ #include <asn_SET_OF.h> #include <constr_SET_OF.h> -/*** <<< DEPS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - /*** <<< TYPE-DECLS [T] >>> ***/ - typedef struct T { - A_SET_OF(SimpleType_t) list; + A_SET_OF(struct SimpleType) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } T_t; +/*** <<< FUNC-DECLS [T] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T; + /*** <<< STAT-DEFS [T] >>> ***/ static asn_TYPE_member_t asn_MBR_T_1[] = { @@ -75,7 +74,6 @@ typedef enum SimpleType { /*** <<< TYPE-DECLS [SimpleType] >>> ***/ - typedef ENUMERATED_t SimpleType_t; /*** <<< FUNC-DECLS [SimpleType] >>> ***/ diff --git a/tests/69-reserved-words-OK.asn1.-P b/tests/69-reserved-words-OK.asn1.-P index 78d035b8..9f222eb4 100644 --- a/tests/69-reserved-words-OK.asn1.-P +++ b/tests/69-reserved-words-OK.asn1.-P @@ -15,11 +15,9 @@ */ typedef enum class_PR { } class_PR; -extern asn_TYPE_descriptor_t asn_DEF_T; /*** <<< TYPE-DECLS [T] >>> ***/ - typedef struct T { INTEGER_t Int; OCTET_STRING_t Char; @@ -42,6 +40,10 @@ typedef struct T { asn_struct_ctx_t _asn_ctx; } T_t; +/*** <<< FUNC-DECLS [T] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_T; + /*** <<< CODE [T] >>> ***/ static int diff --git a/tests/70-xer-test-OK.asn1.-P b/tests/70-xer-test-OK.asn1.-P index 2c356b9b..e84e9f7b 100644 --- a/tests/70-xer-test-OK.asn1.-P +++ b/tests/70-xer-test-OK.asn1.-P @@ -27,11 +27,9 @@ typedef enum PDU_PR { PDU_PR_seqOfZuka, /* Extensions may appear below */ } PDU_PR; -extern asn_TYPE_descriptor_t asn_DEF_PDU; /*** <<< TYPE-DECLS [PDU] >>> ***/ - typedef struct PDU { PDU_PR present; union { @@ -54,6 +52,10 @@ typedef struct PDU { asn_struct_ctx_t _asn_ctx; } PDU_t; +/*** <<< FUNC-DECLS [PDU] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_PDU; + /*** <<< STAT-DEFS [PDU] >>> ***/ static asn_TYPE_member_t asn_MBR_PDU_1[] = { @@ -165,20 +167,16 @@ asn_TYPE_descriptor_t asn_DEF_PDU = { /*** <<< INCLUDES [Sequence] >>> ***/ #include <INTEGER.h> -#include <Sequence.h> #include <BIT_STRING.h> #include <UTF8String.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [Sequence] >>> ***/ - +/*** <<< FWD-DECLS [Sequence] >>> ***/ struct Sequence; /* Forward declaration */ -extern asn_TYPE_descriptor_t asn_DEF_Sequence; /*** <<< TYPE-DECLS [Sequence] >>> ***/ - typedef struct Sequence { INTEGER_t integer; struct Sequence *sequence /* OPTIONAL */; @@ -189,6 +187,14 @@ typedef struct Sequence { asn_struct_ctx_t _asn_ctx; } Sequence_t; +/*** <<< FUNC-DECLS [Sequence] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Sequence; + +/*** <<< POST-INCLUDE [Sequence] >>> ***/ + +#include <Sequence.h> + /*** <<< STAT-DEFS [Sequence] >>> ***/ static asn_TYPE_member_t asn_MBR_Sequence_1[] = { @@ -277,11 +283,9 @@ typedef enum Set_PR { Set_PR_roid, /* Member roid is present */ Set_PR_opaque, /* Member opaque is present */ } Set_PR; -extern asn_TYPE_descriptor_t asn_DEF_Set; /*** <<< TYPE-DECLS [Set] >>> ***/ - typedef struct Set { RELATIVE_OID_t roid; OCTET_STRING_t *opaque /* OPTIONAL */; @@ -294,6 +298,10 @@ typedef struct Set { asn_struct_ctx_t _asn_ctx; } Set_t; +/*** <<< FUNC-DECLS [Set] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Set; + /*** <<< STAT-DEFS [Set] >>> ***/ static asn_TYPE_member_t asn_MBR_Set_1[] = { @@ -370,11 +378,9 @@ asn_TYPE_descriptor_t asn_DEF_Set = { typedef enum ExtensibleSet_PR { ExtensibleSet_PR_string, /* Member string is present */ } ExtensibleSet_PR; -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet; /*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/ - typedef struct ExtensibleSet { UTF8String_t *string /* OPTIONAL */; /* @@ -390,6 +396,10 @@ typedef struct ExtensibleSet { asn_struct_ctx_t _asn_ctx; } ExtensibleSet_t; +/*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet; + /*** <<< STAT-DEFS [ExtensibleSet] >>> ***/ static asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = { @@ -450,13 +460,8 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = { #include <INTEGER.h> #include <constr_SEQUENCE.h> -/*** <<< DEPS [ExtensibleSequence] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence; - /*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/ - typedef struct ExtensibleSequence { UTF8String_t *string /* OPTIONAL */; /* @@ -469,6 +474,10 @@ typedef struct ExtensibleSequence { asn_struct_ctx_t _asn_ctx; } ExtensibleSequence_t; +/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence; + /*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/ static asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = { @@ -531,13 +540,8 @@ asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = { #include <asn_SET_OF.h> #include <constr_SET_OF.h> -/*** <<< DEPS [SetOf] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SetOf; - /*** <<< TYPE-DECLS [SetOf] >>> ***/ - typedef struct SetOf { A_SET_OF(REAL_t) list; @@ -545,6 +549,10 @@ typedef struct SetOf { asn_struct_ctx_t _asn_ctx; } SetOf_t; +/*** <<< FUNC-DECLS [SetOf] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_SetOf; + /*** <<< STAT-DEFS [SetOf] >>> ***/ static asn_TYPE_member_t asn_MBR_SetOf_1[] = { @@ -593,13 +601,8 @@ asn_TYPE_descriptor_t asn_DEF_SetOf = { #include <asn_SET_OF.h> #include <constr_SET_OF.h> -/*** <<< DEPS [SetOfNULL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL; - /*** <<< TYPE-DECLS [SetOfNULL] >>> ***/ - typedef struct SetOfNULL { A_SET_OF(NULL_t) list; @@ -607,6 +610,10 @@ typedef struct SetOfNULL { asn_struct_ctx_t _asn_ctx; } SetOfNULL_t; +/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL; + /*** <<< STAT-DEFS [SetOfNULL] >>> ***/ static asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = { @@ -661,11 +668,9 @@ typedef enum Member { Member_one = 0, Member_oneMore = 1 } Member_e; -extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums; /*** <<< TYPE-DECLS [SetOfEnums] >>> ***/ - typedef struct SetOfEnums { A_SET_OF(ENUMERATED_t) list; @@ -676,6 +681,7 @@ typedef struct SetOfEnums { /*** <<< FUNC-DECLS [SetOfEnums] >>> ***/ /* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums; /*** <<< CODE [SetOfEnums] >>> ***/ @@ -837,13 +843,8 @@ asn_TYPE_descriptor_t asn_DEF_SetOfEnums = { #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> -/*** <<< DEPS [SequenceOf] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SequenceOf; - /*** <<< TYPE-DECLS [SequenceOf] >>> ***/ - typedef struct SequenceOf { A_SEQUENCE_OF(INTEGER_t) list; @@ -851,6 +852,10 @@ typedef struct SequenceOf { asn_struct_ctx_t _asn_ctx; } SequenceOf_t; +/*** <<< FUNC-DECLS [SequenceOf] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_SequenceOf; + /*** <<< STAT-DEFS [SequenceOf] >>> ***/ static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = { @@ -899,13 +904,8 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = { #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> -/*** <<< DEPS [SeqOfZuka] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka; - /*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/ - typedef struct SeqOfZuka { A_SEQUENCE_OF(NULL_t) list; @@ -913,6 +913,10 @@ typedef struct SeqOfZuka { asn_struct_ctx_t _asn_ctx; } SeqOfZuka_t; +/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka; + /*** <<< STAT-DEFS [SeqOfZuka] >>> ***/ static asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = { diff --git a/tests/72-same-names-OK.asn1.-P b/tests/72-same-names-OK.asn1.-P index 3dc44181..a359a740 100644 --- a/tests/72-same-names-OK.asn1.-P +++ b/tests/72-same-names-OK.asn1.-P @@ -7,13 +7,8 @@ #include <constr_SEQUENCE.h> #include <constr_SET_OF.h> -/*** <<< DEPS [Type] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type; - /*** <<< TYPE-DECLS [Type] >>> ***/ - typedef struct Type { A_SET_OF(struct Member { Type1_t t1; @@ -27,6 +22,10 @@ typedef struct Type { asn_struct_ctx_t _asn_ctx; } Type_t; +/*** <<< FUNC-DECLS [Type] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Type; + /*** <<< STAT-DEFS [Type] >>> ***/ static asn_TYPE_member_t asn_MBR_Member_2[] = { @@ -136,11 +135,9 @@ typedef enum one_name_PR { one_name_PR_NOTHING, /* No components present */ one_name_PR_another_name, } one_name_PR; -extern asn_TYPE_descriptor_t asn_DEF_Type1; /*** <<< TYPE-DECLS [Type1] >>> ***/ - typedef struct Type1 { struct one_name { one_name_PR present; @@ -162,6 +159,10 @@ typedef struct Type1 { asn_struct_ctx_t _asn_ctx; } Type1_t; +/*** <<< FUNC-DECLS [Type1] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Type1; + /*** <<< STAT-DEFS [Type1] >>> ***/ static asn_TYPE_member_t asn_MBR_another_name_3[] = { @@ -328,11 +329,9 @@ typedef enum Type2_PR { typedef enum two_name_PR { two_name_PR_another_name, /* Member another_name is present */ } two_name_PR; -extern asn_TYPE_descriptor_t asn_DEF_Type2; /*** <<< TYPE-DECLS [Type2] >>> ***/ - typedef struct Type2 { Type2_PR present; union { @@ -370,6 +369,10 @@ typedef struct Type2 { asn_struct_ctx_t _asn_ctx; } Type2_t; +/*** <<< FUNC-DECLS [Type2] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Type2; + /*** <<< CODE [Type2] >>> ***/ static int diff --git a/tests/73-circular-OK.asn1 b/tests/73-circular-OK.asn1 new file mode 100644 index 00000000..33ed04b2 --- /dev/null +++ b/tests/73-circular-OK.asn1 @@ -0,0 +1,31 @@ + +-- OK: Everything is Fine + +-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) +-- .spelio.software.asn1c.test (9363.1.5.1) +-- .73 + +ModuleTestCircularReferences + { iso org(3) dod(6) internet(1) private(4) enterprise(1) + spelio(9363) software(1) asn1c(5) test(1) 73 } + DEFINITIONS ::= +BEGIN + + Type ::= SEQUENCE { + data SEQUENCE OF Epyt + } + + -- EpytRef ::= Epyt + + Epyt ::= SEQUENCE { + stype SET OF Type, + type Type OPTIONAL, + ypet Ypet OPTIONAL + } + + Ypet ::= SET { + epyt Epyt, + plain INTEGER DEFAULT 7 + } + +END diff --git a/tests/73-circular-OK.asn1.-P b/tests/73-circular-OK.asn1.-P new file mode 100644 index 00000000..6298a94c --- /dev/null +++ b/tests/73-circular-OK.asn1.-P @@ -0,0 +1,357 @@ + +/*** <<< INCLUDES [Type] >>> ***/ + +#include <asn_SEQUENCE_OF.h> +#include <constr_SEQUENCE_OF.h> +#include <constr_SEQUENCE.h> + +/*** <<< FWD-DECLS [Type] >>> ***/ + +struct Epyt; /* Forward declaration */ + +/*** <<< TYPE-DECLS [Type] >>> ***/ + +typedef struct Type { + struct data { + A_SEQUENCE_OF(struct Epyt) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } data; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Type_t; + +/*** <<< FUNC-DECLS [Type] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Type; + +/*** <<< POST-INCLUDE [Type] >>> ***/ + +#include <Epyt.h> + +/*** <<< STAT-DEFS [Type] >>> ***/ + +static asn_TYPE_member_t asn_MBR_data_2[] = { + { ATF_NOFLAGS, 0, 0, + .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_Epyt, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "" + }, +}; +static ber_tlv_tag_t asn_DEF_data_2_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_data_2_specs = { + sizeof(struct data), + offsetof(struct data, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_data_2 = { + "data", + "data", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_data_2_tags, + sizeof(asn_DEF_data_2_tags) + /sizeof(asn_DEF_data_2_tags[0]), /* 1 */ + asn_DEF_data_2_tags, /* Same as above */ + sizeof(asn_DEF_data_2_tags) + /sizeof(asn_DEF_data_2_tags[0]), /* 1 */ + asn_MBR_data_2, + 1, /* Single element */ + &asn_SPC_data_2_specs /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Type_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Type, data), + .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_data_2, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "data" + }, +}; +static ber_tlv_tag_t asn_DEF_Type_1_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_Type_1_tag2el[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* data at 16 */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Type_1_specs = { + sizeof(struct Type), + offsetof(struct Type, _asn_ctx), + asn_MAP_Type_1_tag2el, + 1, /* Count of tags in the map */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_Type = { + "Type", + "Type", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Type_1_tags, + sizeof(asn_DEF_Type_1_tags) + /sizeof(asn_DEF_Type_1_tags[0]), /* 1 */ + asn_DEF_Type_1_tags, /* Same as above */ + sizeof(asn_DEF_Type_1_tags) + /sizeof(asn_DEF_Type_1_tags[0]), /* 1 */ + asn_MBR_Type_1, + 1, /* Elements count */ + &asn_SPC_Type_1_specs /* Additional specs */ +}; + + +/*** <<< INCLUDES [Epyt] >>> ***/ + +#include <asn_SET_OF.h> +#include <constr_SET_OF.h> +#include <constr_SEQUENCE.h> + +/*** <<< FWD-DECLS [Epyt] >>> ***/ + +struct Type; /* Forward declaration */ +struct Ypet; /* Forward declaration */ + +/*** <<< TYPE-DECLS [Epyt] >>> ***/ + +typedef struct Epyt { + struct stype { + A_SET_OF(struct Type) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } stype; + struct Type *type /* OPTIONAL */; + struct Ypet *ypet /* OPTIONAL */; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Epyt_t; + +/*** <<< FUNC-DECLS [Epyt] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Epyt; + +/*** <<< POST-INCLUDE [Epyt] >>> ***/ + +#include <Type.h> +#include <Ypet.h> + +/*** <<< STAT-DEFS [Epyt] >>> ***/ + +static asn_TYPE_member_t asn_MBR_stype_2[] = { + { ATF_NOFLAGS, 0, 0, + .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_Type, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "" + }, +}; +static ber_tlv_tag_t asn_DEF_stype_2_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_stype_2_specs = { + sizeof(struct stype), + offsetof(struct stype, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_stype_2 = { + "stype", + "stype", + SET_OF_free, + SET_OF_print, + SET_OF_constraint, + SET_OF_decode_ber, + SET_OF_encode_der, + SET_OF_decode_xer, + SET_OF_encode_xer, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_stype_2_tags, + sizeof(asn_DEF_stype_2_tags) + /sizeof(asn_DEF_stype_2_tags[0]), /* 1 */ + asn_DEF_stype_2_tags, /* Same as above */ + sizeof(asn_DEF_stype_2_tags) + /sizeof(asn_DEF_stype_2_tags[0]), /* 1 */ + asn_MBR_stype_2, + 1, /* Single element */ + &asn_SPC_stype_2_specs /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Epyt_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Epyt, stype), + .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_stype_2, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "stype" + }, + { ATF_POINTER, 2, offsetof(struct Epyt, type), + .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_Type, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "type" + }, + { ATF_POINTER, 1, offsetof(struct Epyt, ypet), + .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_Ypet, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "ypet" + }, +}; +static ber_tlv_tag_t asn_DEF_Epyt_1_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_Epyt_1_tag2el[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* type at 22 */ + { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* stype at 21 */ + { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, -1, 0 } /* ypet at 23 */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Epyt_1_specs = { + sizeof(struct Epyt), + offsetof(struct Epyt, _asn_ctx), + asn_MAP_Epyt_1_tag2el, + 3, /* Count of tags in the map */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_Epyt = { + "Epyt", + "Epyt", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Epyt_1_tags, + sizeof(asn_DEF_Epyt_1_tags) + /sizeof(asn_DEF_Epyt_1_tags[0]), /* 1 */ + asn_DEF_Epyt_1_tags, /* Same as above */ + sizeof(asn_DEF_Epyt_1_tags) + /sizeof(asn_DEF_Epyt_1_tags[0]), /* 1 */ + asn_MBR_Epyt_1, + 3, /* Elements count */ + &asn_SPC_Epyt_1_specs /* Additional specs */ +}; + + +/*** <<< INCLUDES [Ypet] >>> ***/ + +#include <Epyt.h> +#include <INTEGER.h> +#include <constr_SET.h> + +/*** <<< DEPS [Ypet] >>> ***/ + + +/* + * Method of determining the components presence + */ +typedef enum Ypet_PR { + Ypet_PR_epyt, /* Member epyt is present */ + Ypet_PR_plain, /* Member plain is present */ +} Ypet_PR; + +/*** <<< TYPE-DECLS [Ypet] >>> ***/ + +typedef struct Ypet { + Epyt_t epyt; + INTEGER_t *plain /* DEFAULT 7 */; + + /* Presence bitmask: ASN_SET_ISPRESENT(pYpet, Ypet_PR_x) */ + unsigned int _presence_map + [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Ypet_t; + +/*** <<< FUNC-DECLS [Ypet] >>> ***/ + +extern asn_TYPE_descriptor_t asn_DEF_Ypet; + +/*** <<< STAT-DEFS [Ypet] >>> ***/ + +static asn_TYPE_member_t asn_MBR_Ypet_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Ypet, epyt), + .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_Epyt, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "epyt" + }, + { ATF_POINTER, 1, offsetof(struct Ypet, plain), + .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + .tag_mode = 0, + .type = (void *)&asn_DEF_INTEGER, + .memb_constraints = 0, /* Defer constraints checking to the member type */ + .name = "plain" + }, +}; +static ber_tlv_tag_t asn_DEF_Ypet_1_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_Ypet_1_tag2el[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* plain at 28 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* epyt at 27 */ +}; +static uint8_t asn_MAP_Ypet_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { + (1 << 7) | (0 << 6) +}; +static asn_SET_specifics_t asn_SPC_Ypet_1_specs = { + sizeof(struct Ypet), + offsetof(struct Ypet, _asn_ctx), + offsetof(struct Ypet, _presence_map), + asn_MAP_Ypet_1_tag2el, + 2, /* Count of tags in the map */ + asn_MAP_Ypet_1_tag2el, /* Same as above */ + 2, /* Count of tags in the CXER map */ + 0, /* Whether extensible */ + (unsigned int *)asn_MAP_Ypet_1_mmap /* Mandatory elements map */ +}; +asn_TYPE_descriptor_t asn_DEF_Ypet = { + "Ypet", + "Ypet", + SET_free, + SET_print, + SET_constraint, + SET_decode_ber, + SET_encode_der, + SET_decode_xer, + SET_encode_xer, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Ypet_1_tags, + sizeof(asn_DEF_Ypet_1_tags) + /sizeof(asn_DEF_Ypet_1_tags[0]), /* 1 */ + asn_DEF_Ypet_1_tags, /* Same as above */ + sizeof(asn_DEF_Ypet_1_tags) + /sizeof(asn_DEF_Ypet_1_tags[0]), /* 1 */ + asn_MBR_Ypet_1, + 2, /* Elements count */ + &asn_SPC_Ypet_1_specs /* Additional specs */ +}; + |