Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asn1c
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
asn1c
Commits
dfae9758
Commit
dfae9758
authored
Sep 29, 2004
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
asn1_* renamed into asn_*
parent
1ca69678
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1561 additions
and
1561 deletions
+1561
-1561
tests/19-param-OK.asn1.-P
tests/19-param-OK.asn1.-P
+73
-73
tests/31-set-of-OK.asn1.-P
tests/31-set-of-OK.asn1.-P
+103
-103
tests/32-sequence-of-OK.asn1.-P
tests/32-sequence-of-OK.asn1.-P
+47
-47
tests/39-sequence-of-OK.asn1.-P
tests/39-sequence-of-OK.asn1.-P
+53
-53
tests/42-real-life-OK.asn1.-PR
tests/42-real-life-OK.asn1.-PR
+168
-168
tests/44-choice-in-sequence-OK.asn1.-P
tests/44-choice-in-sequence-OK.asn1.-P
+54
-54
tests/46-redefine-OK.asn1.-PR
tests/46-redefine-OK.asn1.-PR
+46
-46
tests/47-set-ext-OK.asn1.-P
tests/47-set-ext-OK.asn1.-P
+62
-62
tests/50-constraint-OK.asn1.-P
tests/50-constraint-OK.asn1.-P
+502
-502
tests/60-any-OK.asn1.-P
tests/60-any-OK.asn1.-P
+38
-38
tests/65-multi-tag-OK.asn1.-P
tests/65-multi-tag-OK.asn1.-P
+186
-186
tests/65-multi-tag-OK.asn1.-Pfnative-types
tests/65-multi-tag-OK.asn1.-Pfnative-types
+186
-186
tests/66-ref-simple-OK.asn1.-P
tests/66-ref-simple-OK.asn1.-P
+43
-43
No files found.
tests/19-param-OK.asn1.-P
View file @
dfae9758
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
/*** <<< DEPS [Certificate] >>> ***/
/*** <<< DEPS [Certificate] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Certificate;
extern asn
_TYPE_descriptor_t asn
_DEF_Certificate;
/*** <<< TYPE-DECLS [Certificate] >>> ***/
/*** <<< TYPE-DECLS [Certificate] >>> ***/
...
@@ -21,19 +21,19 @@ typedef struct Certificate {
...
@@ -21,19 +21,19 @@ typedef struct Certificate {
Name_t issuer;
Name_t issuer;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} toBeSigned;
} toBeSigned;
OBJECT_IDENTIFIER_t algorithm;
OBJECT_IDENTIFIER_t algorithm;
BIT_STRING_t signature;
BIT_STRING_t signature;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Certificate_t;
} Certificate_t;
/*** <<< CODE [Certificate] >>> ***/
/*** <<< CODE [Certificate] >>> ***/
static int
static int
memb_signature_1_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
memb_signature_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const BIT_STRING_t *st = sptr;
const BIT_STRING_t *st = sptr;
size_t size;
size_t size;
...
@@ -66,47 +66,47 @@ memb_signature_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -66,47 +66,47 @@ memb_signature_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [Certificate] >>> ***/
/*** <<< STAT-DEFS [Certificate] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_toBeSigned[] = {
static asn
_TYPE_member_t asn
_MBR_toBeSigned[] = {
{ ATF_NOFLAGS, 0, offsetof(struct toBeSigned, version),
{ ATF_NOFLAGS, 0, offsetof(struct toBeSigned, version),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "version"
.name = "version"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct toBeSigned, signature),
{ ATF_NOFLAGS, 0, offsetof(struct toBeSigned, signature),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_OBJECT_IDENTIFIER,
.type = (void *)&asn_DEF_OBJECT_IDENTIFIER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "signature"
.name = "signature"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct toBeSigned, issuer),
{ ATF_NOFLAGS, 0, offsetof(struct toBeSigned, issuer),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_Name,
.type = (void *)&asn_DEF_Name,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "issuer"
.name = "issuer"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_toBeSigned_tags[] = {
static ber_tlv_tag_t asn_DEF_toBeSigned_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_toBeSigned_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_toBeSigned_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* version at 21 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* version at 21 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* signature at 22 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* signature at 22 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* issuer at 24 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* issuer at 24 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_toBeSigned_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_toBeSigned_specs = {
sizeof(struct toBeSigned),
sizeof(struct toBeSigned),
offsetof(struct toBeSigned, _
ber_dec
_ctx),
offsetof(struct toBeSigned, _
asn
_ctx),
asn
1
_DEF_toBeSigned_tag2el,
asn_DEF_toBeSigned_tag2el,
3, /* Count of tags in the map */
3, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_toBeSigned = {
asn
_TYPE_descriptor_t asn
_DEF_toBeSigned = {
"toBeSigned",
"toBeSigned",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -116,57 +116,57 @@ asn1_TYPE_descriptor_t asn1_DEF_toBeSigned = {
...
@@ -116,57 +116,57 @@ asn1_TYPE_descriptor_t asn1_DEF_toBeSigned = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_toBeSigned_tags,
asn_DEF_toBeSigned_tags,
sizeof(asn
1
_DEF_toBeSigned_tags)
sizeof(asn_DEF_toBeSigned_tags)
/sizeof(asn
1
_DEF_toBeSigned_tags[0]), /* 1 */
/sizeof(asn_DEF_toBeSigned_tags[0]), /* 1 */
asn
1
_DEF_toBeSigned_tags, /* Same as above */
asn_DEF_toBeSigned_tags, /* Same as above */
sizeof(asn
1
_DEF_toBeSigned_tags)
sizeof(asn_DEF_toBeSigned_tags)
/sizeof(asn
1
_DEF_toBeSigned_tags[0]), /* 1 */
/sizeof(asn_DEF_toBeSigned_tags[0]), /* 1 */
asn
1
_MBR_toBeSigned,
asn_MBR_toBeSigned,
3, /* Elements count */
3, /* Elements count */
&asn
1
_DEF_toBeSigned_specs /* Additional specs */
&asn_DEF_toBeSigned_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_Certificate[] = {
static asn
_TYPE_member_t asn
_MBR_Certificate[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Certificate, toBeSigned),
{ ATF_NOFLAGS, 0, offsetof(struct Certificate, toBeSigned),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_toBeSigned,
.type = (void *)&asn_DEF_toBeSigned,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "toBeSigned"
.name = "toBeSigned"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct Certificate, algorithm),
{ ATF_NOFLAGS, 0, offsetof(struct Certificate, algorithm),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_OBJECT_IDENTIFIER,
.type = (void *)&asn_DEF_OBJECT_IDENTIFIER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "algorithm"
.name = "algorithm"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct Certificate, signature),
{ ATF_NOFLAGS, 0, offsetof(struct Certificate, signature),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_BIT_STRING,
.type = (void *)&asn_DEF_BIT_STRING,
.memb_constraints = memb_signature_1_constraint,
.memb_constraints = memb_signature_1_constraint,
.name = "signature"
.name = "signature"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Certificate_tags[] = {
static ber_tlv_tag_t asn_DEF_Certificate_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_Certificate_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_Certificate_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 0 }, /* signature at 17 */
{ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 0 }, /* signature at 17 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* algorithm at 16 */
{ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* algorithm at 16 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* toBeSigned at 21 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* toBeSigned at 21 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_Certificate_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_Certificate_specs = {
sizeof(struct Certificate),
sizeof(struct Certificate),
offsetof(struct Certificate, _
ber_dec
_ctx),
offsetof(struct Certificate, _
asn
_ctx),
asn
1
_DEF_Certificate_tag2el,
asn_DEF_Certificate_tag2el,
3, /* Count of tags in the map */
3, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Certificate = {
asn
_TYPE_descriptor_t asn
_DEF_Certificate = {
"Certificate",
"Certificate",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -176,15 +176,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Certificate = {
...
@@ -176,15 +176,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Certificate = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Certificate_tags,
asn_DEF_Certificate_tags,
sizeof(asn
1
_DEF_Certificate_tags)
sizeof(asn_DEF_Certificate_tags)
/sizeof(asn
1
_DEF_Certificate_tags[0]), /* 1 */
/sizeof(asn_DEF_Certificate_tags[0]), /* 1 */
asn
1
_DEF_Certificate_tags, /* Same as above */
asn_DEF_Certificate_tags, /* Same as above */
sizeof(asn
1
_DEF_Certificate_tags)
sizeof(asn_DEF_Certificate_tags)
/sizeof(asn
1
_DEF_Certificate_tags[0]), /* 1 */
/sizeof(asn_DEF_Certificate_tags[0]), /* 1 */
asn
1
_MBR_Certificate,
asn_MBR_Certificate,
3, /* Elements count */
3, /* Elements count */
&asn
1
_DEF_Certificate_specs /* Additional specs */
&asn_DEF_Certificate_specs /* Additional specs */
};
};
...
@@ -196,7 +196,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Certificate = {
...
@@ -196,7 +196,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Certificate = {
/*** <<< DEPS [Name] >>> ***/
/*** <<< DEPS [Name] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Name;
extern asn
_TYPE_descriptor_t asn
_DEF_Name;
/*** <<< TYPE-DECLS [Name] >>> ***/
/*** <<< TYPE-DECLS [Name] >>> ***/
...
@@ -205,29 +205,29 @@ typedef struct Name {
...
@@ -205,29 +205,29 @@ typedef struct Name {
A_SEQUENCE_OF(RelativeDistinguishedName_t) list;
A_SEQUENCE_OF(RelativeDistinguishedName_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Name_t;
} Name_t;
/*** <<< STAT-DEFS [Name] >>> ***/
/*** <<< STAT-DEFS [Name] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Name[] = {
static asn
_TYPE_member_t asn
_MBR_Name[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_RelativeDistinguishedName,
.type = (void *)&asn_DEF_RelativeDistinguishedName,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Name_tags[] = {
static ber_tlv_tag_t asn_DEF_Name_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_Name_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_Name_specs = {
sizeof(struct Name),
sizeof(struct Name),
offsetof(struct Name, _
ber_dec
_ctx),
offsetof(struct Name, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Name = {
asn
_TYPE_descriptor_t asn
_DEF_Name = {
"Name",
"Name",
SEQUENCE_OF_free,
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_print,
...
@@ -237,15 +237,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Name = {
...
@@ -237,15 +237,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Name = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Name_tags,
asn_DEF_Name_tags,
sizeof(asn
1
_DEF_Name_tags)
sizeof(asn_DEF_Name_tags)
/sizeof(asn
1
_DEF_Name_tags[0]), /* 1 */
/sizeof(asn_DEF_Name_tags[0]), /* 1 */
asn
1
_DEF_Name_tags, /* Same as above */
asn_DEF_Name_tags, /* Same as above */
sizeof(asn
1
_DEF_Name_tags)
sizeof(asn_DEF_Name_tags)
/sizeof(asn
1
_DEF_Name_tags[0]), /* 1 */
/sizeof(asn_DEF_Name_tags[0]), /* 1 */
asn
1
_MBR_Name,
asn_MBR_Name,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_Name_specs /* Additional specs */
&asn_DEF_Name_specs /* Additional specs */
};
};
...
@@ -257,7 +257,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Name = {
...
@@ -257,7 +257,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Name = {
/*** <<< DEPS [RelativeDistinguishedName] >>> ***/
/*** <<< DEPS [RelativeDistinguishedName] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_RelativeDistinguishedName;
extern asn
_TYPE_descriptor_t asn
_DEF_RelativeDistinguishedName;
/*** <<< TYPE-DECLS [RelativeDistinguishedName] >>> ***/
/*** <<< TYPE-DECLS [RelativeDistinguishedName] >>> ***/
...
@@ -266,7 +266,7 @@ typedef struct RelativeDistinguishedName {
...
@@ -266,7 +266,7 @@ typedef struct RelativeDistinguishedName {
A_SET_OF(IA5String_t) list;
A_SET_OF(IA5String_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} RelativeDistinguishedName_t;
} RelativeDistinguishedName_t;
/*** <<< CTABLES [RelativeDistinguishedName] >>> ***/
/*** <<< CTABLES [RelativeDistinguishedName] >>> ***/
...
@@ -300,7 +300,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
...
@@ -300,7 +300,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
/*** <<< CODE [RelativeDistinguishedName] >>> ***/
/*** <<< CODE [RelativeDistinguishedName] >>> ***/
static int
static int
memb_IA5String_2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
memb_IA5String_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const IA5String_t *st = sptr;
const IA5String_t *st = sptr;
...
@@ -326,24 +326,24 @@ memb_IA5String_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -326,24 +326,24 @@ memb_IA5String_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [RelativeDistinguishedName] >>> ***/
/*** <<< STAT-DEFS [RelativeDistinguishedName] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_RelativeDistinguishedName[] = {
static asn
_TYPE_member_t asn
_MBR_RelativeDistinguishedName[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_IA5String,
.type = (void *)&asn_DEF_IA5String,
.memb_constraints = memb_IA5String_2_constraint,
.memb_constraints = memb_IA5String_2_constraint,
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_RelativeDistinguishedName_tags[] = {
static ber_tlv_tag_t asn_DEF_RelativeDistinguishedName_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_RelativeDistinguishedName_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_RelativeDistinguishedName_specs = {
sizeof(struct RelativeDistinguishedName),
sizeof(struct RelativeDistinguishedName),
offsetof(struct RelativeDistinguishedName, _
ber_dec
_ctx),
offsetof(struct RelativeDistinguishedName, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_RelativeDistinguishedName = {
asn
_TYPE_descriptor_t asn
_DEF_RelativeDistinguishedName = {
"RelativeDistinguishedName",
"RelativeDistinguishedName",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -353,14 +353,14 @@ asn1_TYPE_descriptor_t asn1_DEF_RelativeDistinguishedName = {
...
@@ -353,14 +353,14 @@ asn1_TYPE_descriptor_t asn1_DEF_RelativeDistinguishedName = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_RelativeDistinguishedName_tags,
asn_DEF_RelativeDistinguishedName_tags,
sizeof(asn
1
_DEF_RelativeDistinguishedName_tags)
sizeof(asn_DEF_RelativeDistinguishedName_tags)
/sizeof(asn
1
_DEF_RelativeDistinguishedName_tags[0]), /* 1 */
/sizeof(asn_DEF_RelativeDistinguishedName_tags[0]), /* 1 */
asn
1
_DEF_RelativeDistinguishedName_tags, /* Same as above */
asn_DEF_RelativeDistinguishedName_tags, /* Same as above */
sizeof(asn
1
_DEF_RelativeDistinguishedName_tags)
sizeof(asn_DEF_RelativeDistinguishedName_tags)
/sizeof(asn
1
_DEF_RelativeDistinguishedName_tags[0]), /* 1 */
/sizeof(asn_DEF_RelativeDistinguishedName_tags[0]), /* 1 */
asn
1
_MBR_RelativeDistinguishedName,
asn_MBR_RelativeDistinguishedName,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_RelativeDistinguishedName_specs /* Additional specs */
&asn_DEF_RelativeDistinguishedName_specs /* Additional specs */
};
};
tests/31-set-of-OK.asn1.-P
View file @
dfae9758
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
/*** <<< DEPS [Forest] >>> ***/
/*** <<< DEPS [Forest] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Forest;
extern asn
_TYPE_descriptor_t asn
_DEF_Forest;
/*** <<< TYPE-DECLS [Forest] >>> ***/
/*** <<< TYPE-DECLS [Forest] >>> ***/
...
@@ -16,29 +16,29 @@ typedef struct Forest {
...
@@ -16,29 +16,29 @@ typedef struct Forest {
A_SET_OF(Tree_t) list;
A_SET_OF(Tree_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Forest_t;
} Forest_t;
/*** <<< STAT-DEFS [Forest] >>> ***/
/*** <<< STAT-DEFS [Forest] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Forest[] = {
static asn
_TYPE_member_t asn
_MBR_Forest[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_Tree,
.type = (void *)&asn_DEF_Tree,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Forest_tags[] = {
static ber_tlv_tag_t asn_DEF_Forest_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_Forest_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_Forest_specs = {
sizeof(struct Forest),
sizeof(struct Forest),
offsetof(struct Forest, _
ber_dec
_ctx),
offsetof(struct Forest, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Forest = {
asn
_TYPE_descriptor_t asn
_DEF_Forest = {
"Forest",
"Forest",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -48,15 +48,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Forest = {
...
@@ -48,15 +48,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Forest = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Forest_tags,
asn_DEF_Forest_tags,
sizeof(asn
1
_DEF_Forest_tags)
sizeof(asn_DEF_Forest_tags)
/sizeof(asn
1
_DEF_Forest_tags[0]), /* 1 */
/sizeof(asn_DEF_Forest_tags[0]), /* 1 */
asn
1
_DEF_Forest_tags, /* Same as above */
asn_DEF_Forest_tags, /* Same as above */
sizeof(asn
1
_DEF_Forest_tags)
sizeof(asn_DEF_Forest_tags)
/sizeof(asn
1
_DEF_Forest_tags[0]), /* 1 */
/sizeof(asn_DEF_Forest_tags[0]), /* 1 */
asn
1
_MBR_Forest,
asn_MBR_Forest,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_Forest_specs /* Additional specs */
&asn_DEF_Forest_specs /* Additional specs */
};
};
...
@@ -67,7 +67,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Forest = {
...
@@ -67,7 +67,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Forest = {
/*** <<< DEPS [Tree] >>> ***/
/*** <<< DEPS [Tree] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Tree;
extern asn
_TYPE_descriptor_t asn
_DEF_Tree;
/*** <<< TYPE-DECLS [Tree] >>> ***/
/*** <<< TYPE-DECLS [Tree] >>> ***/
...
@@ -77,43 +77,43 @@ typedef struct Tree {
...
@@ -77,43 +77,43 @@ typedef struct Tree {
INTEGER_t width;
INTEGER_t width;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Tree_t;
} Tree_t;
/*** <<< STAT-DEFS [Tree] >>> ***/
/*** <<< STAT-DEFS [Tree] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Tree[] = {
static asn
_TYPE_member_t asn
_MBR_Tree[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Tree, height),
{ ATF_NOFLAGS, 0, offsetof(struct Tree, height),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "height"
.name = "height"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct Tree, width),
{ ATF_NOFLAGS, 0, offsetof(struct Tree, width),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "width"
.name = "width"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Tree_tags[] = {
static ber_tlv_tag_t asn_DEF_Tree_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_Tree_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_Tree_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height at 17 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height at 17 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* width at 19 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* width at 19 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_Tree_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_Tree_specs = {
sizeof(struct Tree),
sizeof(struct Tree),
offsetof(struct Tree, _
ber_dec
_ctx),
offsetof(struct Tree, _
asn
_ctx),
asn
1
_DEF_Tree_tag2el,
asn_DEF_Tree_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Tree = {
asn
_TYPE_descriptor_t asn
_DEF_Tree = {
"Tree",
"Tree",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -123,15 +123,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Tree = {
...
@@ -123,15 +123,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Tree = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Tree_tags,
asn_DEF_Tree_tags,
sizeof(asn
1
_DEF_Tree_tags)
sizeof(asn_DEF_Tree_tags)
/sizeof(asn
1
_DEF_Tree_tags[0]), /* 1 */
/sizeof(asn_DEF_Tree_tags[0]), /* 1 */
asn
1
_DEF_Tree_tags, /* Same as above */
asn_DEF_Tree_tags, /* Same as above */
sizeof(asn
1
_DEF_Tree_tags)
sizeof(asn_DEF_Tree_tags)
/sizeof(asn
1
_DEF_Tree_tags[0]), /* 1 */
/sizeof(asn_DEF_Tree_tags[0]), /* 1 */
asn
1
_MBR_Tree,
asn_MBR_Tree,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_Tree_specs /* Additional specs */
&asn_DEF_Tree_specs /* Additional specs */
};
};
...
@@ -154,7 +154,7 @@ typedef enum Stuff_PR {
...
@@ -154,7 +154,7 @@ typedef enum Stuff_PR {
Stuff_PR_trees, /* Member trees is present */
Stuff_PR_trees, /* Member trees is present */
Stuff_PR_anything, /* Member anything is present */
Stuff_PR_anything, /* Member anything is present */
} Stuff_PR;
} Stuff_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_Stuff;
extern asn
_TYPE_descriptor_t asn
_DEF_Stuff;
/*** <<< TYPE-DECLS [Stuff] >>> ***/
/*** <<< TYPE-DECLS [Stuff] >>> ***/
...
@@ -164,7 +164,7 @@ typedef struct Stuff {
...
@@ -164,7 +164,7 @@ typedef struct Stuff {
A_SET_OF(Forest_t) list;
A_SET_OF(Forest_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} *trees;
} *trees;
struct anything {
struct anything {
A_SET_OF(struct anything_member {
A_SET_OF(struct anything_member {
...
@@ -175,11 +175,11 @@ typedef struct Stuff {
...
@@ -175,11 +175,11 @@ typedef struct Stuff {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} ) list;
} ) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} *anything;
} *anything;
/* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
/* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */
...
@@ -187,31 +187,31 @@ typedef struct Stuff {
...
@@ -187,31 +187,31 @@ typedef struct Stuff {
[((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
[((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Stuff_t;
} Stuff_t;
/*** <<< STAT-DEFS [Stuff] >>> ***/
/*** <<< STAT-DEFS [Stuff] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_trees[] = {
static asn
_TYPE_member_t asn
_MBR_trees[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_Forest,
.type = (void *)&asn_DEF_Forest,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_trees_tags[] = {
static ber_tlv_tag_t asn_DEF_trees_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_trees_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_trees_specs = {
sizeof(struct trees),
sizeof(struct trees),
offsetof(struct trees, _
ber_dec
_ctx),
offsetof(struct trees, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_trees = {
asn
_TYPE_descriptor_t asn
_DEF_trees = {
"trees",
"trees",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -221,42 +221,42 @@ asn1_TYPE_descriptor_t asn1_DEF_trees = {
...
@@ -221,42 +221,42 @@ asn1_TYPE_descriptor_t asn1_DEF_trees = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_trees_tags,
asn_DEF_trees_tags,
sizeof(asn
1
_DEF_trees_tags)
sizeof(asn_DEF_trees_tags)
/sizeof(asn
1
_DEF_trees_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_trees_tags[0]) - 1, /* 1 */
asn
1
_DEF_trees_tags, /* Same as above */
asn_DEF_trees_tags, /* Same as above */
sizeof(asn
1
_DEF_trees_tags)
sizeof(asn_DEF_trees_tags)
/sizeof(asn
1
_DEF_trees_tags[0]), /* 2 */
/sizeof(asn_DEF_trees_tags[0]), /* 2 */
asn
1
_MBR_trees,
asn_MBR_trees,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_trees_specs /* Additional specs */
&asn_DEF_trees_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_anything_member[] = {
static asn
_TYPE_member_t asn
_MBR_anything_member[] = {
{ ATF_NOFLAGS, 0, offsetof(struct anything_member, cup_of_coffee),
{ ATF_NOFLAGS, 0, offsetof(struct anything_member, cup_of_coffee),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_BIT_STRING,
.type = (void *)&asn_DEF_BIT_STRING,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "cup-of-coffee"
.name = "cup-of-coffee"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_anything_member_tags[] = {
static ber_tlv_tag_t asn_DEF_anything_member_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_anything_member_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_anything_member_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 }, /* cup-of-coffee at 26 */
{ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 }, /* cup-of-coffee at 26 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_anything_member_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_anything_member_specs = {
sizeof(struct anything_member),
sizeof(struct anything_member),
offsetof(struct anything_member, _
ber_dec
_ctx),
offsetof(struct anything_member, _
asn
_ctx),
asn
1
_DEF_anything_member_tag2el,
asn_DEF_anything_member_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
0, /* Start extensions */
0, /* Start extensions */
2 /* Stop extensions */
2 /* Stop extensions */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_anything_member = {
asn
_TYPE_descriptor_t asn
_DEF_anything_member = {
"",
"",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -266,37 +266,37 @@ asn1_TYPE_descriptor_t asn1_DEF_anything_member = {
...
@@ -266,37 +266,37 @@ asn1_TYPE_descriptor_t asn1_DEF_anything_member = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_anything_member_tags,
asn_DEF_anything_member_tags,
sizeof(asn
1
_DEF_anything_member_tags)
sizeof(asn_DEF_anything_member_tags)
/sizeof(asn
1
_DEF_anything_member_tags[0]), /* 1 */
/sizeof(asn_DEF_anything_member_tags[0]), /* 1 */
asn
1
_DEF_anything_member_tags, /* Same as above */
asn_DEF_anything_member_tags, /* Same as above */
sizeof(asn
1
_DEF_anything_member_tags)
sizeof(asn_DEF_anything_member_tags)
/sizeof(asn
1
_DEF_anything_member_tags[0]), /* 1 */
/sizeof(asn_DEF_anything_member_tags[0]), /* 1 */
asn
1
_MBR_anything_member,
asn_MBR_anything_member,
1, /* Elements count */
1, /* Elements count */
&asn
1
_DEF_anything_member_specs /* Additional specs */
&asn_DEF_anything_member_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_anything[] = {
static asn
_TYPE_member_t asn
_MBR_anything[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_anything_member,
.type = (void *)&asn_DEF_anything_member,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_anything_tags[] = {
static ber_tlv_tag_t asn_DEF_anything_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_anything_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_anything_specs = {
sizeof(struct anything),
sizeof(struct anything),
offsetof(struct anything, _
ber_dec
_ctx),
offsetof(struct anything, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_anything = {
asn
_TYPE_descriptor_t asn
_DEF_anything = {
"anything",
"anything",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -306,53 +306,53 @@ asn1_TYPE_descriptor_t asn1_DEF_anything = {
...
@@ -306,53 +306,53 @@ asn1_TYPE_descriptor_t asn1_DEF_anything = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_anything_tags,
asn_DEF_anything_tags,
sizeof(asn
1
_DEF_anything_tags)
sizeof(asn_DEF_anything_tags)
/sizeof(asn
1
_DEF_anything_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_anything_tags[0]) - 1, /* 1 */
asn
1
_DEF_anything_tags, /* Same as above */
asn_DEF_anything_tags, /* Same as above */
sizeof(asn
1
_DEF_anything_tags)
sizeof(asn_DEF_anything_tags)
/sizeof(asn
1
_DEF_anything_tags[0]), /* 2 */
/sizeof(asn_DEF_anything_tags[0]), /* 2 */
asn
1
_MBR_anything,
asn_MBR_anything,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_anything_specs /* Additional specs */
&asn_DEF_anything_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_Stuff[] = {
static asn
_TYPE_member_t asn
_MBR_Stuff[] = {
{ ATF_POINTER, 2, offsetof(struct Stuff, trees),
{ ATF_POINTER, 2, offsetof(struct Stuff, trees),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_trees,
.type = (void *)&asn_DEF_trees,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "trees"
.name = "trees"
},
},
{ ATF_POINTER, 1, offsetof(struct Stuff, anything),
{ ATF_POINTER, 1, offsetof(struct Stuff, anything),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_anything,
.type = (void *)&asn_DEF_anything,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "anything"
.name = "anything"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Stuff_tags[] = {
static ber_tlv_tag_t asn_DEF_Stuff_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_Stuff_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_Stuff_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trees at 23 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trees at 23 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* anything at 28 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* anything at 28 */
};
};
static uint8_t asn
1
_DEF_Stuff_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
static uint8_t asn_DEF_Stuff_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7) | (0 << 6)
(0 << 7) | (0 << 6)
};
};
static asn
1_SET_specifics_t asn1
_DEF_Stuff_specs = {
static asn
_SET_specifics_t asn
_DEF_Stuff_specs = {
sizeof(struct Stuff),
sizeof(struct Stuff),
offsetof(struct Stuff, _
ber_dec
_ctx),
offsetof(struct Stuff, _
asn
_ctx),
offsetof(struct Stuff, _presence_map),
offsetof(struct Stuff, _presence_map),
asn
1
_DEF_Stuff_tag2el,
asn_DEF_Stuff_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
0, /* Whether extensible */
0, /* Whether extensible */
(unsigned int *)asn
1
_DEF_Stuff_mmap /* Mandatory elements map */
(unsigned int *)asn_DEF_Stuff_mmap /* Mandatory elements map */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Stuff = {
asn
_TYPE_descriptor_t asn
_DEF_Stuff = {
"Stuff",
"Stuff",
SET_free,
SET_free,
SET_print,
SET_print,
...
@@ -362,14 +362,14 @@ asn1_TYPE_descriptor_t asn1_DEF_Stuff = {
...
@@ -362,14 +362,14 @@ asn1_TYPE_descriptor_t asn1_DEF_Stuff = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_encode_xer,
SET_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Stuff_tags,
asn_DEF_Stuff_tags,
sizeof(asn
1
_DEF_Stuff_tags)
sizeof(asn_DEF_Stuff_tags)
/sizeof(asn
1
_DEF_Stuff_tags[0]), /* 1 */
/sizeof(asn_DEF_Stuff_tags[0]), /* 1 */
asn
1
_DEF_Stuff_tags, /* Same as above */
asn_DEF_Stuff_tags, /* Same as above */
sizeof(asn
1
_DEF_Stuff_tags)
sizeof(asn_DEF_Stuff_tags)
/sizeof(asn
1
_DEF_Stuff_tags[0]), /* 1 */
/sizeof(asn_DEF_Stuff_tags[0]), /* 1 */
asn
1
_MBR_Stuff,
asn_MBR_Stuff,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_Stuff_specs /* Additional specs */
&asn_DEF_Stuff_specs /* Additional specs */
};
};
tests/32-sequence-of-OK.asn1.-P
View file @
dfae9758
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
/*** <<< DEPS [Programming] >>> ***/
/*** <<< DEPS [Programming] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Programming;
extern asn
_TYPE_descriptor_t asn
_DEF_Programming;
/*** <<< TYPE-DECLS [Programming] >>> ***/
/*** <<< TYPE-DECLS [Programming] >>> ***/
...
@@ -16,29 +16,29 @@ typedef struct Programming {
...
@@ -16,29 +16,29 @@ typedef struct Programming {
A_SEQUENCE_OF(Fault_t) list;
A_SEQUENCE_OF(Fault_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Programming_t;
} Programming_t;
/*** <<< STAT-DEFS [Programming] >>> ***/
/*** <<< STAT-DEFS [Programming] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Programming[] = {
static asn
_TYPE_member_t asn
_MBR_Programming[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_Fault,
.type = (void *)&asn_DEF_Fault,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Programming_tags[] = {
static ber_tlv_tag_t asn_DEF_Programming_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_Programming_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_Programming_specs = {
sizeof(struct Programming),
sizeof(struct Programming),
offsetof(struct Programming, _
ber_dec
_ctx),
offsetof(struct Programming, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Programming = {
asn
_TYPE_descriptor_t asn
_DEF_Programming = {
"Programming",
"Programming",
SEQUENCE_OF_free,
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_print,
...
@@ -48,15 +48,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Programming = {
...
@@ -48,15 +48,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Programming = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Programming_tags,
asn_DEF_Programming_tags,
sizeof(asn
1
_DEF_Programming_tags)
sizeof(asn_DEF_Programming_tags)
/sizeof(asn
1
_DEF_Programming_tags[0]), /* 1 */
/sizeof(asn_DEF_Programming_tags[0]), /* 1 */
asn
1
_DEF_Programming_tags, /* Same as above */
asn_DEF_Programming_tags, /* Same as above */
sizeof(asn
1
_DEF_Programming_tags)
sizeof(asn_DEF_Programming_tags)
/sizeof(asn
1
_DEF_Programming_tags[0]), /* 1 */
/sizeof(asn_DEF_Programming_tags[0]), /* 1 */
asn
1
_MBR_Programming,
asn_MBR_Programming,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_Programming_specs /* Additional specs */
&asn_DEF_Programming_specs /* Additional specs */
};
};
...
@@ -68,7 +68,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Programming = {
...
@@ -68,7 +68,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Programming = {
/*** <<< DEPS [Fault] >>> ***/
/*** <<< DEPS [Fault] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Fault;
extern asn
_TYPE_descriptor_t asn
_DEF_Fault;
/*** <<< TYPE-DECLS [Fault] >>> ***/
/*** <<< TYPE-DECLS [Fault] >>> ***/
...
@@ -77,29 +77,29 @@ typedef struct Fault {
...
@@ -77,29 +77,29 @@ typedef struct Fault {
A_SET_OF(Error_t) list;
A_SET_OF(Error_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Fault_t;
} Fault_t;
/*** <<< STAT-DEFS [Fault] >>> ***/
/*** <<< STAT-DEFS [Fault] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Fault[] = {
static asn
_TYPE_member_t asn
_MBR_Fault[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_Error,
.type = (void *)&asn_DEF_Error,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Fault_tags[] = {
static ber_tlv_tag_t asn_DEF_Fault_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_Fault_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_Fault_specs = {
sizeof(struct Fault),
sizeof(struct Fault),
offsetof(struct Fault, _
ber_dec
_ctx),
offsetof(struct Fault, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Fault = {
asn
_TYPE_descriptor_t asn
_DEF_Fault = {
"Fault",
"Fault",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -109,15 +109,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Fault = {
...
@@ -109,15 +109,15 @@ asn1_TYPE_descriptor_t asn1_DEF_Fault = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Fault_tags,
asn_DEF_Fault_tags,
sizeof(asn
1
_DEF_Fault_tags)
sizeof(asn_DEF_Fault_tags)
/sizeof(asn
1
_DEF_Fault_tags[0]), /* 1 */
/sizeof(asn_DEF_Fault_tags[0]), /* 1 */
asn
1
_DEF_Fault_tags, /* Same as above */
asn_DEF_Fault_tags, /* Same as above */
sizeof(asn
1
_DEF_Fault_tags)
sizeof(asn_DEF_Fault_tags)
/sizeof(asn
1
_DEF_Fault_tags[0]), /* 1 */
/sizeof(asn_DEF_Fault_tags[0]), /* 1 */
asn
1
_MBR_Fault,
asn_MBR_Fault,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_Fault_specs /* Additional specs */
&asn_DEF_Fault_specs /* Additional specs */
};
};
...
@@ -127,7 +127,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Fault = {
...
@@ -127,7 +127,7 @@ asn1_TYPE_descriptor_t asn1_DEF_Fault = {
/*** <<< DEPS [Error] >>> ***/
/*** <<< DEPS [Error] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Error;
extern asn
_TYPE_descriptor_t asn
_DEF_Error;
/*** <<< TYPE-DECLS [Error] >>> ***/
/*** <<< TYPE-DECLS [Error] >>> ***/
...
@@ -139,25 +139,25 @@ typedef struct Error {
...
@@ -139,25 +139,25 @@ typedef struct Error {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Error_t;
} Error_t;
/*** <<< STAT-DEFS [Error] >>> ***/
/*** <<< STAT-DEFS [Error] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Error_tags[] = {
static ber_tlv_tag_t asn_DEF_Error_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_Error_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_Error_tag2el[] = {
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_Error_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_Error_specs = {
sizeof(struct Error),
sizeof(struct Error),
offsetof(struct Error, _
ber_dec
_ctx),
offsetof(struct Error, _
asn
_ctx),
asn
1
_DEF_Error_tag2el,
asn_DEF_Error_tag2el,
0, /* Count of tags in the map */
0, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Error = {
asn
_TYPE_descriptor_t asn
_DEF_Error = {
"Error",
"Error",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -167,13 +167,13 @@ asn1_TYPE_descriptor_t asn1_DEF_Error = {
...
@@ -167,13 +167,13 @@ asn1_TYPE_descriptor_t asn1_DEF_Error = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Error_tags,
asn_DEF_Error_tags,
sizeof(asn
1
_DEF_Error_tags)
sizeof(asn_DEF_Error_tags)
/sizeof(asn
1
_DEF_Error_tags[0]), /* 1 */
/sizeof(asn_DEF_Error_tags[0]), /* 1 */
asn
1
_DEF_Error_tags, /* Same as above */
asn_DEF_Error_tags, /* Same as above */
sizeof(asn
1
_DEF_Error_tags)
sizeof(asn_DEF_Error_tags)
/sizeof(asn
1
_DEF_Error_tags[0]), /* 1 */
/sizeof(asn_DEF_Error_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
&asn
1
_DEF_Error_specs /* Additional specs */
&asn_DEF_Error_specs /* Additional specs */
};
};
tests/39-sequence-of-OK.asn1.-P
View file @
dfae9758
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
/*** <<< DEPS [T] >>> ***/
/*** <<< DEPS [T] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T;
extern asn
_TYPE_descriptor_t asn
_DEF_T;
/*** <<< TYPE-DECLS [T] >>> ***/
/*** <<< TYPE-DECLS [T] >>> ***/
...
@@ -20,34 +20,34 @@ typedef struct T {
...
@@ -20,34 +20,34 @@ typedef struct T {
A_SEQUENCE_OF(T2_t) list;
A_SEQUENCE_OF(T2_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} collection;
} collection;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T_t;
} T_t;
/*** <<< STAT-DEFS [T] >>> ***/
/*** <<< STAT-DEFS [T] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_collection[] = {
static asn
_TYPE_member_t asn
_MBR_collection[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_T2,
.type = (void *)&asn_DEF_T2,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_collection_tags[] = {
static ber_tlv_tag_t asn_DEF_collection_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_collection_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_collection_specs = {
sizeof(struct collection),
sizeof(struct collection),
offsetof(struct collection, _
ber_dec
_ctx),
offsetof(struct collection, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_collection = {
asn
_TYPE_descriptor_t asn
_DEF_collection = {
"collection",
"collection",
SEQUENCE_OF_free,
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_print,
...
@@ -57,49 +57,49 @@ asn1_TYPE_descriptor_t asn1_DEF_collection = {
...
@@ -57,49 +57,49 @@ asn1_TYPE_descriptor_t asn1_DEF_collection = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_collection_tags,
asn_DEF_collection_tags,
sizeof(asn
1
_DEF_collection_tags)
sizeof(asn_DEF_collection_tags)
/sizeof(asn
1
_DEF_collection_tags[0]), /* 1 */
/sizeof(asn_DEF_collection_tags[0]), /* 1 */
asn
1
_DEF_collection_tags, /* Same as above */
asn_DEF_collection_tags, /* Same as above */
sizeof(asn
1
_DEF_collection_tags)
sizeof(asn_DEF_collection_tags)
/sizeof(asn
1
_DEF_collection_tags[0]), /* 1 */
/sizeof(asn_DEF_collection_tags[0]), /* 1 */
asn
1
_MBR_collection,
asn_MBR_collection,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_collection_specs /* Additional specs */
&asn_DEF_collection_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_T[] = {
static asn
_TYPE_member_t asn
_MBR_T[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T, int),
{ ATF_NOFLAGS, 0, offsetof(struct T, int),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "int"
.name = "int"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct T, collection),
{ ATF_NOFLAGS, 0, offsetof(struct T, collection),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_collection,
.type = (void *)&asn_DEF_collection,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "collection"
.name = "collection"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T_tags[] = {
static ber_tlv_tag_t asn_DEF_T_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int at 15 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int at 15 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* collection at 17 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* collection at 17 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_T_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_T_specs = {
sizeof(struct T),
sizeof(struct T),
offsetof(struct T, _
ber_dec
_ctx),
offsetof(struct T, _
asn
_ctx),
asn
1
_DEF_T_tag2el,
asn_DEF_T_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T = {
asn
_TYPE_descriptor_t asn
_DEF_T = {
"T",
"T",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -109,15 +109,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -109,15 +109,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T_tags,
asn_DEF_T_tags,
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 1 */
/sizeof(asn_DEF_T_tags[0]), /* 1 */
asn
1
_DEF_T_tags, /* Same as above */
asn_DEF_T_tags, /* Same as above */
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 1 */
/sizeof(asn_DEF_T_tags[0]), /* 1 */
asn
1
_MBR_T,
asn_MBR_T,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_T_specs /* Additional specs */
&asn_DEF_T_specs /* Additional specs */
};
};
...
@@ -129,7 +129,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -129,7 +129,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
/*** <<< DEPS [T2] >>> ***/
/*** <<< DEPS [T2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T2;
extern asn
_TYPE_descriptor_t asn
_DEF_T2;
/*** <<< TYPE-DECLS [T2] >>> ***/
/*** <<< TYPE-DECLS [T2] >>> ***/
...
@@ -139,43 +139,43 @@ typedef struct T2 {
...
@@ -139,43 +139,43 @@ typedef struct T2 {
UTF8String_t str;
UTF8String_t str;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T2_t;
} T2_t;
/*** <<< STAT-DEFS [T2] >>> ***/
/*** <<< STAT-DEFS [T2] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T2[] = {
static asn
_TYPE_member_t asn
_MBR_T2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T2, flag),
{ ATF_NOFLAGS, 0, offsetof(struct T2, flag),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_BOOLEAN,
.type = (void *)&asn_DEF_BOOLEAN,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "flag"
.name = "flag"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct T2, str),
{ ATF_NOFLAGS, 0, offsetof(struct T2, str),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_UTF8String,
.type = (void *)&asn_DEF_UTF8String,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "str"
.name = "str"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T2_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T2_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T2_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag at 20 */
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag at 20 */
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* str at 21 */
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* str at 21 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_T2_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_T2_specs = {
sizeof(struct T2),
sizeof(struct T2),
offsetof(struct T2, _
ber_dec
_ctx),
offsetof(struct T2, _
asn
_ctx),
asn
1
_DEF_T2_tag2el,
asn_DEF_T2_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T2 = {
asn
_TYPE_descriptor_t asn
_DEF_T2 = {
"T2",
"T2",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -185,14 +185,14 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
...
@@ -185,14 +185,14 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T2_tags,
asn_DEF_T2_tags,
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 1 */
/sizeof(asn_DEF_T2_tags[0]), /* 1 */
asn
1
_DEF_T2_tags, /* Same as above */
asn_DEF_T2_tags, /* Same as above */
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 1 */
/sizeof(asn_DEF_T2_tags[0]), /* 1 */
asn
1
_MBR_T2,
asn_MBR_T2,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_T2_specs /* Additional specs */
&asn_DEF_T2_specs /* Additional specs */
};
};
tests/42-real-life-OK.asn1.-PR
View file @
dfae9758
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
/*** <<< DEPS [LogLine] >>> ***/
/*** <<< DEPS [LogLine] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_LogLine;
extern asn
_TYPE_descriptor_t asn
_DEF_LogLine;
/*** <<< TYPE-DECLS [LogLine] >>> ***/
/*** <<< TYPE-DECLS [LogLine] >>> ***/
...
@@ -20,7 +20,7 @@ typedef struct LogLine {
...
@@ -20,7 +20,7 @@ typedef struct LogLine {
A_SEQUENCE_OF(VariablePartSet_t) list;
A_SEQUENCE_OF(VariablePartSet_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} varsets;
} varsets;
/*
/*
* This type is extensible,
* This type is extensible,
...
@@ -28,13 +28,13 @@ typedef struct LogLine {
...
@@ -28,13 +28,13 @@ typedef struct LogLine {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} LogLine_t;
} LogLine_t;
/*** <<< CODE [LogLine] >>> ***/
/*** <<< CODE [LogLine] >>> ***/
static int
static int
memb_varsets_1_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
memb_varsets_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
size_t size;
size_t size;
...
@@ -65,25 +65,25 @@ memb_varsets_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -65,25 +65,25 @@ memb_varsets_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [LogLine] >>> ***/
/*** <<< STAT-DEFS [LogLine] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_varsets[] = {
static asn
_TYPE_member_t asn
_MBR_varsets[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_VariablePartSet,
.type = (void *)&asn_DEF_VariablePartSet,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_varsets_tags[] = {
static ber_tlv_tag_t asn_DEF_varsets_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_varsets_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_varsets_specs = {
sizeof(struct varsets),
sizeof(struct varsets),
offsetof(struct varsets, _
ber_dec
_ctx),
offsetof(struct varsets, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_varsets = {
asn
_TYPE_descriptor_t asn
_DEF_varsets = {
"varsets",
"varsets",
SEQUENCE_OF_free,
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_print,
...
@@ -93,49 +93,49 @@ asn1_TYPE_descriptor_t asn1_DEF_varsets = {
...
@@ -93,49 +93,49 @@ asn1_TYPE_descriptor_t asn1_DEF_varsets = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_varsets_tags,
asn_DEF_varsets_tags,
sizeof(asn
1
_DEF_varsets_tags)
sizeof(asn_DEF_varsets_tags)
/sizeof(asn
1
_DEF_varsets_tags[0]), /* 1 */
/sizeof(asn_DEF_varsets_tags[0]), /* 1 */
asn
1
_DEF_varsets_tags, /* Same as above */
asn_DEF_varsets_tags, /* Same as above */
sizeof(asn
1
_DEF_varsets_tags)
sizeof(asn_DEF_varsets_tags)
/sizeof(asn
1
_DEF_varsets_tags[0]), /* 1 */
/sizeof(asn_DEF_varsets_tags[0]), /* 1 */
asn
1
_MBR_varsets,
asn_MBR_varsets,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_varsets_specs /* Additional specs */
&asn_DEF_varsets_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_LogLine[] = {
static asn
_TYPE_member_t asn
_MBR_LogLine[] = {
{ ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
{ ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_IA5String,
.type = (void *)&asn_DEF_IA5String,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "line-digest"
.name = "line-digest"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
{ ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_varsets,
.type = (void *)&asn_DEF_varsets,
.memb_constraints = memb_varsets_1_constraint,
.memb_constraints = memb_varsets_1_constraint,
.name = "varsets"
.name = "varsets"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_LogLine_tags[] = {
static ber_tlv_tag_t asn_DEF_LogLine_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_LogLine_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_LogLine_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */
{ (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 }, /* line-digest at 23 */
{ (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 }, /* line-digest at 23 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_LogLine_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_LogLine_specs = {
sizeof(struct LogLine),
sizeof(struct LogLine),
offsetof(struct LogLine, _
ber_dec
_ctx),
offsetof(struct LogLine, _
asn
_ctx),
asn
1
_DEF_LogLine_tag2el,
asn_DEF_LogLine_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
1, /* Start extensions */
1, /* Start extensions */
3 /* Stop extensions */
3 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_LogLine = {
asn
_TYPE_descriptor_t asn
_DEF_LogLine = {
"LogLine",
"LogLine",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -145,15 +145,15 @@ asn1_TYPE_descriptor_t asn1_DEF_LogLine = {
...
@@ -145,15 +145,15 @@ asn1_TYPE_descriptor_t asn1_DEF_LogLine = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_LogLine_tags,
asn_DEF_LogLine_tags,
sizeof(asn
1
_DEF_LogLine_tags)
sizeof(asn_DEF_LogLine_tags)
/sizeof(asn
1
_DEF_LogLine_tags[0]), /* 1 */
/sizeof(asn_DEF_LogLine_tags[0]), /* 1 */
asn
1
_DEF_LogLine_tags, /* Same as above */
asn_DEF_LogLine_tags, /* Same as above */
sizeof(asn
1
_DEF_LogLine_tags)
sizeof(asn_DEF_LogLine_tags)
/sizeof(asn
1
_DEF_LogLine_tags[0]), /* 1 */
/sizeof(asn_DEF_LogLine_tags[0]), /* 1 */
asn
1
_MBR_LogLine,
asn_MBR_LogLine,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_LogLine_specs /* Additional specs */
&asn_DEF_LogLine_specs /* Additional specs */
};
};
...
@@ -167,7 +167,7 @@ asn1_TYPE_descriptor_t asn1_DEF_LogLine = {
...
@@ -167,7 +167,7 @@ asn1_TYPE_descriptor_t asn1_DEF_LogLine = {
/*** <<< DEPS [VariablePartSet] >>> ***/
/*** <<< DEPS [VariablePartSet] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_VariablePartSet;
extern asn
_TYPE_descriptor_t asn
_DEF_VariablePartSet;
/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
...
@@ -177,7 +177,7 @@ typedef struct VariablePartSet {
...
@@ -177,7 +177,7 @@ typedef struct VariablePartSet {
A_SEQUENCE_OF(VariablePart_t) list;
A_SEQUENCE_OF(VariablePart_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} vparts;
} vparts;
ActionItem_t resolution;
ActionItem_t resolution;
/*
/*
...
@@ -186,13 +186,13 @@ typedef struct VariablePartSet {
...
@@ -186,13 +186,13 @@ typedef struct VariablePartSet {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} VariablePartSet_t;
} VariablePartSet_t;
/*** <<< CODE [VariablePartSet] >>> ***/
/*** <<< CODE [VariablePartSet] >>> ***/
static int
static int
memb_vparts_2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
memb_vparts_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
if(!sptr) {
if(!sptr) {
...
@@ -213,25 +213,25 @@ memb_vparts_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -213,25 +213,25 @@ memb_vparts_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_vparts[] = {
static asn
_TYPE_member_t asn
_MBR_vparts[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_VariablePart,
.type = (void *)&asn_DEF_VariablePart,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_vparts_tags[] = {
static ber_tlv_tag_t asn_DEF_vparts_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_vparts_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_vparts_specs = {
sizeof(struct vparts),
sizeof(struct vparts),
offsetof(struct vparts, _
ber_dec
_ctx),
offsetof(struct vparts, _
asn
_ctx),
1, /* XER encoding is XMLValueList */
1, /* XER encoding is XMLValueList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_vparts = {
asn
_TYPE_descriptor_t asn
_DEF_vparts = {
"vparts",
"vparts",
SEQUENCE_OF_free,
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_print,
...
@@ -241,49 +241,49 @@ asn1_TYPE_descriptor_t asn1_DEF_vparts = {
...
@@ -241,49 +241,49 @@ asn1_TYPE_descriptor_t asn1_DEF_vparts = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_vparts_tags,
asn_DEF_vparts_tags,
sizeof(asn
1
_DEF_vparts_tags)
sizeof(asn_DEF_vparts_tags)
/sizeof(asn
1
_DEF_vparts_tags[0]), /* 1 */
/sizeof(asn_DEF_vparts_tags[0]), /* 1 */
asn
1
_DEF_vparts_tags, /* Same as above */
asn_DEF_vparts_tags, /* Same as above */
sizeof(asn
1
_DEF_vparts_tags)
sizeof(asn_DEF_vparts_tags)
/sizeof(asn
1
_DEF_vparts_tags[0]), /* 1 */
/sizeof(asn_DEF_vparts_tags[0]), /* 1 */
asn
1
_MBR_vparts,
asn_MBR_vparts,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_vparts_specs /* Additional specs */
&asn_DEF_vparts_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_VariablePartSet[] = {
static asn
_TYPE_member_t asn
_MBR_VariablePartSet[] = {
{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_vparts,
.type = (void *)&asn_DEF_vparts,
.memb_constraints = memb_vparts_2_constraint,
.memb_constraints = memb_vparts_2_constraint,
.name = "vparts"
.name = "vparts"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_ActionItem,
.type = (void *)&asn_DEF_ActionItem,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "resolution"
.name = "resolution"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_VariablePartSet_tags[] = {
static ber_tlv_tag_t asn_DEF_VariablePartSet_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_VariablePartSet_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_VariablePartSet_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* resolution at 35 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* resolution at 35 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_VariablePartSet_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_VariablePartSet_specs = {
sizeof(struct VariablePartSet),
sizeof(struct VariablePartSet),
offsetof(struct VariablePartSet, _
ber_dec
_ctx),
offsetof(struct VariablePartSet, _
asn
_ctx),
asn
1
_DEF_VariablePartSet_tag2el,
asn_DEF_VariablePartSet_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
1, /* Start extensions */
1, /* Start extensions */
3 /* Stop extensions */
3 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_VariablePartSet = {
asn
_TYPE_descriptor_t asn
_DEF_VariablePartSet = {
"VariablePartSet",
"VariablePartSet",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -293,15 +293,15 @@ asn1_TYPE_descriptor_t asn1_DEF_VariablePartSet = {
...
@@ -293,15 +293,15 @@ asn1_TYPE_descriptor_t asn1_DEF_VariablePartSet = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_VariablePartSet_tags,
asn_DEF_VariablePartSet_tags,
sizeof(asn
1
_DEF_VariablePartSet_tags)
sizeof(asn_DEF_VariablePartSet_tags)
/sizeof(asn
1
_DEF_VariablePartSet_tags[0]), /* 1 */
/sizeof(asn_DEF_VariablePartSet_tags[0]), /* 1 */
asn
1
_DEF_VariablePartSet_tags, /* Same as above */
asn_DEF_VariablePartSet_tags, /* Same as above */
sizeof(asn
1
_DEF_VariablePartSet_tags)
sizeof(asn_DEF_VariablePartSet_tags)
/sizeof(asn
1
_DEF_VariablePartSet_tags[0]), /* 1 */
/sizeof(asn_DEF_VariablePartSet_tags[0]), /* 1 */
asn
1
_MBR_VariablePartSet,
asn_MBR_VariablePartSet,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_VariablePartSet_specs /* Additional specs */
&asn_DEF_VariablePartSet_specs /* Additional specs */
};
};
...
@@ -321,7 +321,7 @@ typedef enum VariablePart_PR {
...
@@ -321,7 +321,7 @@ typedef enum VariablePart_PR {
VariablePart_PR_vrange,
VariablePart_PR_vrange,
/* Extensions may appear below */
/* Extensions may appear below */
} VariablePart_PR;
} VariablePart_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_VariablePart;
extern asn
_TYPE_descriptor_t asn
_DEF_VariablePart;
/*** <<< TYPE-DECLS [VariablePart] >>> ***/
/*** <<< TYPE-DECLS [VariablePart] >>> ***/
...
@@ -333,7 +333,7 @@ typedef struct VariablePart {
...
@@ -333,7 +333,7 @@ typedef struct VariablePart {
A_SET_OF(VisibleString_t) list;
A_SET_OF(VisibleString_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} vset;
} vset;
struct vrange {
struct vrange {
VisibleString_t from;
VisibleString_t from;
...
@@ -344,7 +344,7 @@ typedef struct VariablePart {
...
@@ -344,7 +344,7 @@ typedef struct VariablePart {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} vrange;
} vrange;
/*
/*
* This type is extensible,
* This type is extensible,
...
@@ -353,13 +353,13 @@ typedef struct VariablePart {
...
@@ -353,13 +353,13 @@ typedef struct VariablePart {
} choice;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} VariablePart_t;
} VariablePart_t;
/*** <<< CODE [VariablePart] >>> ***/
/*** <<< CODE [VariablePart] >>> ***/
static int
static int
memb_vset_3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
memb_vset_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
size_t size;
size_t size;
...
@@ -390,25 +390,25 @@ memb_vset_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -390,25 +390,25 @@ memb_vset_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
/*** <<< STAT-DEFS [VariablePart] >>> ***/
/*** <<< STAT-DEFS [VariablePart] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_vset[] = {
static asn
_TYPE_member_t asn
_MBR_vset[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_VisibleString,
.type = (void *)&asn_DEF_VisibleString,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_vset_tags[] = {
static ber_tlv_tag_t asn_DEF_vset_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_vset_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_vset_specs = {
sizeof(struct vset),
sizeof(struct vset),
offsetof(struct vset, _
ber_dec
_ctx),
offsetof(struct vset, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_vset = {
asn
_TYPE_descriptor_t asn
_DEF_vset = {
"vset",
"vset",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -418,50 +418,50 @@ asn1_TYPE_descriptor_t asn1_DEF_vset = {
...
@@ -418,50 +418,50 @@ asn1_TYPE_descriptor_t asn1_DEF_vset = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_vset_tags,
asn_DEF_vset_tags,
sizeof(asn
1
_DEF_vset_tags)
sizeof(asn_DEF_vset_tags)
/sizeof(asn
1
_DEF_vset_tags[0]), /* 1 */
/sizeof(asn_DEF_vset_tags[0]), /* 1 */
asn
1
_DEF_vset_tags, /* Same as above */
asn_DEF_vset_tags, /* Same as above */
sizeof(asn
1
_DEF_vset_tags)
sizeof(asn_DEF_vset_tags)
/sizeof(asn
1
_DEF_vset_tags[0]), /* 1 */
/sizeof(asn_DEF_vset_tags[0]), /* 1 */
asn
1
_MBR_vset,
asn_MBR_vset,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_vset_specs /* Additional specs */
&asn_DEF_vset_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_vrange[] = {
static asn
_TYPE_member_t asn
_MBR_vrange[] = {
{ ATF_NOFLAGS, 0, offsetof(struct vrange, from),
{ ATF_NOFLAGS, 0, offsetof(struct vrange, from),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_VisibleString,
.type = (void *)&asn_DEF_VisibleString,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "from"
.name = "from"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct vrange, to),
{ ATF_NOFLAGS, 0, offsetof(struct vrange, to),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_VisibleString,
.type = (void *)&asn_DEF_VisibleString,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "to"
.name = "to"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_vrange_tags[] = {
static ber_tlv_tag_t asn_DEF_vrange_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_vrange_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_vrange_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
{ (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
{ (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 }, /* to at 46 */
{ (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 }, /* to at 46 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_vrange_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_vrange_specs = {
sizeof(struct vrange),
sizeof(struct vrange),
offsetof(struct vrange, _
ber_dec
_ctx),
offsetof(struct vrange, _
asn
_ctx),
asn
1
_DEF_vrange_tag2el,
asn_DEF_vrange_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
1, /* Start extensions */
1, /* Start extensions */
3 /* Stop extensions */
3 /* Stop extensions */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_vrange = {
asn
_TYPE_descriptor_t asn
_DEF_vrange = {
"vrange",
"vrange",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -471,47 +471,47 @@ asn1_TYPE_descriptor_t asn1_DEF_vrange = {
...
@@ -471,47 +471,47 @@ asn1_TYPE_descriptor_t asn1_DEF_vrange = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_vrange_tags,
asn_DEF_vrange_tags,
sizeof(asn
1
_DEF_vrange_tags)
sizeof(asn_DEF_vrange_tags)
/sizeof(asn
1
_DEF_vrange_tags[0]), /* 1 */
/sizeof(asn_DEF_vrange_tags[0]), /* 1 */
asn
1
_DEF_vrange_tags, /* Same as above */
asn_DEF_vrange_tags, /* Same as above */
sizeof(asn
1
_DEF_vrange_tags)
sizeof(asn_DEF_vrange_tags)
/sizeof(asn
1
_DEF_vrange_tags[0]), /* 1 */
/sizeof(asn_DEF_vrange_tags[0]), /* 1 */
asn
1
_MBR_vrange,
asn_MBR_vrange,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_vrange_specs /* Additional specs */
&asn_DEF_vrange_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_VariablePart[] = {
static asn
_TYPE_member_t asn
_MBR_VariablePart[] = {
{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_vset,
.type = (void *)&asn_DEF_vset,
.memb_constraints = memb_vset_3_constraint,
.memb_constraints = memb_vset_3_constraint,
.name = "vset"
.name = "vset"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_vrange,
.type = (void *)&asn_DEF_vrange,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "vrange"
.name = "vrange"
},
},
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_VariablePart_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_VariablePart_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* vset at 42 */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* vset at 42 */
};
};
static asn
1_CHOICE_specifics_t asn1
_DEF_VariablePart_specs = {
static asn
_CHOICE_specifics_t asn
_DEF_VariablePart_specs = {
sizeof(struct VariablePart),
sizeof(struct VariablePart),
offsetof(struct VariablePart, _
ber_dec
_ctx),
offsetof(struct VariablePart, _
asn
_ctx),
offsetof(struct VariablePart, present),
offsetof(struct VariablePart, present),
sizeof(((struct VariablePart *)0)->present),
sizeof(((struct VariablePart *)0)->present),
asn
1
_DEF_VariablePart_tag2el,
asn_DEF_VariablePart_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
1 /* Whether extensible */
1 /* Whether extensible */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_VariablePart = {
asn
_TYPE_descriptor_t asn
_DEF_VariablePart = {
"VariablePart",
"VariablePart",
CHOICE_free,
CHOICE_free,
CHOICE_print,
CHOICE_print,
...
@@ -525,9 +525,9 @@ asn1_TYPE_descriptor_t asn1_DEF_VariablePart = {
...
@@ -525,9 +525,9 @@ asn1_TYPE_descriptor_t asn1_DEF_VariablePart = {
0, /* No effective tags (count) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No tags (count) */
asn
1
_MBR_VariablePart,
asn_MBR_VariablePart,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_VariablePart_specs /* Additional specs */
&asn_DEF_VariablePart_specs /* Additional specs */
};
};
...
@@ -550,7 +550,7 @@ typedef enum accept_as {
...
@@ -550,7 +550,7 @@ typedef enum accept_as {
* Enumeration is extensible
* Enumeration is extensible
*/
*/
} accept_as_e;
} accept_as_e;
extern asn
1_TYPE_descriptor_t asn1
_DEF_ActionItem;
extern asn
_TYPE_descriptor_t asn
_DEF_ActionItem;
/*** <<< TYPE-DECLS [ActionItem] >>> ***/
/*** <<< TYPE-DECLS [ActionItem] >>> ***/
...
@@ -563,7 +563,7 @@ typedef struct ActionItem {
...
@@ -563,7 +563,7 @@ typedef struct ActionItem {
A_SET_OF(VisibleString_t) list;
A_SET_OF(VisibleString_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} email;
} email;
/*
/*
* This type is extensible,
* This type is extensible,
...
@@ -571,7 +571,7 @@ typedef struct ActionItem {
...
@@ -571,7 +571,7 @@ typedef struct ActionItem {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} *notify;
} *notify;
/*
/*
* This type is extensible,
* This type is extensible,
...
@@ -579,30 +579,30 @@ typedef struct ActionItem {
...
@@ -579,30 +579,30 @@ typedef struct ActionItem {
*/
*/
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} ActionItem_t;
} ActionItem_t;
/*** <<< STAT-DEFS [ActionItem] >>> ***/
/*** <<< STAT-DEFS [ActionItem] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_email[] = {
static asn
_TYPE_member_t asn
_MBR_email[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_VisibleString,
.type = (void *)&asn_DEF_VisibleString,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_email_tags[] = {
static ber_tlv_tag_t asn_DEF_email_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_email_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_email_specs = {
sizeof(struct email),
sizeof(struct email),
offsetof(struct email, _
ber_dec
_ctx),
offsetof(struct email, _
asn
_ctx),
0, /* XER encoding is XMLDelimitedItemList */
0, /* XER encoding is XMLDelimitedItemList */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_email = {
asn
_TYPE_descriptor_t asn
_DEF_email = {
"email",
"email",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -612,50 +612,50 @@ asn1_TYPE_descriptor_t asn1_DEF_email = {
...
@@ -612,50 +612,50 @@ asn1_TYPE_descriptor_t asn1_DEF_email = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_email_tags,
asn_DEF_email_tags,
sizeof(asn
1
_DEF_email_tags)
sizeof(asn_DEF_email_tags)
/sizeof(asn
1
_DEF_email_tags[0]), /* 1 */
/sizeof(asn_DEF_email_tags[0]), /* 1 */
asn
1
_DEF_email_tags, /* Same as above */
asn_DEF_email_tags, /* Same as above */
sizeof(asn
1
_DEF_email_tags)
sizeof(asn_DEF_email_tags)
/sizeof(asn
1
_DEF_email_tags[0]), /* 1 */
/sizeof(asn_DEF_email_tags[0]), /* 1 */
asn
1
_MBR_email,
asn_MBR_email,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_email_specs /* Additional specs */
&asn_DEF_email_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_notify[] = {
static asn
_TYPE_member_t asn
_MBR_notify[] = {
{ ATF_NOFLAGS, 0, offsetof(struct notify, critical),
{ ATF_NOFLAGS, 0, offsetof(struct notify, critical),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_BOOLEAN,
.type = (void *)&asn_DEF_BOOLEAN,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "critical"
.name = "critical"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct notify, email),
{ ATF_NOFLAGS, 0, offsetof(struct notify, email),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_email,
.type = (void *)&asn_DEF_email,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "email"
.name = "email"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_notify_tags[] = {
static ber_tlv_tag_t asn_DEF_notify_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_notify_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_notify_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 }, /* email at 62 */
{ (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 }, /* email at 62 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_notify_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_notify_specs = {
sizeof(struct notify),
sizeof(struct notify),
offsetof(struct notify, _
ber_dec
_ctx),
offsetof(struct notify, _
asn
_ctx),
asn
1
_DEF_notify_tag2el,
asn_DEF_notify_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
1, /* Start extensions */
1, /* Start extensions */
3 /* Stop extensions */
3 /* Stop extensions */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_notify = {
asn
_TYPE_descriptor_t asn
_DEF_notify = {
"notify",
"notify",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -665,49 +665,49 @@ asn1_TYPE_descriptor_t asn1_DEF_notify = {
...
@@ -665,49 +665,49 @@ asn1_TYPE_descriptor_t asn1_DEF_notify = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_notify_tags,
asn_DEF_notify_tags,
sizeof(asn
1
_DEF_notify_tags)
sizeof(asn_DEF_notify_tags)
/sizeof(asn
1
_DEF_notify_tags[0]), /* 1 */
/sizeof(asn_DEF_notify_tags[0]), /* 1 */
asn
1
_DEF_notify_tags, /* Same as above */
asn_DEF_notify_tags, /* Same as above */
sizeof(asn
1
_DEF_notify_tags)
sizeof(asn_DEF_notify_tags)
/sizeof(asn
1
_DEF_notify_tags[0]), /* 1 */
/sizeof(asn_DEF_notify_tags[0]), /* 1 */
asn
1
_MBR_notify,
asn_MBR_notify,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_notify_specs /* Additional specs */
&asn_DEF_notify_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_ActionItem[] = {
static asn
_TYPE_member_t asn
_MBR_ActionItem[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
{ ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_ENUMERATED,
.type = (void *)&asn_DEF_ENUMERATED,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "accept-as"
.name = "accept-as"
},
},
{ ATF_POINTER, 1, offsetof(struct ActionItem, notify),
{ ATF_POINTER, 1, offsetof(struct ActionItem, notify),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_notify,
.type = (void *)&asn_DEF_notify,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "notify"
.name = "notify"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_ActionItem_tags[] = {
static ber_tlv_tag_t asn_DEF_ActionItem_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_ActionItem_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_ActionItem_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* notify at 61 */
{ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* notify at 61 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_ActionItem_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_ActionItem_specs = {
sizeof(struct ActionItem),
sizeof(struct ActionItem),
offsetof(struct ActionItem, _
ber_dec
_ctx),
offsetof(struct ActionItem, _
asn
_ctx),
asn
1
_DEF_ActionItem_tag2el,
asn_DEF_ActionItem_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
1, /* Start extensions */
1, /* Start extensions */
3 /* Stop extensions */
3 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_ActionItem = {
asn
_TYPE_descriptor_t asn
_DEF_ActionItem = {
"ActionItem",
"ActionItem",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -717,14 +717,14 @@ asn1_TYPE_descriptor_t asn1_DEF_ActionItem = {
...
@@ -717,14 +717,14 @@ asn1_TYPE_descriptor_t asn1_DEF_ActionItem = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_ActionItem_tags,
asn_DEF_ActionItem_tags,
sizeof(asn
1
_DEF_ActionItem_tags)
sizeof(asn_DEF_ActionItem_tags)
/sizeof(asn
1
_DEF_ActionItem_tags[0]), /* 1 */
/sizeof(asn_DEF_ActionItem_tags[0]), /* 1 */
asn
1
_DEF_ActionItem_tags, /* Same as above */
asn_DEF_ActionItem_tags, /* Same as above */
sizeof(asn
1
_DEF_ActionItem_tags)
sizeof(asn_DEF_ActionItem_tags)
/sizeof(asn
1
_DEF_ActionItem_tags[0]), /* 1 */
/sizeof(asn_DEF_ActionItem_tags[0]), /* 1 */
asn
1
_MBR_ActionItem,
asn_MBR_ActionItem,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_ActionItem_specs /* Additional specs */
&asn_DEF_ActionItem_specs /* Additional specs */
};
};
tests/44-choice-in-sequence-OK.asn1.-P
View file @
dfae9758
...
@@ -24,7 +24,7 @@ typedef enum h_PR {
...
@@ -24,7 +24,7 @@ typedef enum h_PR {
h_PR_i,
h_PR_i,
h_PR_j,
h_PR_j,
} h_PR;
} h_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_T;
extern asn
_TYPE_descriptor_t asn
_DEF_T;
/*** <<< TYPE-DECLS [T] >>> ***/
/*** <<< TYPE-DECLS [T] >>> ***/
...
@@ -44,7 +44,7 @@ typedef struct T {
...
@@ -44,7 +44,7 @@ typedef struct T {
} choice;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} e;
} e;
struct h {
struct h {
h_PR present;
h_PR present;
...
@@ -54,51 +54,51 @@ typedef struct T {
...
@@ -54,51 +54,51 @@ typedef struct T {
} choice;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} h;
} h;
} choice;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} b;
} b;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T_t;
} T_t;
/*** <<< STAT-DEFS [T] >>> ***/
/*** <<< STAT-DEFS [T] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_e[] = {
static asn
_TYPE_member_t asn
_MBR_e[] = {
{ ATF_NOFLAGS, 0, offsetof(struct e, choice.f),
{ ATF_NOFLAGS, 0, offsetof(struct e, choice.f),
.tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "f"
.name = "f"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct e, choice.g),
{ ATF_NOFLAGS, 0, offsetof(struct e, choice.g),
.tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "g"
.name = "g"
},
},
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_e_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_e_tag2el[] = {
{ (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f at 20 */
{ (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f at 20 */
{ (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g at 21 */
{ (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g at 21 */
};
};
static asn
1_CHOICE_specifics_t asn1
_DEF_e_specs = {
static asn
_CHOICE_specifics_t asn
_DEF_e_specs = {
sizeof(struct e),
sizeof(struct e),
offsetof(struct e, _
ber_dec
_ctx),
offsetof(struct e, _
asn
_ctx),
offsetof(struct e, present),
offsetof(struct e, present),
sizeof(((struct e *)0)->present),
sizeof(((struct e *)0)->present),
asn
1
_DEF_e_tag2el,
asn_DEF_e_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
0 /* Whether extensible */
0 /* Whether extensible */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_e = {
asn
_TYPE_descriptor_t asn
_DEF_e = {
"e",
"e",
CHOICE_free,
CHOICE_free,
CHOICE_print,
CHOICE_print,
...
@@ -112,42 +112,42 @@ asn1_TYPE_descriptor_t asn1_DEF_e = {
...
@@ -112,42 +112,42 @@ asn1_TYPE_descriptor_t asn1_DEF_e = {
0, /* No effective tags (count) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No tags (count) */
asn
1
_MBR_e,
asn_MBR_e,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_e_specs /* Additional specs */
&asn_DEF_e_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_h[] = {
static asn
_TYPE_member_t asn
_MBR_h[] = {
{ ATF_NOFLAGS, 0, offsetof(struct h, choice.i),
{ ATF_NOFLAGS, 0, offsetof(struct h, choice.i),
.tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct h, choice.j),
{ ATF_NOFLAGS, 0, offsetof(struct h, choice.j),
.tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "j"
.name = "j"
},
},
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_h_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_h_tag2el[] = {
{ (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i at 24 */
{ (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i at 24 */
{ (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 }, /* j at 25 */
{ (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 }, /* j at 25 */
};
};
static asn
1_CHOICE_specifics_t asn1
_DEF_h_specs = {
static asn
_CHOICE_specifics_t asn
_DEF_h_specs = {
sizeof(struct h),
sizeof(struct h),
offsetof(struct h, _
ber_dec
_ctx),
offsetof(struct h, _
asn
_ctx),
offsetof(struct h, present),
offsetof(struct h, present),
sizeof(((struct h *)0)->present),
sizeof(((struct h *)0)->present),
asn
1
_DEF_h_tag2el,
asn_DEF_h_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
0 /* Whether extensible */
0 /* Whether extensible */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_h = {
asn
_TYPE_descriptor_t asn
_DEF_h = {
"h",
"h",
CHOICE_free,
CHOICE_free,
CHOICE_print,
CHOICE_print,
...
@@ -161,59 +161,59 @@ asn1_TYPE_descriptor_t asn1_DEF_h = {
...
@@ -161,59 +161,59 @@ asn1_TYPE_descriptor_t asn1_DEF_h = {
0, /* No effective tags (count) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No tags (count) */
asn
1
_MBR_h,
asn_MBR_h,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_h_specs /* Additional specs */
&asn_DEF_h_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_b[] = {
static asn
_TYPE_member_t asn
_MBR_b[] = {
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.c),
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.c),
.tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "c"
.name = "c"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.d),
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.d),
.tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "d"
.name = "d"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.e),
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.e),
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_e,
.type = (void *)&asn_DEF_e,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "e"
.name = "e"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.h),
{ ATF_NOFLAGS, 0, offsetof(struct b, choice.h),
.tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
.tag_mode = +1, /* EXPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_h,
.type = (void *)&asn_DEF_h,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "h"
.name = "h"
},
},
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_b_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_b_tag2el[] = {
{ (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c at 17 */
{ (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c at 17 */
{ (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
{ (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
{ (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f at 20 */
{ (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f at 20 */
{ (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g at 21 */
{ (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g at 21 */
{ (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 }, /* h at 24 */
{ (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 }, /* h at 24 */
};
};
static asn
1_CHOICE_specifics_t asn1
_DEF_b_specs = {
static asn
_CHOICE_specifics_t asn
_DEF_b_specs = {
sizeof(struct b),
sizeof(struct b),
offsetof(struct b, _
ber_dec
_ctx),
offsetof(struct b, _
asn
_ctx),
offsetof(struct b, present),
offsetof(struct b, present),
sizeof(((struct b *)0)->present),
sizeof(((struct b *)0)->present),
asn
1
_DEF_b_tag2el,
asn_DEF_b_tag2el,
5, /* Count of tags in the map */
5, /* Count of tags in the map */
0 /* Whether extensible */
0 /* Whether extensible */
};
};
static /* Use -fall-defs-global to expose */
static /* Use -fall-defs-global to expose */
asn
1_TYPE_descriptor_t asn1
_DEF_b = {
asn
_TYPE_descriptor_t asn
_DEF_b = {
"b",
"b",
CHOICE_free,
CHOICE_free,
CHOICE_print,
CHOICE_print,
...
@@ -227,32 +227,32 @@ asn1_TYPE_descriptor_t asn1_DEF_b = {
...
@@ -227,32 +227,32 @@ asn1_TYPE_descriptor_t asn1_DEF_b = {
0, /* No effective tags (count) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No tags (count) */
asn
1
_MBR_b,
asn_MBR_b,
4, /* Elements count */
4, /* Elements count */
&asn
1
_DEF_b_specs /* Additional specs */
&asn_DEF_b_specs /* Additional specs */
};
};
static asn
1_TYPE_member_t asn1
_MBR_T[] = {
static asn
_TYPE_member_t asn
_MBR_T[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T, a),
{ ATF_NOFLAGS, 0, offsetof(struct T, a),
.tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
.tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_NULL,
.type = (void *)&asn_DEF_NULL,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "a"
.name = "a"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct T, b),
{ ATF_NOFLAGS, 0, offsetof(struct T, b),
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag = -1 /* Ambiguous tag (CHOICE?) */,
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_b,
.type = (void *)&asn_DEF_b,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "b"
.name = "b"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T_tags[] = {
static ber_tlv_tag_t asn_DEF_T_tags[] = {
(ASN_TAG_CLASS_PRIVATE | (1 << 2)),
(ASN_TAG_CLASS_PRIVATE | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T_tag2el[] = {
{ (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a at 15 */
{ (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a at 15 */
{ (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c at 17 */
{ (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c at 17 */
{ (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
{ (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */
...
@@ -260,15 +260,15 @@ static asn1_TYPE_tag2member_t asn1_DEF_T_tag2el[] = {
...
@@ -260,15 +260,15 @@ static asn1_TYPE_tag2member_t asn1_DEF_T_tag2el[] = {
{ (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g at 21 */
{ (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g at 21 */
{ (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 }, /* h at 24 */
{ (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 }, /* h at 24 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_T_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_T_specs = {
sizeof(struct T),
sizeof(struct T),
offsetof(struct T, _
ber_dec
_ctx),
offsetof(struct T, _
asn
_ctx),
asn
1
_DEF_T_tag2el,
asn_DEF_T_tag2el,
6, /* Count of tags in the map */
6, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T = {
asn
_TYPE_descriptor_t asn
_DEF_T = {
"T",
"T",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -278,14 +278,14 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -278,14 +278,14 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T_tags,
asn_DEF_T_tags,
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_T_tags[0]) - 1, /* 1 */
asn
1
_DEF_T_tags, /* Same as above */
asn_DEF_T_tags, /* Same as above */
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 2 */
/sizeof(asn_DEF_T_tags[0]), /* 2 */
asn
1
_MBR_T,
asn_MBR_T,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_T_specs /* Additional specs */
&asn_DEF_T_specs /* Additional specs */
};
};
tests/46-redefine-OK.asn1.-PR
View file @
dfae9758
...
@@ -11,7 +11,7 @@ typedef OCTET_STRING_t PrimitiveType_t;
...
@@ -11,7 +11,7 @@ typedef OCTET_STRING_t PrimitiveType_t;
/*** <<< FUNC-DECLS [PrimitiveType] >>> ***/
/*** <<< FUNC-DECLS [PrimitiveType] >>> ***/
/* This type is equivalent to OCTET_STRING */
/* This type is equivalent to OCTET_STRING */
#define asn
1_DEF_PrimitiveType asn1
_DEF_OCTET_STRING
#define asn
_DEF_PrimitiveType asn
_DEF_OCTET_STRING
/*** <<< CODE [PrimitiveType] >>> ***/
/*** <<< CODE [PrimitiveType] >>> ***/
...
@@ -25,7 +25,7 @@ typedef OCTET_STRING_t PrimitiveType_t;
...
@@ -25,7 +25,7 @@ typedef OCTET_STRING_t PrimitiveType_t;
/*** <<< DEPS [ConstructedType] >>> ***/
/*** <<< DEPS [ConstructedType] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_ConstructedType;
extern asn
_TYPE_descriptor_t asn
_DEF_ConstructedType;
/*** <<< TYPE-DECLS [ConstructedType] >>> ***/
/*** <<< TYPE-DECLS [ConstructedType] >>> ***/
...
@@ -34,35 +34,35 @@ typedef struct ConstructedType {
...
@@ -34,35 +34,35 @@ typedef struct ConstructedType {
PrimitiveType_t field;
PrimitiveType_t field;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} ConstructedType_t;
} ConstructedType_t;
/*** <<< STAT-DEFS [ConstructedType] >>> ***/
/*** <<< STAT-DEFS [ConstructedType] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_ConstructedType[] = {
static asn
_TYPE_member_t asn
_MBR_ConstructedType[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ConstructedType, field),
{ ATF_NOFLAGS, 0, offsetof(struct ConstructedType, field),
.tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_PrimitiveType,
.type = (void *)&asn_DEF_PrimitiveType,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "field"
.name = "field"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_ConstructedType_tags[] = {
static ber_tlv_tag_t asn_DEF_ConstructedType_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_ConstructedType_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_ConstructedType_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 0 }, /* field at 18 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 0 }, /* field at 18 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_ConstructedType_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_ConstructedType_specs = {
sizeof(struct ConstructedType),
sizeof(struct ConstructedType),
offsetof(struct ConstructedType, _
ber_dec
_ctx),
offsetof(struct ConstructedType, _
asn
_ctx),
asn
1
_DEF_ConstructedType_tag2el,
asn_DEF_ConstructedType_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_ConstructedType = {
asn
_TYPE_descriptor_t asn
_DEF_ConstructedType = {
"ConstructedType",
"ConstructedType",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -72,15 +72,15 @@ asn1_TYPE_descriptor_t asn1_DEF_ConstructedType = {
...
@@ -72,15 +72,15 @@ asn1_TYPE_descriptor_t asn1_DEF_ConstructedType = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_ConstructedType_tags,
asn_DEF_ConstructedType_tags,
sizeof(asn
1
_DEF_ConstructedType_tags)
sizeof(asn_DEF_ConstructedType_tags)
/sizeof(asn
1
_DEF_ConstructedType_tags[0]), /* 1 */
/sizeof(asn_DEF_ConstructedType_tags[0]), /* 1 */
asn
1
_DEF_ConstructedType_tags, /* Same as above */
asn_DEF_ConstructedType_tags, /* Same as above */
sizeof(asn
1
_DEF_ConstructedType_tags)
sizeof(asn_DEF_ConstructedType_tags)
/sizeof(asn
1
_DEF_ConstructedType_tags[0]), /* 1 */
/sizeof(asn_DEF_ConstructedType_tags[0]), /* 1 */
asn
1
_MBR_ConstructedType,
asn_MBR_ConstructedType,
1, /* Elements count */
1, /* Elements count */
&asn
1
_DEF_ConstructedType_specs /* Additional specs */
&asn_DEF_ConstructedType_specs /* Additional specs */
};
};
...
@@ -95,7 +95,7 @@ typedef ConstructedType_t T_t;
...
@@ -95,7 +95,7 @@ typedef ConstructedType_t T_t;
/*** <<< FUNC-DECLS [T] >>> ***/
/*** <<< FUNC-DECLS [T] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T;
extern asn
_TYPE_descriptor_t asn
_DEF_T;
asn_struct_free_f T_free;
asn_struct_free_f T_free;
asn_struct_print_f T_print;
asn_struct_print_f T_print;
asn_constr_check_f T_constraint;
asn_constr_check_f T_constraint;
...
@@ -106,10 +106,10 @@ xer_type_encoder_f T_encode_xer;
...
@@ -106,10 +106,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
/*** <<< CODE [T] >>> ***/
int
int
T_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_ConstructedType.check_constraints;
td->check_constraints = asn_DEF_ConstructedType.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -118,41 +118,41 @@ T_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -118,41 +118,41 @@ T_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_ConstructedType.free_struct;
td->free_struct = asn_DEF_ConstructedType.free_struct;
td->print_struct = asn
1
_DEF_ConstructedType.print_struct;
td->print_struct = asn_DEF_ConstructedType.print_struct;
td->ber_decoder = asn
1
_DEF_ConstructedType.ber_decoder;
td->ber_decoder = asn_DEF_ConstructedType.ber_decoder;
td->der_encoder = asn
1
_DEF_ConstructedType.der_encoder;
td->der_encoder = asn_DEF_ConstructedType.der_encoder;
td->xer_decoder = asn
1
_DEF_ConstructedType.xer_decoder;
td->xer_decoder = asn_DEF_ConstructedType.xer_decoder;
td->xer_encoder = asn
1
_DEF_ConstructedType.xer_encoder;
td->xer_encoder = asn_DEF_ConstructedType.xer_encoder;
td->elements = asn
1
_DEF_ConstructedType.elements;
td->elements = asn_DEF_ConstructedType.elements;
td->elements_count = asn
1
_DEF_ConstructedType.elements_count;
td->elements_count = asn_DEF_ConstructedType.elements_count;
td->specifics = asn
1
_DEF_ConstructedType.specifics;
td->specifics = asn_DEF_ConstructedType.specifics;
}
}
void
void
T_free(asn
1
_TYPE_descriptor_t *td,
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T_decode_ber(asn
1
_TYPE_descriptor_t *td,
T_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T_encode_der(asn
1
_TYPE_descriptor_t *td,
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
...
@@ -160,7 +160,7 @@ T_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -160,7 +160,7 @@ T_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
...
@@ -170,11 +170,11 @@ T_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -170,11 +170,11 @@ T_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T] >>> ***/
/*** <<< STAT-DEFS [T] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T_tags[] = {
static ber_tlv_tag_t asn_DEF_T_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T = {
asn
_TYPE_descriptor_t asn
_DEF_T = {
"T",
"T",
T_free,
T_free,
T_print,
T_print,
...
@@ -184,12 +184,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -184,12 +184,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T_encode_xer,
T_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T_tags,
asn_DEF_T_tags,
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_T_tags[0]) - 1, /* 1 */
asn
1
_DEF_T_tags, /* Same as above */
asn_DEF_T_tags, /* Same as above */
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 2 */
/sizeof(asn_DEF_T_tags[0]), /* 2 */
0, 0, /* Defined elsewhere */
0, 0, /* Defined elsewhere */
0 /* No specifics */
0 /* No specifics */
};
};
...
...
tests/47-set-ext-OK.asn1.-P
View file @
dfae9758
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
typedef enum T1_PR {
typedef enum T1_PR {
T1_PR_i, /* Member i is present */
T1_PR_i, /* Member i is present */
} T1_PR;
} T1_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_T1;
extern asn
_TYPE_descriptor_t asn
_DEF_T1;
/*** <<< TYPE-DECLS [T1] >>> ***/
/*** <<< TYPE-DECLS [T1] >>> ***/
...
@@ -30,39 +30,39 @@ typedef struct T1 {
...
@@ -30,39 +30,39 @@ typedef struct T1 {
[((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
[((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T1_t;
} T1_t;
/*** <<< STAT-DEFS [T1] >>> ***/
/*** <<< STAT-DEFS [T1] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T1[] = {
static asn
_TYPE_member_t asn
_MBR_T1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T1, i),
{ ATF_NOFLAGS, 0, offsetof(struct T1, i),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T1_tags[] = {
static ber_tlv_tag_t asn_DEF_T1_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T1_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T1_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 14 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 14 */
};
};
static uint8_t asn
1
_DEF_T1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
static uint8_t asn_DEF_T1_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
(1 << 7)
};
};
static asn
1_SET_specifics_t asn1
_DEF_T1_specs = {
static asn
_SET_specifics_t asn
_DEF_T1_specs = {
sizeof(struct T1),
sizeof(struct T1),
offsetof(struct T1, _
ber_dec
_ctx),
offsetof(struct T1, _
asn
_ctx),
offsetof(struct T1, _presence_map),
offsetof(struct T1, _presence_map),
asn
1
_DEF_T1_tag2el,
asn_DEF_T1_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
1, /* Whether extensible */
1, /* Whether extensible */
(unsigned int *)asn
1
_DEF_T1_mmap /* Mandatory elements map */
(unsigned int *)asn_DEF_T1_mmap /* Mandatory elements map */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T1 = {
asn
_TYPE_descriptor_t asn
_DEF_T1 = {
"T1",
"T1",
SET_free,
SET_free,
SET_print,
SET_print,
...
@@ -72,15 +72,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
...
@@ -72,15 +72,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_encode_xer,
SET_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T1_tags,
asn_DEF_T1_tags,
sizeof(asn
1
_DEF_T1_tags)
sizeof(asn_DEF_T1_tags)
/sizeof(asn
1
_DEF_T1_tags[0]), /* 1 */
/sizeof(asn_DEF_T1_tags[0]), /* 1 */
asn
1
_DEF_T1_tags, /* Same as above */
asn_DEF_T1_tags, /* Same as above */
sizeof(asn
1
_DEF_T1_tags)
sizeof(asn_DEF_T1_tags)
/sizeof(asn
1
_DEF_T1_tags[0]), /* 1 */
/sizeof(asn_DEF_T1_tags[0]), /* 1 */
asn
1
_MBR_T1,
asn_MBR_T1,
1, /* Elements count */
1, /* Elements count */
&asn
1
_DEF_T1_specs /* Additional specs */
&asn_DEF_T1_specs /* Additional specs */
};
};
...
@@ -98,7 +98,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
...
@@ -98,7 +98,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
typedef enum T2_PR {
typedef enum T2_PR {
T2_PR_i, /* Member i is present */
T2_PR_i, /* Member i is present */
} T2_PR;
} T2_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_T2;
extern asn
_TYPE_descriptor_t asn
_DEF_T2;
/*** <<< TYPE-DECLS [T2] >>> ***/
/*** <<< TYPE-DECLS [T2] >>> ***/
...
@@ -115,39 +115,39 @@ typedef struct T2 {
...
@@ -115,39 +115,39 @@ typedef struct T2 {
[((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
[((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T2_t;
} T2_t;
/*** <<< STAT-DEFS [T2] >>> ***/
/*** <<< STAT-DEFS [T2] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T2[] = {
static asn
_TYPE_member_t asn
_MBR_T2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T2, i),
{ ATF_NOFLAGS, 0, offsetof(struct T2, i),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T2_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T2_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T2_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 15 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 15 */
};
};
static uint8_t asn
1
_DEF_T2_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
static uint8_t asn_DEF_T2_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7)
(1 << 7)
};
};
static asn
1_SET_specifics_t asn1
_DEF_T2_specs = {
static asn
_SET_specifics_t asn
_DEF_T2_specs = {
sizeof(struct T2),
sizeof(struct T2),
offsetof(struct T2, _
ber_dec
_ctx),
offsetof(struct T2, _
asn
_ctx),
offsetof(struct T2, _presence_map),
offsetof(struct T2, _presence_map),
asn
1
_DEF_T2_tag2el,
asn_DEF_T2_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
1, /* Whether extensible */
1, /* Whether extensible */
(unsigned int *)asn
1
_DEF_T2_mmap /* Mandatory elements map */
(unsigned int *)asn_DEF_T2_mmap /* Mandatory elements map */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T2 = {
asn
_TYPE_descriptor_t asn
_DEF_T2 = {
"T2",
"T2",
SET_free,
SET_free,
SET_print,
SET_print,
...
@@ -157,15 +157,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
...
@@ -157,15 +157,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_encode_xer,
SET_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T2_tags,
asn_DEF_T2_tags,
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 1 */
/sizeof(asn_DEF_T2_tags[0]), /* 1 */
asn
1
_DEF_T2_tags, /* Same as above */
asn_DEF_T2_tags, /* Same as above */
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 1 */
/sizeof(asn_DEF_T2_tags[0]), /* 1 */
asn
1
_MBR_T2,
asn_MBR_T2,
1, /* Elements count */
1, /* Elements count */
&asn
1
_DEF_T2_specs /* Additional specs */
&asn_DEF_T2_specs /* Additional specs */
};
};
...
@@ -181,7 +181,7 @@ typedef enum T3_PR {
...
@@ -181,7 +181,7 @@ typedef enum T3_PR {
T3_PR_i,
T3_PR_i,
/* Extensions may appear below */
/* Extensions may appear below */
} T3_PR;
} T3_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_T3;
extern asn
_TYPE_descriptor_t asn
_DEF_T3;
/*** <<< TYPE-DECLS [T3] >>> ***/
/*** <<< TYPE-DECLS [T3] >>> ***/
...
@@ -197,33 +197,33 @@ typedef struct T3 {
...
@@ -197,33 +197,33 @@ typedef struct T3 {
} choice;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T3_t;
} T3_t;
/*** <<< STAT-DEFS [T3] >>> ***/
/*** <<< STAT-DEFS [T3] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T3[] = {
static asn
_TYPE_member_t asn
_MBR_T3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T3, choice.i),
{ ATF_NOFLAGS, 0, offsetof(struct T3, choice.i),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T3_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T3_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 16 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 16 */
};
};
static asn
1_CHOICE_specifics_t asn1
_DEF_T3_specs = {
static asn
_CHOICE_specifics_t asn
_DEF_T3_specs = {
sizeof(struct T3),
sizeof(struct T3),
offsetof(struct T3, _
ber_dec
_ctx),
offsetof(struct T3, _
asn
_ctx),
offsetof(struct T3, present),
offsetof(struct T3, present),
sizeof(((struct T3 *)0)->present),
sizeof(((struct T3 *)0)->present),
asn
1
_DEF_T3_tag2el,
asn_DEF_T3_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
1 /* Whether extensible */
1 /* Whether extensible */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T3 = {
asn
_TYPE_descriptor_t asn
_DEF_T3 = {
"T3",
"T3",
CHOICE_free,
CHOICE_free,
CHOICE_print,
CHOICE_print,
...
@@ -237,9 +237,9 @@ asn1_TYPE_descriptor_t asn1_DEF_T3 = {
...
@@ -237,9 +237,9 @@ asn1_TYPE_descriptor_t asn1_DEF_T3 = {
0, /* No effective tags (count) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No tags (count) */
asn
1
_MBR_T3,
asn_MBR_T3,
1, /* Elements count */
1, /* Elements count */
&asn
1
_DEF_T3_specs /* Additional specs */
&asn_DEF_T3_specs /* Additional specs */
};
};
...
@@ -255,7 +255,7 @@ typedef enum T4_PR {
...
@@ -255,7 +255,7 @@ typedef enum T4_PR {
T4_PR_i,
T4_PR_i,
/* Extensions may appear below */
/* Extensions may appear below */
} T4_PR;
} T4_PR;
extern asn
1_TYPE_descriptor_t asn1
_DEF_T4;
extern asn
_TYPE_descriptor_t asn
_DEF_T4;
/*** <<< TYPE-DECLS [T4] >>> ***/
/*** <<< TYPE-DECLS [T4] >>> ***/
...
@@ -271,33 +271,33 @@ typedef struct T4 {
...
@@ -271,33 +271,33 @@ typedef struct T4 {
} choice;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T4_t;
} T4_t;
/*** <<< STAT-DEFS [T4] >>> ***/
/*** <<< STAT-DEFS [T4] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T4[] = {
static asn
_TYPE_member_t asn
_MBR_T4[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T4, choice.i),
{ ATF_NOFLAGS, 0, offsetof(struct T4, choice.i),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T4_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T4_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 17 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 17 */
};
};
static asn
1_CHOICE_specifics_t asn1
_DEF_T4_specs = {
static asn
_CHOICE_specifics_t asn
_DEF_T4_specs = {
sizeof(struct T4),
sizeof(struct T4),
offsetof(struct T4, _
ber_dec
_ctx),
offsetof(struct T4, _
asn
_ctx),
offsetof(struct T4, present),
offsetof(struct T4, present),
sizeof(((struct T4 *)0)->present),
sizeof(((struct T4 *)0)->present),
asn
1
_DEF_T4_tag2el,
asn_DEF_T4_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
1 /* Whether extensible */
1 /* Whether extensible */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T4 = {
asn
_TYPE_descriptor_t asn
_DEF_T4 = {
"T4",
"T4",
CHOICE_free,
CHOICE_free,
CHOICE_print,
CHOICE_print,
...
@@ -311,8 +311,8 @@ asn1_TYPE_descriptor_t asn1_DEF_T4 = {
...
@@ -311,8 +311,8 @@ asn1_TYPE_descriptor_t asn1_DEF_T4 = {
0, /* No effective tags (count) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (pointer) */
0, /* No tags (count) */
0, /* No tags (count) */
asn
1
_MBR_T4,
asn_MBR_T4,
1, /* Elements count */
1, /* Elements count */
&asn
1
_DEF_T4_specs /* Additional specs */
&asn_DEF_T4_specs /* Additional specs */
};
};
tests/50-constraint-OK.asn1.-P
View file @
dfae9758
...
@@ -11,7 +11,7 @@ typedef INTEGER_t Int1_t;
...
@@ -11,7 +11,7 @@ typedef INTEGER_t Int1_t;
/*** <<< FUNC-DECLS [Int1] >>> ***/
/*** <<< FUNC-DECLS [Int1] >>> ***/
/* This type is equivalent to INTEGER */
/* This type is equivalent to INTEGER */
#define asn
1_DEF_Int1 asn1
_DEF_INTEGER
#define asn
_DEF_Int1 asn
_DEF_INTEGER
/*** <<< CODE [Int1] >>> ***/
/*** <<< CODE [Int1] >>> ***/
...
@@ -29,7 +29,7 @@ typedef Int1_t Int2_t;
...
@@ -29,7 +29,7 @@ typedef Int1_t Int2_t;
/*** <<< FUNC-DECLS [Int2] >>> ***/
/*** <<< FUNC-DECLS [Int2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Int2;
extern asn
_TYPE_descriptor_t asn
_DEF_Int2;
asn_struct_free_f Int2_free;
asn_struct_free_f Int2_free;
asn_struct_print_f Int2_print;
asn_struct_print_f Int2_print;
asn_constr_check_f Int2_constraint;
asn_constr_check_f Int2_constraint;
...
@@ -40,7 +40,7 @@ xer_type_encoder_f Int2_encode_xer;
...
@@ -40,7 +40,7 @@ xer_type_encoder_f Int2_encode_xer;
/*** <<< CODE [Int2] >>> ***/
/*** <<< CODE [Int2] >>> ***/
int
int
Int2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Int2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Int1_t *st = sptr;
const Int1_t *st = sptr;
long value;
long value;
...
@@ -71,41 +71,41 @@ Int2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -71,41 +71,41 @@ Int2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Int2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Int2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Int1.free_struct;
td->free_struct = asn_DEF_Int1.free_struct;
td->print_struct = asn
1
_DEF_Int1.print_struct;
td->print_struct = asn_DEF_Int1.print_struct;
td->ber_decoder = asn
1
_DEF_Int1.ber_decoder;
td->ber_decoder = asn_DEF_Int1.ber_decoder;
td->der_encoder = asn
1
_DEF_Int1.der_encoder;
td->der_encoder = asn_DEF_Int1.der_encoder;
td->xer_decoder = asn
1
_DEF_Int1.xer_decoder;
td->xer_decoder = asn_DEF_Int1.xer_decoder;
td->xer_encoder = asn
1
_DEF_Int1.xer_encoder;
td->xer_encoder = asn_DEF_Int1.xer_encoder;
td->elements = asn
1
_DEF_Int1.elements;
td->elements = asn_DEF_Int1.elements;
td->elements_count = asn
1
_DEF_Int1.elements_count;
td->elements_count = asn_DEF_Int1.elements_count;
td->specifics = asn
1
_DEF_Int1.specifics;
td->specifics = asn_DEF_Int1.specifics;
}
}
void
void
Int2_free(asn
1
_TYPE_descriptor_t *td,
Int2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Int2_inherit_TYPE_descriptor(td);
Int2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Int2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Int2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Int2_inherit_TYPE_descriptor(td);
Int2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Int2_decode_ber(asn
1
_TYPE_descriptor_t *td,
Int2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Int2_inherit_TYPE_descriptor(td);
Int2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Int2_encode_der(asn
1
_TYPE_descriptor_t *td,
Int2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int2_inherit_TYPE_descriptor(td);
Int2_inherit_TYPE_descriptor(td);
...
@@ -113,7 +113,7 @@ Int2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -113,7 +113,7 @@ Int2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Int2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Int2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int2_inherit_TYPE_descriptor(td);
Int2_inherit_TYPE_descriptor(td);
...
@@ -123,10 +123,10 @@ Int2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -123,10 +123,10 @@ Int2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Int2] >>> ***/
/*** <<< STAT-DEFS [Int2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Int2_tags[] = {
static ber_tlv_tag_t asn_DEF_Int2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Int2 = {
asn
_TYPE_descriptor_t asn
_DEF_Int2 = {
"Int2",
"Int2",
Int2_free,
Int2_free,
Int2_print,
Int2_print,
...
@@ -136,12 +136,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int2 = {
...
@@ -136,12 +136,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Int2_encode_xer,
Int2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Int2_tags,
asn_DEF_Int2_tags,
sizeof(asn
1
_DEF_Int2_tags)
sizeof(asn_DEF_Int2_tags)
/sizeof(asn
1
_DEF_Int2_tags[0]), /* 1 */
/sizeof(asn_DEF_Int2_tags[0]), /* 1 */
asn
1
_DEF_Int2_tags, /* Same as above */
asn_DEF_Int2_tags, /* Same as above */
sizeof(asn
1
_DEF_Int2_tags)
sizeof(asn_DEF_Int2_tags)
/sizeof(asn
1
_DEF_Int2_tags[0]), /* 1 */
/sizeof(asn_DEF_Int2_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -158,7 +158,7 @@ typedef Int2_t Int3_t;
...
@@ -158,7 +158,7 @@ typedef Int2_t Int3_t;
/*** <<< FUNC-DECLS [Int3] >>> ***/
/*** <<< FUNC-DECLS [Int3] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Int3;
extern asn
_TYPE_descriptor_t asn
_DEF_Int3;
asn_struct_free_f Int3_free;
asn_struct_free_f Int3_free;
asn_struct_print_f Int3_print;
asn_struct_print_f Int3_print;
asn_constr_check_f Int3_constraint;
asn_constr_check_f Int3_constraint;
...
@@ -169,7 +169,7 @@ xer_type_encoder_f Int3_encode_xer;
...
@@ -169,7 +169,7 @@ xer_type_encoder_f Int3_encode_xer;
/*** <<< CODE [Int3] >>> ***/
/*** <<< CODE [Int3] >>> ***/
int
int
Int3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Int3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Int2_t *st = sptr;
const Int2_t *st = sptr;
long value;
long value;
...
@@ -181,7 +181,7 @@ Int3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -181,7 +181,7 @@ Int3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
return -1;
return -1;
}
}
if(asn
1
_INTEGER2long(st, &value)) {
if(asn_INTEGER2long(st, &value)) {
_ASN_ERRLOG(app_errlog, app_key,
_ASN_ERRLOG(app_errlog, app_key,
"%s: value too large (%s:%d)",
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
td->name, __FILE__, __LINE__);
...
@@ -204,41 +204,41 @@ Int3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -204,41 +204,41 @@ Int3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Int3_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Int3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Int2.free_struct;
td->free_struct = asn_DEF_Int2.free_struct;
td->print_struct = asn
1
_DEF_Int2.print_struct;
td->print_struct = asn_DEF_Int2.print_struct;
td->ber_decoder = asn
1
_DEF_Int2.ber_decoder;
td->ber_decoder = asn_DEF_Int2.ber_decoder;
td->der_encoder = asn
1
_DEF_Int2.der_encoder;
td->der_encoder = asn_DEF_Int2.der_encoder;
td->xer_decoder = asn
1
_DEF_Int2.xer_decoder;
td->xer_decoder = asn_DEF_Int2.xer_decoder;
td->xer_encoder = asn
1
_DEF_Int2.xer_encoder;
td->xer_encoder = asn_DEF_Int2.xer_encoder;
td->elements = asn
1
_DEF_Int2.elements;
td->elements = asn_DEF_Int2.elements;
td->elements_count = asn
1
_DEF_Int2.elements_count;
td->elements_count = asn_DEF_Int2.elements_count;
td->specifics = asn
1
_DEF_Int2.specifics;
td->specifics = asn_DEF_Int2.specifics;
}
}
void
void
Int3_free(asn
1
_TYPE_descriptor_t *td,
Int3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Int3_inherit_TYPE_descriptor(td);
Int3_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Int3_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Int3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Int3_inherit_TYPE_descriptor(td);
Int3_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Int3_decode_ber(asn
1
_TYPE_descriptor_t *td,
Int3_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Int3_inherit_TYPE_descriptor(td);
Int3_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Int3_encode_der(asn
1
_TYPE_descriptor_t *td,
Int3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int3_inherit_TYPE_descriptor(td);
Int3_inherit_TYPE_descriptor(td);
...
@@ -246,7 +246,7 @@ Int3_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -246,7 +246,7 @@ Int3_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Int3_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Int3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int3_inherit_TYPE_descriptor(td);
Int3_inherit_TYPE_descriptor(td);
...
@@ -256,10 +256,10 @@ Int3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -256,10 +256,10 @@ Int3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Int3] >>> ***/
/*** <<< STAT-DEFS [Int3] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Int3_tags[] = {
static ber_tlv_tag_t asn_DEF_Int3_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Int3 = {
asn
_TYPE_descriptor_t asn
_DEF_Int3 = {
"Int3",
"Int3",
Int3_free,
Int3_free,
Int3_print,
Int3_print,
...
@@ -269,12 +269,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int3 = {
...
@@ -269,12 +269,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int3 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Int3_encode_xer,
Int3_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Int3_tags,
asn_DEF_Int3_tags,
sizeof(asn
1
_DEF_Int3_tags)
sizeof(asn_DEF_Int3_tags)
/sizeof(asn
1
_DEF_Int3_tags[0]), /* 1 */
/sizeof(asn_DEF_Int3_tags[0]), /* 1 */
asn
1
_DEF_Int3_tags, /* Same as above */
asn_DEF_Int3_tags, /* Same as above */
sizeof(asn
1
_DEF_Int3_tags)
sizeof(asn_DEF_Int3_tags)
/sizeof(asn
1
_DEF_Int3_tags[0]), /* 1 */
/sizeof(asn_DEF_Int3_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -291,7 +291,7 @@ typedef Int3_t Int4_t;
...
@@ -291,7 +291,7 @@ typedef Int3_t Int4_t;
/*** <<< FUNC-DECLS [Int4] >>> ***/
/*** <<< FUNC-DECLS [Int4] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Int4;
extern asn
_TYPE_descriptor_t asn
_DEF_Int4;
asn_struct_free_f Int4_free;
asn_struct_free_f Int4_free;
asn_struct_print_f Int4_print;
asn_struct_print_f Int4_print;
asn_constr_check_f Int4_constraint;
asn_constr_check_f Int4_constraint;
...
@@ -302,7 +302,7 @@ xer_type_encoder_f Int4_encode_xer;
...
@@ -302,7 +302,7 @@ xer_type_encoder_f Int4_encode_xer;
/*** <<< CODE [Int4] >>> ***/
/*** <<< CODE [Int4] >>> ***/
int
int
Int4_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Int4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Int3_t *st = sptr;
const Int3_t *st = sptr;
long value;
long value;
...
@@ -314,7 +314,7 @@ Int4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -314,7 +314,7 @@ Int4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
return -1;
return -1;
}
}
if(asn
1
_INTEGER2long(st, &value)) {
if(asn_INTEGER2long(st, &value)) {
_ASN_ERRLOG(app_errlog, app_key,
_ASN_ERRLOG(app_errlog, app_key,
"%s: value too large (%s:%d)",
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
td->name, __FILE__, __LINE__);
...
@@ -337,41 +337,41 @@ Int4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -337,41 +337,41 @@ Int4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Int4_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Int4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Int3.free_struct;
td->free_struct = asn_DEF_Int3.free_struct;
td->print_struct = asn
1
_DEF_Int3.print_struct;
td->print_struct = asn_DEF_Int3.print_struct;
td->ber_decoder = asn
1
_DEF_Int3.ber_decoder;
td->ber_decoder = asn_DEF_Int3.ber_decoder;
td->der_encoder = asn
1
_DEF_Int3.der_encoder;
td->der_encoder = asn_DEF_Int3.der_encoder;
td->xer_decoder = asn
1
_DEF_Int3.xer_decoder;
td->xer_decoder = asn_DEF_Int3.xer_decoder;
td->xer_encoder = asn
1
_DEF_Int3.xer_encoder;
td->xer_encoder = asn_DEF_Int3.xer_encoder;
td->elements = asn
1
_DEF_Int3.elements;
td->elements = asn_DEF_Int3.elements;
td->elements_count = asn
1
_DEF_Int3.elements_count;
td->elements_count = asn_DEF_Int3.elements_count;
td->specifics = asn
1
_DEF_Int3.specifics;
td->specifics = asn_DEF_Int3.specifics;
}
}
void
void
Int4_free(asn
1
_TYPE_descriptor_t *td,
Int4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Int4_inherit_TYPE_descriptor(td);
Int4_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Int4_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Int4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Int4_inherit_TYPE_descriptor(td);
Int4_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Int4_decode_ber(asn
1
_TYPE_descriptor_t *td,
Int4_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Int4_inherit_TYPE_descriptor(td);
Int4_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Int4_encode_der(asn
1
_TYPE_descriptor_t *td,
Int4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int4_inherit_TYPE_descriptor(td);
Int4_inherit_TYPE_descriptor(td);
...
@@ -379,7 +379,7 @@ Int4_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -379,7 +379,7 @@ Int4_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Int4_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Int4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int4_inherit_TYPE_descriptor(td);
Int4_inherit_TYPE_descriptor(td);
...
@@ -389,10 +389,10 @@ Int4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -389,10 +389,10 @@ Int4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Int4] >>> ***/
/*** <<< STAT-DEFS [Int4] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Int4_tags[] = {
static ber_tlv_tag_t asn_DEF_Int4_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Int4 = {
asn
_TYPE_descriptor_t asn
_DEF_Int4 = {
"Int4",
"Int4",
Int4_free,
Int4_free,
Int4_print,
Int4_print,
...
@@ -402,12 +402,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int4 = {
...
@@ -402,12 +402,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int4 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Int4_encode_xer,
Int4_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Int4_tags,
asn_DEF_Int4_tags,
sizeof(asn
1
_DEF_Int4_tags)
sizeof(asn_DEF_Int4_tags)
/sizeof(asn
1
_DEF_Int4_tags[0]), /* 1 */
/sizeof(asn_DEF_Int4_tags[0]), /* 1 */
asn
1
_DEF_Int4_tags, /* Same as above */
asn_DEF_Int4_tags, /* Same as above */
sizeof(asn
1
_DEF_Int4_tags)
sizeof(asn_DEF_Int4_tags)
/sizeof(asn
1
_DEF_Int4_tags[0]), /* 1 */
/sizeof(asn_DEF_Int4_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -424,7 +424,7 @@ typedef Int4_t Int5_t;
...
@@ -424,7 +424,7 @@ typedef Int4_t Int5_t;
/*** <<< FUNC-DECLS [Int5] >>> ***/
/*** <<< FUNC-DECLS [Int5] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Int5;
extern asn
_TYPE_descriptor_t asn
_DEF_Int5;
asn_struct_free_f Int5_free;
asn_struct_free_f Int5_free;
asn_struct_print_f Int5_print;
asn_struct_print_f Int5_print;
asn_constr_check_f Int5_constraint;
asn_constr_check_f Int5_constraint;
...
@@ -435,7 +435,7 @@ xer_type_encoder_f Int5_encode_xer;
...
@@ -435,7 +435,7 @@ xer_type_encoder_f Int5_encode_xer;
/*** <<< CODE [Int5] >>> ***/
/*** <<< CODE [Int5] >>> ***/
int
int
Int5_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Int5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Int4_t *st = sptr;
const Int4_t *st = sptr;
long value;
long value;
...
@@ -447,7 +447,7 @@ Int5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -447,7 +447,7 @@ Int5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
return -1;
return -1;
}
}
if(asn
1
_INTEGER2long(st, &value)) {
if(asn_INTEGER2long(st, &value)) {
_ASN_ERRLOG(app_errlog, app_key,
_ASN_ERRLOG(app_errlog, app_key,
"%s: value too large (%s:%d)",
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
td->name, __FILE__, __LINE__);
...
@@ -470,41 +470,41 @@ Int5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -470,41 +470,41 @@ Int5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Int5_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Int5_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Int4.free_struct;
td->free_struct = asn_DEF_Int4.free_struct;
td->print_struct = asn
1
_DEF_Int4.print_struct;
td->print_struct = asn_DEF_Int4.print_struct;
td->ber_decoder = asn
1
_DEF_Int4.ber_decoder;
td->ber_decoder = asn_DEF_Int4.ber_decoder;
td->der_encoder = asn
1
_DEF_Int4.der_encoder;
td->der_encoder = asn_DEF_Int4.der_encoder;
td->xer_decoder = asn
1
_DEF_Int4.xer_decoder;
td->xer_decoder = asn_DEF_Int4.xer_decoder;
td->xer_encoder = asn
1
_DEF_Int4.xer_encoder;
td->xer_encoder = asn_DEF_Int4.xer_encoder;
td->elements = asn
1
_DEF_Int4.elements;
td->elements = asn_DEF_Int4.elements;
td->elements_count = asn
1
_DEF_Int4.elements_count;
td->elements_count = asn_DEF_Int4.elements_count;
td->specifics = asn
1
_DEF_Int4.specifics;
td->specifics = asn_DEF_Int4.specifics;
}
}
void
void
Int5_free(asn
1
_TYPE_descriptor_t *td,
Int5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Int5_inherit_TYPE_descriptor(td);
Int5_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Int5_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Int5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Int5_inherit_TYPE_descriptor(td);
Int5_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Int5_decode_ber(asn
1
_TYPE_descriptor_t *td,
Int5_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Int5_inherit_TYPE_descriptor(td);
Int5_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Int5_encode_der(asn
1
_TYPE_descriptor_t *td,
Int5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int5_inherit_TYPE_descriptor(td);
Int5_inherit_TYPE_descriptor(td);
...
@@ -512,7 +512,7 @@ Int5_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -512,7 +512,7 @@ Int5_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Int5_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Int5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Int5_inherit_TYPE_descriptor(td);
Int5_inherit_TYPE_descriptor(td);
...
@@ -522,10 +522,10 @@ Int5_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -522,10 +522,10 @@ Int5_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Int5] >>> ***/
/*** <<< STAT-DEFS [Int5] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Int5_tags[] = {
static ber_tlv_tag_t asn_DEF_Int5_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Int5 = {
asn
_TYPE_descriptor_t asn
_DEF_Int5 = {
"Int5",
"Int5",
Int5_free,
Int5_free,
Int5_print,
Int5_print,
...
@@ -535,12 +535,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int5 = {
...
@@ -535,12 +535,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Int5 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Int5_encode_xer,
Int5_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Int5_tags,
asn_DEF_Int5_tags,
sizeof(asn
1
_DEF_Int5_tags)
sizeof(asn_DEF_Int5_tags)
/sizeof(asn
1
_DEF_Int5_tags[0]), /* 1 */
/sizeof(asn_DEF_Int5_tags[0]), /* 1 */
asn
1
_DEF_Int5_tags, /* Same as above */
asn_DEF_Int5_tags, /* Same as above */
sizeof(asn
1
_DEF_Int5_tags)
sizeof(asn_DEF_Int5_tags)
/sizeof(asn
1
_DEF_Int5_tags[0]), /* 1 */
/sizeof(asn_DEF_Int5_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -557,7 +557,7 @@ typedef INTEGER_t ExtensibleExtensions_t;
...
@@ -557,7 +557,7 @@ typedef INTEGER_t ExtensibleExtensions_t;
/*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/
/*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_ExtensibleExtensions;
extern asn
_TYPE_descriptor_t asn
_DEF_ExtensibleExtensions;
asn_struct_free_f ExtensibleExtensions_free;
asn_struct_free_f ExtensibleExtensions_free;
asn_struct_print_f ExtensibleExtensions_print;
asn_struct_print_f ExtensibleExtensions_print;
asn_constr_check_f ExtensibleExtensions_constraint;
asn_constr_check_f ExtensibleExtensions_constraint;
...
@@ -568,7 +568,7 @@ xer_type_encoder_f ExtensibleExtensions_encode_xer;
...
@@ -568,7 +568,7 @@ xer_type_encoder_f ExtensibleExtensions_encode_xer;
/*** <<< CODE [ExtensibleExtensions] >>> ***/
/*** <<< CODE [ExtensibleExtensions] >>> ***/
int
int
ExtensibleExtensions_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
ExtensibleExtensions_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const INTEGER_t *st = sptr;
const INTEGER_t *st = sptr;
long value;
long value;
...
@@ -580,7 +580,7 @@ ExtensibleExtensions_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -580,7 +580,7 @@ ExtensibleExtensions_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
return -1;
return -1;
}
}
if(asn
1
_INTEGER2long(st, &value)) {
if(asn_INTEGER2long(st, &value)) {
_ASN_ERRLOG(app_errlog, app_key,
_ASN_ERRLOG(app_errlog, app_key,
"%s: value too large (%s:%d)",
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
td->name, __FILE__, __LINE__);
...
@@ -603,41 +603,41 @@ ExtensibleExtensions_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -603,41 +603,41 @@ ExtensibleExtensions_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
ExtensibleExtensions_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
ExtensibleExtensions_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_INTEGER.free_struct;
td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn
1
_DEF_INTEGER.print_struct;
td->print_struct = asn_DEF_INTEGER.print_struct;
td->ber_decoder = asn
1
_DEF_INTEGER.ber_decoder;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
td->der_encoder = asn
1
_DEF_INTEGER.der_encoder;
td->der_encoder = asn_DEF_INTEGER.der_encoder;
td->xer_decoder = asn
1
_DEF_INTEGER.xer_decoder;
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
td->xer_encoder = asn
1
_DEF_INTEGER.xer_encoder;
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
td->elements = asn
1
_DEF_INTEGER.elements;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn
1
_DEF_INTEGER.elements_count;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn
1
_DEF_INTEGER.specifics;
td->specifics = asn_DEF_INTEGER.specifics;
}
}
void
void
ExtensibleExtensions_free(asn
1
_TYPE_descriptor_t *td,
ExtensibleExtensions_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
ExtensibleExtensions_inherit_TYPE_descriptor(td);
ExtensibleExtensions_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
ExtensibleExtensions_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
ExtensibleExtensions_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ExtensibleExtensions_inherit_TYPE_descriptor(td);
ExtensibleExtensions_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
ExtensibleExtensions_decode_ber(asn
1
_TYPE_descriptor_t *td,
ExtensibleExtensions_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
ExtensibleExtensions_inherit_TYPE_descriptor(td);
ExtensibleExtensions_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
ExtensibleExtensions_encode_der(asn
1
_TYPE_descriptor_t *td,
ExtensibleExtensions_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
ExtensibleExtensions_inherit_TYPE_descriptor(td);
ExtensibleExtensions_inherit_TYPE_descriptor(td);
...
@@ -645,7 +645,7 @@ ExtensibleExtensions_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -645,7 +645,7 @@ ExtensibleExtensions_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
ExtensibleExtensions_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
ExtensibleExtensions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
ExtensibleExtensions_inherit_TYPE_descriptor(td);
ExtensibleExtensions_inherit_TYPE_descriptor(td);
...
@@ -655,10 +655,10 @@ ExtensibleExtensions_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -655,10 +655,10 @@ ExtensibleExtensions_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/
/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_ExtensibleExtensions_tags[] = {
static ber_tlv_tag_t asn_DEF_ExtensibleExtensions_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_ExtensibleExtensions = {
asn
_TYPE_descriptor_t asn
_DEF_ExtensibleExtensions = {
"ExtensibleExtensions",
"ExtensibleExtensions",
ExtensibleExtensions_free,
ExtensibleExtensions_free,
ExtensibleExtensions_print,
ExtensibleExtensions_print,
...
@@ -668,12 +668,12 @@ asn1_TYPE_descriptor_t asn1_DEF_ExtensibleExtensions = {
...
@@ -668,12 +668,12 @@ asn1_TYPE_descriptor_t asn1_DEF_ExtensibleExtensions = {
0, /* Not implemented yet */
0, /* Not implemented yet */
ExtensibleExtensions_encode_xer,
ExtensibleExtensions_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_ExtensibleExtensions_tags,
asn_DEF_ExtensibleExtensions_tags,
sizeof(asn
1
_DEF_ExtensibleExtensions_tags)
sizeof(asn_DEF_ExtensibleExtensions_tags)
/sizeof(asn
1
_DEF_ExtensibleExtensions_tags[0]), /* 1 */
/sizeof(asn_DEF_ExtensibleExtensions_tags[0]), /* 1 */
asn
1
_DEF_ExtensibleExtensions_tags, /* Same as above */
asn_DEF_ExtensibleExtensions_tags, /* Same as above */
sizeof(asn
1
_DEF_ExtensibleExtensions_tags)
sizeof(asn_DEF_ExtensibleExtensions_tags)
/sizeof(asn
1
_DEF_ExtensibleExtensions_tags[0]), /* 1 */
/sizeof(asn_DEF_ExtensibleExtensions_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -691,7 +691,7 @@ typedef IA5String_t Str1_t;
...
@@ -691,7 +691,7 @@ typedef IA5String_t Str1_t;
/*** <<< FUNC-DECLS [Str1] >>> ***/
/*** <<< FUNC-DECLS [Str1] >>> ***/
/* This type is equivalent to IA5String */
/* This type is equivalent to IA5String */
#define asn
1_DEF_Str1 asn1
_DEF_IA5String
#define asn
_DEF_Str1 asn
_DEF_IA5String
/*** <<< CODE [Str1] >>> ***/
/*** <<< CODE [Str1] >>> ***/
...
@@ -709,7 +709,7 @@ typedef Str1_t Str2_t;
...
@@ -709,7 +709,7 @@ typedef Str1_t Str2_t;
/*** <<< FUNC-DECLS [Str2] >>> ***/
/*** <<< FUNC-DECLS [Str2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Str2;
extern asn
_TYPE_descriptor_t asn
_DEF_Str2;
asn_struct_free_f Str2_free;
asn_struct_free_f Str2_free;
asn_struct_print_f Str2_print;
asn_struct_print_f Str2_print;
asn_constr_check_f Str2_constraint;
asn_constr_check_f Str2_constraint;
...
@@ -736,7 +736,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
...
@@ -736,7 +736,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
/*** <<< CODE [Str2] >>> ***/
/*** <<< CODE [Str2] >>> ***/
int
int
Str2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Str2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Str1_t *st = sptr;
const Str1_t *st = sptr;
size_t size;
size_t size;
...
@@ -767,41 +767,41 @@ Str2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -767,41 +767,41 @@ Str2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Str2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Str2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Str1.free_struct;
td->free_struct = asn_DEF_Str1.free_struct;
td->print_struct = asn
1
_DEF_Str1.print_struct;
td->print_struct = asn_DEF_Str1.print_struct;
td->ber_decoder = asn
1
_DEF_Str1.ber_decoder;
td->ber_decoder = asn_DEF_Str1.ber_decoder;
td->der_encoder = asn
1
_DEF_Str1.der_encoder;
td->der_encoder = asn_DEF_Str1.der_encoder;
td->xer_decoder = asn
1
_DEF_Str1.xer_decoder;
td->xer_decoder = asn_DEF_Str1.xer_decoder;
td->xer_encoder = asn
1
_DEF_Str1.xer_encoder;
td->xer_encoder = asn_DEF_Str1.xer_encoder;
td->elements = asn
1
_DEF_Str1.elements;
td->elements = asn_DEF_Str1.elements;
td->elements_count = asn
1
_DEF_Str1.elements_count;
td->elements_count = asn_DEF_Str1.elements_count;
td->specifics = asn
1
_DEF_Str1.specifics;
td->specifics = asn_DEF_Str1.specifics;
}
}
void
void
Str2_free(asn
1
_TYPE_descriptor_t *td,
Str2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Str2_inherit_TYPE_descriptor(td);
Str2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Str2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Str2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Str2_inherit_TYPE_descriptor(td);
Str2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Str2_decode_ber(asn
1
_TYPE_descriptor_t *td,
Str2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Str2_inherit_TYPE_descriptor(td);
Str2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Str2_encode_der(asn
1
_TYPE_descriptor_t *td,
Str2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Str2_inherit_TYPE_descriptor(td);
Str2_inherit_TYPE_descriptor(td);
...
@@ -809,7 +809,7 @@ Str2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -809,7 +809,7 @@ Str2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Str2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Str2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Str2_inherit_TYPE_descriptor(td);
Str2_inherit_TYPE_descriptor(td);
...
@@ -819,10 +819,10 @@ Str2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -819,10 +819,10 @@ Str2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Str2] >>> ***/
/*** <<< STAT-DEFS [Str2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Str2_tags[] = {
static ber_tlv_tag_t asn_DEF_Str2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Str2 = {
asn
_TYPE_descriptor_t asn
_DEF_Str2 = {
"Str2",
"Str2",
Str2_free,
Str2_free,
Str2_print,
Str2_print,
...
@@ -832,12 +832,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Str2 = {
...
@@ -832,12 +832,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Str2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Str2_encode_xer,
Str2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Str2_tags,
asn_DEF_Str2_tags,
sizeof(asn
1
_DEF_Str2_tags)
sizeof(asn_DEF_Str2_tags)
/sizeof(asn
1
_DEF_Str2_tags[0]), /* 1 */
/sizeof(asn_DEF_Str2_tags[0]), /* 1 */
asn
1
_DEF_Str2_tags, /* Same as above */
asn_DEF_Str2_tags, /* Same as above */
sizeof(asn
1
_DEF_Str2_tags)
sizeof(asn_DEF_Str2_tags)
/sizeof(asn
1
_DEF_Str2_tags[0]), /* 1 */
/sizeof(asn_DEF_Str2_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -854,7 +854,7 @@ typedef Str2_t Str3_t;
...
@@ -854,7 +854,7 @@ typedef Str2_t Str3_t;
/*** <<< FUNC-DECLS [Str3] >>> ***/
/*** <<< FUNC-DECLS [Str3] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Str3;
extern asn
_TYPE_descriptor_t asn
_DEF_Str3;
asn_struct_free_f Str3_free;
asn_struct_free_f Str3_free;
asn_struct_print_f Str3_print;
asn_struct_print_f Str3_print;
asn_constr_check_f Str3_constraint;
asn_constr_check_f Str3_constraint;
...
@@ -892,7 +892,7 @@ static int check_permitted_alphabet_2(const void *sptr) {
...
@@ -892,7 +892,7 @@ static int check_permitted_alphabet_2(const void *sptr) {
/*** <<< CODE [Str3] >>> ***/
/*** <<< CODE [Str3] >>> ***/
int
int
Str3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Str3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Str2_t *st = sptr;
const Str2_t *st = sptr;
size_t size;
size_t size;
...
@@ -923,41 +923,41 @@ Str3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -923,41 +923,41 @@ Str3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Str3_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Str3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Str2.free_struct;
td->free_struct = asn_DEF_Str2.free_struct;
td->print_struct = asn
1
_DEF_Str2.print_struct;
td->print_struct = asn_DEF_Str2.print_struct;
td->ber_decoder = asn
1
_DEF_Str2.ber_decoder;
td->ber_decoder = asn_DEF_Str2.ber_decoder;
td->der_encoder = asn
1
_DEF_Str2.der_encoder;
td->der_encoder = asn_DEF_Str2.der_encoder;
td->xer_decoder = asn
1
_DEF_Str2.xer_decoder;
td->xer_decoder = asn_DEF_Str2.xer_decoder;
td->xer_encoder = asn
1
_DEF_Str2.xer_encoder;
td->xer_encoder = asn_DEF_Str2.xer_encoder;
td->elements = asn
1
_DEF_Str2.elements;
td->elements = asn_DEF_Str2.elements;
td->elements_count = asn
1
_DEF_Str2.elements_count;
td->elements_count = asn_DEF_Str2.elements_count;
td->specifics = asn
1
_DEF_Str2.specifics;
td->specifics = asn_DEF_Str2.specifics;
}
}
void
void
Str3_free(asn
1
_TYPE_descriptor_t *td,
Str3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Str3_inherit_TYPE_descriptor(td);
Str3_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Str3_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Str3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Str3_inherit_TYPE_descriptor(td);
Str3_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Str3_decode_ber(asn
1
_TYPE_descriptor_t *td,
Str3_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Str3_inherit_TYPE_descriptor(td);
Str3_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Str3_encode_der(asn
1
_TYPE_descriptor_t *td,
Str3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Str3_inherit_TYPE_descriptor(td);
Str3_inherit_TYPE_descriptor(td);
...
@@ -965,7 +965,7 @@ Str3_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -965,7 +965,7 @@ Str3_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Str3_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Str3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Str3_inherit_TYPE_descriptor(td);
Str3_inherit_TYPE_descriptor(td);
...
@@ -975,10 +975,10 @@ Str3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -975,10 +975,10 @@ Str3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Str3] >>> ***/
/*** <<< STAT-DEFS [Str3] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Str3_tags[] = {
static ber_tlv_tag_t asn_DEF_Str3_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Str3 = {
asn
_TYPE_descriptor_t asn
_DEF_Str3 = {
"Str3",
"Str3",
Str3_free,
Str3_free,
Str3_print,
Str3_print,
...
@@ -988,12 +988,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Str3 = {
...
@@ -988,12 +988,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Str3 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Str3_encode_xer,
Str3_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Str3_tags,
asn_DEF_Str3_tags,
sizeof(asn
1
_DEF_Str3_tags)
sizeof(asn_DEF_Str3_tags)
/sizeof(asn
1
_DEF_Str3_tags[0]), /* 1 */
/sizeof(asn_DEF_Str3_tags[0]), /* 1 */
asn
1
_DEF_Str3_tags, /* Same as above */
asn_DEF_Str3_tags, /* Same as above */
sizeof(asn
1
_DEF_Str3_tags)
sizeof(asn_DEF_Str3_tags)
/sizeof(asn
1
_DEF_Str3_tags[0]), /* 1 */
/sizeof(asn_DEF_Str3_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1010,7 +1010,7 @@ typedef IA5String_t Str4_t;
...
@@ -1010,7 +1010,7 @@ typedef IA5String_t Str4_t;
/*** <<< FUNC-DECLS [Str4] >>> ***/
/*** <<< FUNC-DECLS [Str4] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Str4;
extern asn
_TYPE_descriptor_t asn
_DEF_Str4;
asn_struct_free_f Str4_free;
asn_struct_free_f Str4_free;
asn_struct_print_f Str4_print;
asn_struct_print_f Str4_print;
asn_constr_check_f Str4_constraint;
asn_constr_check_f Str4_constraint;
...
@@ -1037,7 +1037,7 @@ static int check_permitted_alphabet_3(const void *sptr) {
...
@@ -1037,7 +1037,7 @@ static int check_permitted_alphabet_3(const void *sptr) {
/*** <<< CODE [Str4] >>> ***/
/*** <<< CODE [Str4] >>> ***/
int
int
Str4_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Str4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const IA5String_t *st = sptr;
const IA5String_t *st = sptr;
...
@@ -1065,41 +1065,41 @@ Str4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1065,41 +1065,41 @@ Str4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Str4_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Str4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_IA5String.free_struct;
td->free_struct = asn_DEF_IA5String.free_struct;
td->print_struct = asn
1
_DEF_IA5String.print_struct;
td->print_struct = asn_DEF_IA5String.print_struct;
td->ber_decoder = asn
1
_DEF_IA5String.ber_decoder;
td->ber_decoder = asn_DEF_IA5String.ber_decoder;
td->der_encoder = asn
1
_DEF_IA5String.der_encoder;
td->der_encoder = asn_DEF_IA5String.der_encoder;
td->xer_decoder = asn
1
_DEF_IA5String.xer_decoder;
td->xer_decoder = asn_DEF_IA5String.xer_decoder;
td->xer_encoder = asn
1
_DEF_IA5String.xer_encoder;
td->xer_encoder = asn_DEF_IA5String.xer_encoder;
td->elements = asn
1
_DEF_IA5String.elements;
td->elements = asn_DEF_IA5String.elements;
td->elements_count = asn
1
_DEF_IA5String.elements_count;
td->elements_count = asn_DEF_IA5String.elements_count;
td->specifics = asn
1
_DEF_IA5String.specifics;
td->specifics = asn_DEF_IA5String.specifics;
}
}
void
void
Str4_free(asn
1
_TYPE_descriptor_t *td,
Str4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Str4_inherit_TYPE_descriptor(td);
Str4_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Str4_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Str4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Str4_inherit_TYPE_descriptor(td);
Str4_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Str4_decode_ber(asn
1
_TYPE_descriptor_t *td,
Str4_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Str4_inherit_TYPE_descriptor(td);
Str4_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Str4_encode_der(asn
1
_TYPE_descriptor_t *td,
Str4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Str4_inherit_TYPE_descriptor(td);
Str4_inherit_TYPE_descriptor(td);
...
@@ -1107,7 +1107,7 @@ Str4_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1107,7 +1107,7 @@ Str4_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Str4_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Str4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Str4_inherit_TYPE_descriptor(td);
Str4_inherit_TYPE_descriptor(td);
...
@@ -1117,10 +1117,10 @@ Str4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1117,10 +1117,10 @@ Str4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Str4] >>> ***/
/*** <<< STAT-DEFS [Str4] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Str4_tags[] = {
static ber_tlv_tag_t asn_DEF_Str4_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Str4 = {
asn
_TYPE_descriptor_t asn
_DEF_Str4 = {
"Str4",
"Str4",
Str4_free,
Str4_free,
Str4_print,
Str4_print,
...
@@ -1130,12 +1130,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Str4 = {
...
@@ -1130,12 +1130,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Str4 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Str4_encode_xer,
Str4_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Str4_tags,
asn_DEF_Str4_tags,
sizeof(asn
1
_DEF_Str4_tags)
sizeof(asn_DEF_Str4_tags)
/sizeof(asn
1
_DEF_Str4_tags[0]), /* 1 */
/sizeof(asn_DEF_Str4_tags[0]), /* 1 */
asn
1
_DEF_Str4_tags, /* Same as above */
asn_DEF_Str4_tags, /* Same as above */
sizeof(asn
1
_DEF_Str4_tags)
sizeof(asn_DEF_Str4_tags)
/sizeof(asn
1
_DEF_Str4_tags[0]), /* 1 */
/sizeof(asn_DEF_Str4_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1152,7 +1152,7 @@ typedef IA5String_t PER_Visible_t;
...
@@ -1152,7 +1152,7 @@ typedef IA5String_t PER_Visible_t;
/*** <<< FUNC-DECLS [PER-Visible] >>> ***/
/*** <<< FUNC-DECLS [PER-Visible] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_PER_Visible;
extern asn
_TYPE_descriptor_t asn
_DEF_PER_Visible;
asn_struct_free_f PER_Visible_free;
asn_struct_free_f PER_Visible_free;
asn_struct_print_f PER_Visible_print;
asn_struct_print_f PER_Visible_print;
asn_constr_check_f PER_Visible_constraint;
asn_constr_check_f PER_Visible_constraint;
...
@@ -1179,7 +1179,7 @@ static int check_permitted_alphabet_4(const void *sptr) {
...
@@ -1179,7 +1179,7 @@ static int check_permitted_alphabet_4(const void *sptr) {
/*** <<< CODE [PER-Visible] >>> ***/
/*** <<< CODE [PER-Visible] >>> ***/
int
int
PER_Visible_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
PER_Visible_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const IA5String_t *st = sptr;
const IA5String_t *st = sptr;
...
@@ -1207,41 +1207,41 @@ PER_Visible_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1207,41 +1207,41 @@ PER_Visible_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
PER_Visible_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
PER_Visible_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_IA5String.free_struct;
td->free_struct = asn_DEF_IA5String.free_struct;
td->print_struct = asn
1
_DEF_IA5String.print_struct;
td->print_struct = asn_DEF_IA5String.print_struct;
td->ber_decoder = asn
1
_DEF_IA5String.ber_decoder;
td->ber_decoder = asn_DEF_IA5String.ber_decoder;
td->der_encoder = asn
1
_DEF_IA5String.der_encoder;
td->der_encoder = asn_DEF_IA5String.der_encoder;
td->xer_decoder = asn
1
_DEF_IA5String.xer_decoder;
td->xer_decoder = asn_DEF_IA5String.xer_decoder;
td->xer_encoder = asn
1
_DEF_IA5String.xer_encoder;
td->xer_encoder = asn_DEF_IA5String.xer_encoder;
td->elements = asn
1
_DEF_IA5String.elements;
td->elements = asn_DEF_IA5String.elements;
td->elements_count = asn
1
_DEF_IA5String.elements_count;
td->elements_count = asn_DEF_IA5String.elements_count;
td->specifics = asn
1
_DEF_IA5String.specifics;
td->specifics = asn_DEF_IA5String.specifics;
}
}
void
void
PER_Visible_free(asn
1
_TYPE_descriptor_t *td,
PER_Visible_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
PER_Visible_inherit_TYPE_descriptor(td);
PER_Visible_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
PER_Visible_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
PER_Visible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
PER_Visible_inherit_TYPE_descriptor(td);
PER_Visible_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
PER_Visible_decode_ber(asn
1
_TYPE_descriptor_t *td,
PER_Visible_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
PER_Visible_inherit_TYPE_descriptor(td);
PER_Visible_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
PER_Visible_encode_der(asn
1
_TYPE_descriptor_t *td,
PER_Visible_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
PER_Visible_inherit_TYPE_descriptor(td);
PER_Visible_inherit_TYPE_descriptor(td);
...
@@ -1249,7 +1249,7 @@ PER_Visible_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1249,7 +1249,7 @@ PER_Visible_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
PER_Visible_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
PER_Visible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
PER_Visible_inherit_TYPE_descriptor(td);
PER_Visible_inherit_TYPE_descriptor(td);
...
@@ -1259,10 +1259,10 @@ PER_Visible_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1259,10 +1259,10 @@ PER_Visible_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [PER-Visible] >>> ***/
/*** <<< STAT-DEFS [PER-Visible] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_PER_Visible_tags[] = {
static ber_tlv_tag_t asn_DEF_PER_Visible_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_PER_Visible = {
asn
_TYPE_descriptor_t asn
_DEF_PER_Visible = {
"PER-Visible",
"PER-Visible",
PER_Visible_free,
PER_Visible_free,
PER_Visible_print,
PER_Visible_print,
...
@@ -1272,12 +1272,12 @@ asn1_TYPE_descriptor_t asn1_DEF_PER_Visible = {
...
@@ -1272,12 +1272,12 @@ asn1_TYPE_descriptor_t asn1_DEF_PER_Visible = {
0, /* Not implemented yet */
0, /* Not implemented yet */
PER_Visible_encode_xer,
PER_Visible_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_PER_Visible_tags,
asn_DEF_PER_Visible_tags,
sizeof(asn
1
_DEF_PER_Visible_tags)
sizeof(asn_DEF_PER_Visible_tags)
/sizeof(asn
1
_DEF_PER_Visible_tags[0]), /* 1 */
/sizeof(asn_DEF_PER_Visible_tags[0]), /* 1 */
asn
1
_DEF_PER_Visible_tags, /* Same as above */
asn_DEF_PER_Visible_tags, /* Same as above */
sizeof(asn
1
_DEF_PER_Visible_tags)
sizeof(asn_DEF_PER_Visible_tags)
/sizeof(asn
1
_DEF_PER_Visible_tags[0]), /* 1 */
/sizeof(asn_DEF_PER_Visible_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1294,7 +1294,7 @@ typedef PER_Visible_t PER_Visible_2_t;
...
@@ -1294,7 +1294,7 @@ typedef PER_Visible_t PER_Visible_2_t;
/*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/
/*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_PER_Visible_2;
extern asn
_TYPE_descriptor_t asn
_DEF_PER_Visible_2;
asn_struct_free_f PER_Visible_2_free;
asn_struct_free_f PER_Visible_2_free;
asn_struct_print_f PER_Visible_2_print;
asn_struct_print_f PER_Visible_2_print;
asn_constr_check_f PER_Visible_2_constraint;
asn_constr_check_f PER_Visible_2_constraint;
...
@@ -1321,7 +1321,7 @@ static int check_permitted_alphabet_5(const void *sptr) {
...
@@ -1321,7 +1321,7 @@ static int check_permitted_alphabet_5(const void *sptr) {
/*** <<< CODE [PER-Visible-2] >>> ***/
/*** <<< CODE [PER-Visible-2] >>> ***/
int
int
PER_Visible_2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
PER_Visible_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
...
@@ -1349,41 +1349,41 @@ PER_Visible_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1349,41 +1349,41 @@ PER_Visible_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
PER_Visible_2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
PER_Visible_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
PER_Visible_2_free(asn
1
_TYPE_descriptor_t *td,
PER_Visible_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
PER_Visible_2_inherit_TYPE_descriptor(td);
PER_Visible_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
PER_Visible_2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
PER_Visible_2_inherit_TYPE_descriptor(td);
PER_Visible_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
PER_Visible_2_decode_ber(asn
1
_TYPE_descriptor_t *td,
PER_Visible_2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
PER_Visible_2_inherit_TYPE_descriptor(td);
PER_Visible_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
PER_Visible_2_encode_der(asn
1
_TYPE_descriptor_t *td,
PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
PER_Visible_2_inherit_TYPE_descriptor(td);
PER_Visible_2_inherit_TYPE_descriptor(td);
...
@@ -1391,7 +1391,7 @@ PER_Visible_2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1391,7 +1391,7 @@ PER_Visible_2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
PER_Visible_2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
PER_Visible_2_inherit_TYPE_descriptor(td);
PER_Visible_2_inherit_TYPE_descriptor(td);
...
@@ -1401,10 +1401,10 @@ PER_Visible_2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1401,10 +1401,10 @@ PER_Visible_2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/
/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_PER_Visible_2_tags[] = {
static ber_tlv_tag_t asn_DEF_PER_Visible_2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_PER_Visible_2 = {
asn
_TYPE_descriptor_t asn
_DEF_PER_Visible_2 = {
"PER-Visible-2",
"PER-Visible-2",
PER_Visible_2_free,
PER_Visible_2_free,
PER_Visible_2_print,
PER_Visible_2_print,
...
@@ -1414,12 +1414,12 @@ asn1_TYPE_descriptor_t asn1_DEF_PER_Visible_2 = {
...
@@ -1414,12 +1414,12 @@ asn1_TYPE_descriptor_t asn1_DEF_PER_Visible_2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
PER_Visible_2_encode_xer,
PER_Visible_2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_PER_Visible_2_tags,
asn_DEF_PER_Visible_2_tags,
sizeof(asn
1
_DEF_PER_Visible_2_tags)
sizeof(asn_DEF_PER_Visible_2_tags)
/sizeof(asn
1
_DEF_PER_Visible_2_tags[0]), /* 1 */
/sizeof(asn_DEF_PER_Visible_2_tags[0]), /* 1 */
asn
1
_DEF_PER_Visible_2_tags, /* Same as above */
asn_DEF_PER_Visible_2_tags, /* Same as above */
sizeof(asn
1
_DEF_PER_Visible_2_tags)
sizeof(asn_DEF_PER_Visible_2_tags)
/sizeof(asn
1
_DEF_PER_Visible_2_tags[0]), /* 1 */
/sizeof(asn_DEF_PER_Visible_2_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1436,7 +1436,7 @@ typedef PER_Visible_t Not_PER_Visible_1_t;
...
@@ -1436,7 +1436,7 @@ typedef PER_Visible_t Not_PER_Visible_1_t;
/*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/
/*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Not_PER_Visible_1;
extern asn
_TYPE_descriptor_t asn
_DEF_Not_PER_Visible_1;
asn_struct_free_f Not_PER_Visible_1_free;
asn_struct_free_f Not_PER_Visible_1_free;
asn_struct_print_f Not_PER_Visible_1_print;
asn_struct_print_f Not_PER_Visible_1_print;
asn_constr_check_f Not_PER_Visible_1_constraint;
asn_constr_check_f Not_PER_Visible_1_constraint;
...
@@ -1463,7 +1463,7 @@ static int check_permitted_alphabet_6(const void *sptr) {
...
@@ -1463,7 +1463,7 @@ static int check_permitted_alphabet_6(const void *sptr) {
/*** <<< CODE [Not-PER-Visible-1] >>> ***/
/*** <<< CODE [Not-PER-Visible-1] >>> ***/
int
int
Not_PER_Visible_1_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Not_PER_Visible_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
...
@@ -1491,41 +1491,41 @@ Not_PER_Visible_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1491,41 +1491,41 @@ Not_PER_Visible_1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Not_PER_Visible_1_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Not_PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
Not_PER_Visible_1_free(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Not_PER_Visible_1_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Not_PER_Visible_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Not_PER_Visible_1_decode_ber(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_1_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Not_PER_Visible_1_encode_der(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
...
@@ -1533,7 +1533,7 @@ Not_PER_Visible_1_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1533,7 +1533,7 @@ Not_PER_Visible_1_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Not_PER_Visible_1_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Not_PER_Visible_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
Not_PER_Visible_1_inherit_TYPE_descriptor(td);
...
@@ -1543,10 +1543,10 @@ Not_PER_Visible_1_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1543,10 +1543,10 @@ Not_PER_Visible_1_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/
/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Not_PER_Visible_1_tags[] = {
static ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Not_PER_Visible_1 = {
asn
_TYPE_descriptor_t asn
_DEF_Not_PER_Visible_1 = {
"Not-PER-Visible-1",
"Not-PER-Visible-1",
Not_PER_Visible_1_free,
Not_PER_Visible_1_free,
Not_PER_Visible_1_print,
Not_PER_Visible_1_print,
...
@@ -1556,12 +1556,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Not_PER_Visible_1 = {
...
@@ -1556,12 +1556,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Not_PER_Visible_1 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Not_PER_Visible_1_encode_xer,
Not_PER_Visible_1_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Not_PER_Visible_1_tags,
asn_DEF_Not_PER_Visible_1_tags,
sizeof(asn
1
_DEF_Not_PER_Visible_1_tags)
sizeof(asn_DEF_Not_PER_Visible_1_tags)
/sizeof(asn
1
_DEF_Not_PER_Visible_1_tags[0]), /* 1 */
/sizeof(asn_DEF_Not_PER_Visible_1_tags[0]), /* 1 */
asn
1
_DEF_Not_PER_Visible_1_tags, /* Same as above */
asn_DEF_Not_PER_Visible_1_tags, /* Same as above */
sizeof(asn
1
_DEF_Not_PER_Visible_1_tags)
sizeof(asn_DEF_Not_PER_Visible_1_tags)
/sizeof(asn
1
_DEF_Not_PER_Visible_1_tags[0]), /* 1 */
/sizeof(asn_DEF_Not_PER_Visible_1_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1578,7 +1578,7 @@ typedef PER_Visible_t Not_PER_Visible_2_t;
...
@@ -1578,7 +1578,7 @@ typedef PER_Visible_t Not_PER_Visible_2_t;
/*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/
/*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Not_PER_Visible_2;
extern asn
_TYPE_descriptor_t asn
_DEF_Not_PER_Visible_2;
asn_struct_free_f Not_PER_Visible_2_free;
asn_struct_free_f Not_PER_Visible_2_free;
asn_struct_print_f Not_PER_Visible_2_print;
asn_struct_print_f Not_PER_Visible_2_print;
asn_constr_check_f Not_PER_Visible_2_constraint;
asn_constr_check_f Not_PER_Visible_2_constraint;
...
@@ -1605,7 +1605,7 @@ static int check_permitted_alphabet_7(const void *sptr) {
...
@@ -1605,7 +1605,7 @@ static int check_permitted_alphabet_7(const void *sptr) {
/*** <<< CODE [Not-PER-Visible-2] >>> ***/
/*** <<< CODE [Not-PER-Visible-2] >>> ***/
int
int
Not_PER_Visible_2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Not_PER_Visible_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
...
@@ -1633,41 +1633,41 @@ Not_PER_Visible_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1633,41 +1633,41 @@ Not_PER_Visible_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Not_PER_Visible_2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Not_PER_Visible_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
Not_PER_Visible_2_free(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Not_PER_Visible_2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Not_PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Not_PER_Visible_2_decode_ber(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Not_PER_Visible_2_encode_der(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
...
@@ -1675,7 +1675,7 @@ Not_PER_Visible_2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1675,7 +1675,7 @@ Not_PER_Visible_2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Not_PER_Visible_2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Not_PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
Not_PER_Visible_2_inherit_TYPE_descriptor(td);
...
@@ -1685,10 +1685,10 @@ Not_PER_Visible_2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1685,10 +1685,10 @@ Not_PER_Visible_2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/
/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Not_PER_Visible_2_tags[] = {
static ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Not_PER_Visible_2 = {
asn
_TYPE_descriptor_t asn
_DEF_Not_PER_Visible_2 = {
"Not-PER-Visible-2",
"Not-PER-Visible-2",
Not_PER_Visible_2_free,
Not_PER_Visible_2_free,
Not_PER_Visible_2_print,
Not_PER_Visible_2_print,
...
@@ -1698,12 +1698,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Not_PER_Visible_2 = {
...
@@ -1698,12 +1698,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Not_PER_Visible_2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Not_PER_Visible_2_encode_xer,
Not_PER_Visible_2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Not_PER_Visible_2_tags,
asn_DEF_Not_PER_Visible_2_tags,
sizeof(asn
1
_DEF_Not_PER_Visible_2_tags)
sizeof(asn_DEF_Not_PER_Visible_2_tags)
/sizeof(asn
1
_DEF_Not_PER_Visible_2_tags[0]), /* 1 */
/sizeof(asn_DEF_Not_PER_Visible_2_tags[0]), /* 1 */
asn
1
_DEF_Not_PER_Visible_2_tags, /* Same as above */
asn_DEF_Not_PER_Visible_2_tags, /* Same as above */
sizeof(asn
1
_DEF_Not_PER_Visible_2_tags)
sizeof(asn_DEF_Not_PER_Visible_2_tags)
/sizeof(asn
1
_DEF_Not_PER_Visible_2_tags[0]), /* 1 */
/sizeof(asn_DEF_Not_PER_Visible_2_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1720,7 +1720,7 @@ typedef PER_Visible_t Not_PER_Visible_3_t;
...
@@ -1720,7 +1720,7 @@ typedef PER_Visible_t Not_PER_Visible_3_t;
/*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/
/*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Not_PER_Visible_3;
extern asn
_TYPE_descriptor_t asn
_DEF_Not_PER_Visible_3;
asn_struct_free_f Not_PER_Visible_3_free;
asn_struct_free_f Not_PER_Visible_3_free;
asn_struct_print_f Not_PER_Visible_3_print;
asn_struct_print_f Not_PER_Visible_3_print;
asn_constr_check_f Not_PER_Visible_3_constraint;
asn_constr_check_f Not_PER_Visible_3_constraint;
...
@@ -1747,7 +1747,7 @@ static int check_permitted_alphabet_8(const void *sptr) {
...
@@ -1747,7 +1747,7 @@ static int check_permitted_alphabet_8(const void *sptr) {
/*** <<< CODE [Not-PER-Visible-3] >>> ***/
/*** <<< CODE [Not-PER-Visible-3] >>> ***/
int
int
Not_PER_Visible_3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Not_PER_Visible_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
...
@@ -1775,41 +1775,41 @@ Not_PER_Visible_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1775,41 +1775,41 @@ Not_PER_Visible_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Not_PER_Visible_3_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Not_PER_Visible_3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
Not_PER_Visible_3_free(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Not_PER_Visible_3_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Not_PER_Visible_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Not_PER_Visible_3_decode_ber(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_3_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Not_PER_Visible_3_encode_der(asn
1
_TYPE_descriptor_t *td,
Not_PER_Visible_3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
...
@@ -1817,7 +1817,7 @@ Not_PER_Visible_3_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1817,7 +1817,7 @@ Not_PER_Visible_3_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Not_PER_Visible_3_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Not_PER_Visible_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
Not_PER_Visible_3_inherit_TYPE_descriptor(td);
...
@@ -1827,10 +1827,10 @@ Not_PER_Visible_3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1827,10 +1827,10 @@ Not_PER_Visible_3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/
/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Not_PER_Visible_3_tags[] = {
static ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Not_PER_Visible_3 = {
asn
_TYPE_descriptor_t asn
_DEF_Not_PER_Visible_3 = {
"Not-PER-Visible-3",
"Not-PER-Visible-3",
Not_PER_Visible_3_free,
Not_PER_Visible_3_free,
Not_PER_Visible_3_print,
Not_PER_Visible_3_print,
...
@@ -1840,12 +1840,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Not_PER_Visible_3 = {
...
@@ -1840,12 +1840,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Not_PER_Visible_3 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Not_PER_Visible_3_encode_xer,
Not_PER_Visible_3_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Not_PER_Visible_3_tags,
asn_DEF_Not_PER_Visible_3_tags,
sizeof(asn
1
_DEF_Not_PER_Visible_3_tags)
sizeof(asn_DEF_Not_PER_Visible_3_tags)
/sizeof(asn
1
_DEF_Not_PER_Visible_3_tags[0]), /* 1 */
/sizeof(asn_DEF_Not_PER_Visible_3_tags[0]), /* 1 */
asn
1
_DEF_Not_PER_Visible_3_tags, /* Same as above */
asn_DEF_Not_PER_Visible_3_tags, /* Same as above */
sizeof(asn
1
_DEF_Not_PER_Visible_3_tags)
sizeof(asn_DEF_Not_PER_Visible_3_tags)
/sizeof(asn
1
_DEF_Not_PER_Visible_3_tags[0]), /* 1 */
/sizeof(asn_DEF_Not_PER_Visible_3_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -1862,7 +1862,7 @@ typedef PER_Visible_t SIZE_but_not_FROM_t;
...
@@ -1862,7 +1862,7 @@ typedef PER_Visible_t SIZE_but_not_FROM_t;
/*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/
/*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_SIZE_but_not_FROM;
extern asn
_TYPE_descriptor_t asn
_DEF_SIZE_but_not_FROM;
asn_struct_free_f SIZE_but_not_FROM_free;
asn_struct_free_f SIZE_but_not_FROM_free;
asn_struct_print_f SIZE_but_not_FROM_print;
asn_struct_print_f SIZE_but_not_FROM_print;
asn_constr_check_f SIZE_but_not_FROM_constraint;
asn_constr_check_f SIZE_but_not_FROM_constraint;
...
@@ -1889,7 +1889,7 @@ static int check_permitted_alphabet_9(const void *sptr) {
...
@@ -1889,7 +1889,7 @@ static int check_permitted_alphabet_9(const void *sptr) {
/*** <<< CODE [SIZE-but-not-FROM] >>> ***/
/*** <<< CODE [SIZE-but-not-FROM] >>> ***/
int
int
SIZE_but_not_FROM_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
SIZE_but_not_FROM_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
size_t size;
size_t size;
...
@@ -1920,41 +1920,41 @@ SIZE_but_not_FROM_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -1920,41 +1920,41 @@ SIZE_but_not_FROM_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
SIZE_but_not_FROM_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
SIZE_but_not_FROM_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
SIZE_but_not_FROM_free(asn
1
_TYPE_descriptor_t *td,
SIZE_but_not_FROM_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
SIZE_but_not_FROM_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
SIZE_but_not_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
SIZE_but_not_FROM_decode_ber(asn
1
_TYPE_descriptor_t *td,
SIZE_but_not_FROM_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
SIZE_but_not_FROM_encode_der(asn
1
_TYPE_descriptor_t *td,
SIZE_but_not_FROM_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
...
@@ -1962,7 +1962,7 @@ SIZE_but_not_FROM_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -1962,7 +1962,7 @@ SIZE_but_not_FROM_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
SIZE_but_not_FROM_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
SIZE_but_not_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
SIZE_but_not_FROM_inherit_TYPE_descriptor(td);
...
@@ -1972,10 +1972,10 @@ SIZE_but_not_FROM_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -1972,10 +1972,10 @@ SIZE_but_not_FROM_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/
/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_SIZE_but_not_FROM_tags[] = {
static ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_SIZE_but_not_FROM = {
asn
_TYPE_descriptor_t asn
_DEF_SIZE_but_not_FROM = {
"SIZE-but-not-FROM",
"SIZE-but-not-FROM",
SIZE_but_not_FROM_free,
SIZE_but_not_FROM_free,
SIZE_but_not_FROM_print,
SIZE_but_not_FROM_print,
...
@@ -1985,12 +1985,12 @@ asn1_TYPE_descriptor_t asn1_DEF_SIZE_but_not_FROM = {
...
@@ -1985,12 +1985,12 @@ asn1_TYPE_descriptor_t asn1_DEF_SIZE_but_not_FROM = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SIZE_but_not_FROM_encode_xer,
SIZE_but_not_FROM_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_SIZE_but_not_FROM_tags,
asn_DEF_SIZE_but_not_FROM_tags,
sizeof(asn
1
_DEF_SIZE_but_not_FROM_tags)
sizeof(asn_DEF_SIZE_but_not_FROM_tags)
/sizeof(asn
1
_DEF_SIZE_but_not_FROM_tags[0]), /* 1 */
/sizeof(asn_DEF_SIZE_but_not_FROM_tags[0]), /* 1 */
asn
1
_DEF_SIZE_but_not_FROM_tags, /* Same as above */
asn_DEF_SIZE_but_not_FROM_tags, /* Same as above */
sizeof(asn
1
_DEF_SIZE_but_not_FROM_tags)
sizeof(asn_DEF_SIZE_but_not_FROM_tags)
/sizeof(asn
1
_DEF_SIZE_but_not_FROM_tags[0]), /* 1 */
/sizeof(asn_DEF_SIZE_but_not_FROM_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -2007,7 +2007,7 @@ typedef PER_Visible_t SIZE_and_FROM_t;
...
@@ -2007,7 +2007,7 @@ typedef PER_Visible_t SIZE_and_FROM_t;
/*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/
/*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_SIZE_and_FROM;
extern asn
_TYPE_descriptor_t asn
_DEF_SIZE_and_FROM;
asn_struct_free_f SIZE_and_FROM_free;
asn_struct_free_f SIZE_and_FROM_free;
asn_struct_print_f SIZE_and_FROM_print;
asn_struct_print_f SIZE_and_FROM_print;
asn_constr_check_f SIZE_and_FROM_constraint;
asn_constr_check_f SIZE_and_FROM_constraint;
...
@@ -2034,7 +2034,7 @@ static int check_permitted_alphabet_10(const void *sptr) {
...
@@ -2034,7 +2034,7 @@ static int check_permitted_alphabet_10(const void *sptr) {
/*** <<< CODE [SIZE-and-FROM] >>> ***/
/*** <<< CODE [SIZE-and-FROM] >>> ***/
int
int
SIZE_and_FROM_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
SIZE_and_FROM_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
size_t size;
size_t size;
...
@@ -2065,41 +2065,41 @@ SIZE_and_FROM_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -2065,41 +2065,41 @@ SIZE_and_FROM_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
SIZE_and_FROM_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
SIZE_and_FROM_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
SIZE_and_FROM_free(asn
1
_TYPE_descriptor_t *td,
SIZE_and_FROM_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
SIZE_and_FROM_inherit_TYPE_descriptor(td);
SIZE_and_FROM_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
SIZE_and_FROM_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
SIZE_and_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SIZE_and_FROM_inherit_TYPE_descriptor(td);
SIZE_and_FROM_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
SIZE_and_FROM_decode_ber(asn
1
_TYPE_descriptor_t *td,
SIZE_and_FROM_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
SIZE_and_FROM_inherit_TYPE_descriptor(td);
SIZE_and_FROM_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
SIZE_and_FROM_encode_der(asn
1
_TYPE_descriptor_t *td,
SIZE_and_FROM_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
SIZE_and_FROM_inherit_TYPE_descriptor(td);
SIZE_and_FROM_inherit_TYPE_descriptor(td);
...
@@ -2107,7 +2107,7 @@ SIZE_and_FROM_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -2107,7 +2107,7 @@ SIZE_and_FROM_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
SIZE_and_FROM_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
SIZE_and_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
SIZE_and_FROM_inherit_TYPE_descriptor(td);
SIZE_and_FROM_inherit_TYPE_descriptor(td);
...
@@ -2117,10 +2117,10 @@ SIZE_and_FROM_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -2117,10 +2117,10 @@ SIZE_and_FROM_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/
/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_SIZE_and_FROM_tags[] = {
static ber_tlv_tag_t asn_DEF_SIZE_and_FROM_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_SIZE_and_FROM = {
asn
_TYPE_descriptor_t asn
_DEF_SIZE_and_FROM = {
"SIZE-and-FROM",
"SIZE-and-FROM",
SIZE_and_FROM_free,
SIZE_and_FROM_free,
SIZE_and_FROM_print,
SIZE_and_FROM_print,
...
@@ -2130,12 +2130,12 @@ asn1_TYPE_descriptor_t asn1_DEF_SIZE_and_FROM = {
...
@@ -2130,12 +2130,12 @@ asn1_TYPE_descriptor_t asn1_DEF_SIZE_and_FROM = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SIZE_and_FROM_encode_xer,
SIZE_and_FROM_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_SIZE_and_FROM_tags,
asn_DEF_SIZE_and_FROM_tags,
sizeof(asn
1
_DEF_SIZE_and_FROM_tags)
sizeof(asn_DEF_SIZE_and_FROM_tags)
/sizeof(asn
1
_DEF_SIZE_and_FROM_tags[0]), /* 1 */
/sizeof(asn_DEF_SIZE_and_FROM_tags[0]), /* 1 */
asn
1
_DEF_SIZE_and_FROM_tags, /* Same as above */
asn_DEF_SIZE_and_FROM_tags, /* Same as above */
sizeof(asn
1
_DEF_SIZE_and_FROM_tags)
sizeof(asn_DEF_SIZE_and_FROM_tags)
/sizeof(asn
1
_DEF_SIZE_and_FROM_tags[0]), /* 1 */
/sizeof(asn_DEF_SIZE_and_FROM_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -2152,7 +2152,7 @@ typedef PER_Visible_t Neither_SIZE_nor_FROM_t;
...
@@ -2152,7 +2152,7 @@ typedef PER_Visible_t Neither_SIZE_nor_FROM_t;
/*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/
/*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Neither_SIZE_nor_FROM;
extern asn
_TYPE_descriptor_t asn
_DEF_Neither_SIZE_nor_FROM;
asn_struct_free_f Neither_SIZE_nor_FROM_free;
asn_struct_free_f Neither_SIZE_nor_FROM_free;
asn_struct_print_f Neither_SIZE_nor_FROM_print;
asn_struct_print_f Neither_SIZE_nor_FROM_print;
asn_constr_check_f Neither_SIZE_nor_FROM_constraint;
asn_constr_check_f Neither_SIZE_nor_FROM_constraint;
...
@@ -2179,7 +2179,7 @@ static int check_permitted_alphabet_11(const void *sptr) {
...
@@ -2179,7 +2179,7 @@ static int check_permitted_alphabet_11(const void *sptr) {
/*** <<< CODE [Neither-SIZE-nor-FROM] >>> ***/
/*** <<< CODE [Neither-SIZE-nor-FROM] >>> ***/
int
int
Neither_SIZE_nor_FROM_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Neither_SIZE_nor_FROM_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const PER_Visible_t *st = sptr;
const PER_Visible_t *st = sptr;
...
@@ -2207,41 +2207,41 @@ Neither_SIZE_nor_FROM_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -2207,41 +2207,41 @@ Neither_SIZE_nor_FROM_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_PER_Visible.free_struct;
td->free_struct = asn_DEF_PER_Visible.free_struct;
td->print_struct = asn
1
_DEF_PER_Visible.print_struct;
td->print_struct = asn_DEF_PER_Visible.print_struct;
td->ber_decoder = asn
1
_DEF_PER_Visible.ber_decoder;
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
td->der_encoder = asn
1
_DEF_PER_Visible.der_encoder;
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
td->xer_decoder = asn
1
_DEF_PER_Visible.xer_decoder;
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
td->xer_encoder = asn
1
_DEF_PER_Visible.xer_encoder;
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
td->elements = asn
1
_DEF_PER_Visible.elements;
td->elements = asn_DEF_PER_Visible.elements;
td->elements_count = asn
1
_DEF_PER_Visible.elements_count;
td->elements_count = asn_DEF_PER_Visible.elements_count;
td->specifics = asn
1
_DEF_PER_Visible.specifics;
td->specifics = asn_DEF_PER_Visible.specifics;
}
}
void
void
Neither_SIZE_nor_FROM_free(asn
1
_TYPE_descriptor_t *td,
Neither_SIZE_nor_FROM_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Neither_SIZE_nor_FROM_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Neither_SIZE_nor_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Neither_SIZE_nor_FROM_decode_ber(asn
1
_TYPE_descriptor_t *td,
Neither_SIZE_nor_FROM_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Neither_SIZE_nor_FROM_encode_der(asn
1
_TYPE_descriptor_t *td,
Neither_SIZE_nor_FROM_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
...
@@ -2249,7 +2249,7 @@ Neither_SIZE_nor_FROM_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -2249,7 +2249,7 @@ Neither_SIZE_nor_FROM_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Neither_SIZE_nor_FROM_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Neither_SIZE_nor_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
Neither_SIZE_nor_FROM_inherit_TYPE_descriptor(td);
...
@@ -2259,10 +2259,10 @@ Neither_SIZE_nor_FROM_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -2259,10 +2259,10 @@ Neither_SIZE_nor_FROM_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/
/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Neither_SIZE_nor_FROM_tags[] = {
static ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Neither_SIZE_nor_FROM = {
asn
_TYPE_descriptor_t asn
_DEF_Neither_SIZE_nor_FROM = {
"Neither-SIZE-nor-FROM",
"Neither-SIZE-nor-FROM",
Neither_SIZE_nor_FROM_free,
Neither_SIZE_nor_FROM_free,
Neither_SIZE_nor_FROM_print,
Neither_SIZE_nor_FROM_print,
...
@@ -2272,12 +2272,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Neither_SIZE_nor_FROM = {
...
@@ -2272,12 +2272,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Neither_SIZE_nor_FROM = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Neither_SIZE_nor_FROM_encode_xer,
Neither_SIZE_nor_FROM_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Neither_SIZE_nor_FROM_tags,
asn_DEF_Neither_SIZE_nor_FROM_tags,
sizeof(asn
1
_DEF_Neither_SIZE_nor_FROM_tags)
sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags)
/sizeof(asn
1
_DEF_Neither_SIZE_nor_FROM_tags[0]), /* 1 */
/sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags[0]), /* 1 */
asn
1
_DEF_Neither_SIZE_nor_FROM_tags, /* Same as above */
asn_DEF_Neither_SIZE_nor_FROM_tags, /* Same as above */
sizeof(asn
1
_DEF_Neither_SIZE_nor_FROM_tags)
sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags)
/sizeof(asn
1
_DEF_Neither_SIZE_nor_FROM_tags[0]), /* 1 */
/sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -2294,7 +2294,7 @@ typedef Utf8_2_t Utf8_3_t;
...
@@ -2294,7 +2294,7 @@ typedef Utf8_2_t Utf8_3_t;
/*** <<< FUNC-DECLS [Utf8-3] >>> ***/
/*** <<< FUNC-DECLS [Utf8-3] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Utf8_3;
extern asn
_TYPE_descriptor_t asn
_DEF_Utf8_3;
asn_struct_free_f Utf8_3_free;
asn_struct_free_f Utf8_3_free;
asn_struct_print_f Utf8_3_print;
asn_struct_print_f Utf8_3_print;
asn_constr_check_f Utf8_3_constraint;
asn_constr_check_f Utf8_3_constraint;
...
@@ -2334,7 +2334,7 @@ static int check_permitted_alphabet_12(const void *sptr) {
...
@@ -2334,7 +2334,7 @@ static int check_permitted_alphabet_12(const void *sptr) {
/*** <<< CODE [Utf8-3] >>> ***/
/*** <<< CODE [Utf8-3] >>> ***/
int
int
Utf8_3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Utf8_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Utf8_2_t *st = sptr;
const Utf8_2_t *st = sptr;
size_t size;
size_t size;
...
@@ -2366,41 +2366,41 @@ Utf8_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -2366,41 +2366,41 @@ Utf8_3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Utf8_3_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Utf8_3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Utf8_2.free_struct;
td->free_struct = asn_DEF_Utf8_2.free_struct;
td->print_struct = asn
1
_DEF_Utf8_2.print_struct;
td->print_struct = asn_DEF_Utf8_2.print_struct;
td->ber_decoder = asn
1
_DEF_Utf8_2.ber_decoder;
td->ber_decoder = asn_DEF_Utf8_2.ber_decoder;
td->der_encoder = asn
1
_DEF_Utf8_2.der_encoder;
td->der_encoder = asn_DEF_Utf8_2.der_encoder;
td->xer_decoder = asn
1
_DEF_Utf8_2.xer_decoder;
td->xer_decoder = asn_DEF_Utf8_2.xer_decoder;
td->xer_encoder = asn
1
_DEF_Utf8_2.xer_encoder;
td->xer_encoder = asn_DEF_Utf8_2.xer_encoder;
td->elements = asn
1
_DEF_Utf8_2.elements;
td->elements = asn_DEF_Utf8_2.elements;
td->elements_count = asn
1
_DEF_Utf8_2.elements_count;
td->elements_count = asn_DEF_Utf8_2.elements_count;
td->specifics = asn
1
_DEF_Utf8_2.specifics;
td->specifics = asn_DEF_Utf8_2.specifics;
}
}
void
void
Utf8_3_free(asn
1
_TYPE_descriptor_t *td,
Utf8_3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Utf8_3_inherit_TYPE_descriptor(td);
Utf8_3_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Utf8_3_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Utf8_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Utf8_3_inherit_TYPE_descriptor(td);
Utf8_3_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Utf8_3_decode_ber(asn
1
_TYPE_descriptor_t *td,
Utf8_3_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Utf8_3_inherit_TYPE_descriptor(td);
Utf8_3_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Utf8_3_encode_der(asn
1
_TYPE_descriptor_t *td,
Utf8_3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Utf8_3_inherit_TYPE_descriptor(td);
Utf8_3_inherit_TYPE_descriptor(td);
...
@@ -2408,7 +2408,7 @@ Utf8_3_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -2408,7 +2408,7 @@ Utf8_3_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Utf8_3_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Utf8_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Utf8_3_inherit_TYPE_descriptor(td);
Utf8_3_inherit_TYPE_descriptor(td);
...
@@ -2418,10 +2418,10 @@ Utf8_3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -2418,10 +2418,10 @@ Utf8_3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Utf8-3] >>> ***/
/*** <<< STAT-DEFS [Utf8-3] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Utf8_3_tags[] = {
static ber_tlv_tag_t asn_DEF_Utf8_3_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Utf8_3 = {
asn
_TYPE_descriptor_t asn
_DEF_Utf8_3 = {
"Utf8-3",
"Utf8-3",
Utf8_3_free,
Utf8_3_free,
Utf8_3_print,
Utf8_3_print,
...
@@ -2431,12 +2431,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Utf8_3 = {
...
@@ -2431,12 +2431,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Utf8_3 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Utf8_3_encode_xer,
Utf8_3_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Utf8_3_tags,
asn_DEF_Utf8_3_tags,
sizeof(asn
1
_DEF_Utf8_3_tags)
sizeof(asn_DEF_Utf8_3_tags)
/sizeof(asn
1
_DEF_Utf8_3_tags[0]), /* 1 */
/sizeof(asn_DEF_Utf8_3_tags[0]), /* 1 */
asn
1
_DEF_Utf8_3_tags, /* Same as above */
asn_DEF_Utf8_3_tags, /* Same as above */
sizeof(asn
1
_DEF_Utf8_3_tags)
sizeof(asn_DEF_Utf8_3_tags)
/sizeof(asn
1
_DEF_Utf8_3_tags[0]), /* 1 */
/sizeof(asn_DEF_Utf8_3_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -2453,7 +2453,7 @@ typedef Utf8_1_t Utf8_2_t;
...
@@ -2453,7 +2453,7 @@ typedef Utf8_1_t Utf8_2_t;
/*** <<< FUNC-DECLS [Utf8-2] >>> ***/
/*** <<< FUNC-DECLS [Utf8-2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Utf8_2;
extern asn
_TYPE_descriptor_t asn
_DEF_Utf8_2;
asn_struct_free_f Utf8_2_free;
asn_struct_free_f Utf8_2_free;
asn_struct_print_f Utf8_2_print;
asn_struct_print_f Utf8_2_print;
asn_constr_check_f Utf8_2_constraint;
asn_constr_check_f Utf8_2_constraint;
...
@@ -2464,7 +2464,7 @@ xer_type_encoder_f Utf8_2_encode_xer;
...
@@ -2464,7 +2464,7 @@ xer_type_encoder_f Utf8_2_encode_xer;
/*** <<< CODE [Utf8-2] >>> ***/
/*** <<< CODE [Utf8-2] >>> ***/
int
int
Utf8_2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Utf8_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const Utf8_1_t *st = sptr;
const Utf8_1_t *st = sptr;
size_t size;
size_t size;
...
@@ -2495,41 +2495,41 @@ Utf8_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -2495,41 +2495,41 @@ Utf8_2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Utf8_2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Utf8_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Utf8_1.free_struct;
td->free_struct = asn_DEF_Utf8_1.free_struct;
td->print_struct = asn
1
_DEF_Utf8_1.print_struct;
td->print_struct = asn_DEF_Utf8_1.print_struct;
td->ber_decoder = asn
1
_DEF_Utf8_1.ber_decoder;
td->ber_decoder = asn_DEF_Utf8_1.ber_decoder;
td->der_encoder = asn
1
_DEF_Utf8_1.der_encoder;
td->der_encoder = asn_DEF_Utf8_1.der_encoder;
td->xer_decoder = asn
1
_DEF_Utf8_1.xer_decoder;
td->xer_decoder = asn_DEF_Utf8_1.xer_decoder;
td->xer_encoder = asn
1
_DEF_Utf8_1.xer_encoder;
td->xer_encoder = asn_DEF_Utf8_1.xer_encoder;
td->elements = asn
1
_DEF_Utf8_1.elements;
td->elements = asn_DEF_Utf8_1.elements;
td->elements_count = asn
1
_DEF_Utf8_1.elements_count;
td->elements_count = asn_DEF_Utf8_1.elements_count;
td->specifics = asn
1
_DEF_Utf8_1.specifics;
td->specifics = asn_DEF_Utf8_1.specifics;
}
}
void
void
Utf8_2_free(asn
1
_TYPE_descriptor_t *td,
Utf8_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Utf8_2_inherit_TYPE_descriptor(td);
Utf8_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Utf8_2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Utf8_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Utf8_2_inherit_TYPE_descriptor(td);
Utf8_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Utf8_2_decode_ber(asn
1
_TYPE_descriptor_t *td,
Utf8_2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Utf8_2_inherit_TYPE_descriptor(td);
Utf8_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Utf8_2_encode_der(asn
1
_TYPE_descriptor_t *td,
Utf8_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Utf8_2_inherit_TYPE_descriptor(td);
Utf8_2_inherit_TYPE_descriptor(td);
...
@@ -2537,7 +2537,7 @@ Utf8_2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -2537,7 +2537,7 @@ Utf8_2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Utf8_2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Utf8_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Utf8_2_inherit_TYPE_descriptor(td);
Utf8_2_inherit_TYPE_descriptor(td);
...
@@ -2547,10 +2547,10 @@ Utf8_2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -2547,10 +2547,10 @@ Utf8_2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Utf8-2] >>> ***/
/*** <<< STAT-DEFS [Utf8-2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Utf8_2_tags[] = {
static ber_tlv_tag_t asn_DEF_Utf8_2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Utf8_2 = {
asn
_TYPE_descriptor_t asn
_DEF_Utf8_2 = {
"Utf8-2",
"Utf8-2",
Utf8_2_free,
Utf8_2_free,
Utf8_2_print,
Utf8_2_print,
...
@@ -2560,12 +2560,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Utf8_2 = {
...
@@ -2560,12 +2560,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Utf8_2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Utf8_2_encode_xer,
Utf8_2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Utf8_2_tags,
asn_DEF_Utf8_2_tags,
sizeof(asn
1
_DEF_Utf8_2_tags)
sizeof(asn_DEF_Utf8_2_tags)
/sizeof(asn
1
_DEF_Utf8_2_tags[0]), /* 1 */
/sizeof(asn_DEF_Utf8_2_tags[0]), /* 1 */
asn
1
_DEF_Utf8_2_tags, /* Same as above */
asn_DEF_Utf8_2_tags, /* Same as above */
sizeof(asn
1
_DEF_Utf8_2_tags)
sizeof(asn_DEF_Utf8_2_tags)
/sizeof(asn
1
_DEF_Utf8_2_tags[0]), /* 1 */
/sizeof(asn_DEF_Utf8_2_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -2583,7 +2583,7 @@ typedef UTF8String_t Utf8_1_t;
...
@@ -2583,7 +2583,7 @@ typedef UTF8String_t Utf8_1_t;
/*** <<< FUNC-DECLS [Utf8-1] >>> ***/
/*** <<< FUNC-DECLS [Utf8-1] >>> ***/
/* This type is equivalent to UTF8String */
/* This type is equivalent to UTF8String */
#define asn
1_DEF_Utf8_1 asn1
_DEF_UTF8String
#define asn
_DEF_Utf8_1 asn
_DEF_UTF8String
/*** <<< CODE [Utf8-1] >>> ***/
/*** <<< CODE [Utf8-1] >>> ***/
...
@@ -2602,7 +2602,7 @@ typedef Identifier_t VisibleIdentifier_t;
...
@@ -2602,7 +2602,7 @@ typedef Identifier_t VisibleIdentifier_t;
/*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/
/*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/
/* This type is equivalent to Identifier */
/* This type is equivalent to Identifier */
#define asn
1_DEF_VisibleIdentifier asn1
_DEF_Identifier
#define asn
_DEF_VisibleIdentifier asn
_DEF_Identifier
/*** <<< CODE [VisibleIdentifier] >>> ***/
/*** <<< CODE [VisibleIdentifier] >>> ***/
...
@@ -2620,7 +2620,7 @@ typedef VisibleString_t Identifier_t;
...
@@ -2620,7 +2620,7 @@ typedef VisibleString_t Identifier_t;
/*** <<< FUNC-DECLS [Identifier] >>> ***/
/*** <<< FUNC-DECLS [Identifier] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Identifier;
extern asn
_TYPE_descriptor_t asn
_DEF_Identifier;
asn_struct_free_f Identifier_free;
asn_struct_free_f Identifier_free;
asn_struct_print_f Identifier_print;
asn_struct_print_f Identifier_print;
asn_constr_check_f Identifier_constraint;
asn_constr_check_f Identifier_constraint;
...
@@ -2659,7 +2659,7 @@ static int check_permitted_alphabet_14(const void *sptr) {
...
@@ -2659,7 +2659,7 @@ static int check_permitted_alphabet_14(const void *sptr) {
/*** <<< CODE [Identifier] >>> ***/
/*** <<< CODE [Identifier] >>> ***/
int
int
Identifier_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
Identifier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const VisibleString_t *st = sptr;
const VisibleString_t *st = sptr;
size_t size;
size_t size;
...
@@ -2690,41 +2690,41 @@ Identifier_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -2690,41 +2690,41 @@ Identifier_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
Identifier_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
Identifier_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_VisibleString.free_struct;
td->free_struct = asn_DEF_VisibleString.free_struct;
td->print_struct = asn
1
_DEF_VisibleString.print_struct;
td->print_struct = asn_DEF_VisibleString.print_struct;
td->ber_decoder = asn
1
_DEF_VisibleString.ber_decoder;
td->ber_decoder = asn_DEF_VisibleString.ber_decoder;
td->der_encoder = asn
1
_DEF_VisibleString.der_encoder;
td->der_encoder = asn_DEF_VisibleString.der_encoder;
td->xer_decoder = asn
1
_DEF_VisibleString.xer_decoder;
td->xer_decoder = asn_DEF_VisibleString.xer_decoder;
td->xer_encoder = asn
1
_DEF_VisibleString.xer_encoder;
td->xer_encoder = asn_DEF_VisibleString.xer_encoder;
td->elements = asn
1
_DEF_VisibleString.elements;
td->elements = asn_DEF_VisibleString.elements;
td->elements_count = asn
1
_DEF_VisibleString.elements_count;
td->elements_count = asn_DEF_VisibleString.elements_count;
td->specifics = asn
1
_DEF_VisibleString.specifics;
td->specifics = asn_DEF_VisibleString.specifics;
}
}
void
void
Identifier_free(asn
1
_TYPE_descriptor_t *td,
Identifier_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
Identifier_inherit_TYPE_descriptor(td);
Identifier_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
Identifier_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
Identifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Identifier_inherit_TYPE_descriptor(td);
Identifier_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
Identifier_decode_ber(asn
1
_TYPE_descriptor_t *td,
Identifier_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
Identifier_inherit_TYPE_descriptor(td);
Identifier_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
Identifier_encode_der(asn
1
_TYPE_descriptor_t *td,
Identifier_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Identifier_inherit_TYPE_descriptor(td);
Identifier_inherit_TYPE_descriptor(td);
...
@@ -2732,7 +2732,7 @@ Identifier_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -2732,7 +2732,7 @@ Identifier_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
Identifier_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
Identifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
Identifier_inherit_TYPE_descriptor(td);
Identifier_inherit_TYPE_descriptor(td);
...
@@ -2742,10 +2742,10 @@ Identifier_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -2742,10 +2742,10 @@ Identifier_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [Identifier] >>> ***/
/*** <<< STAT-DEFS [Identifier] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_Identifier_tags[] = {
static ber_tlv_tag_t asn_DEF_Identifier_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Identifier = {
asn
_TYPE_descriptor_t asn
_DEF_Identifier = {
"Identifier",
"Identifier",
Identifier_free,
Identifier_free,
Identifier_print,
Identifier_print,
...
@@ -2755,12 +2755,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Identifier = {
...
@@ -2755,12 +2755,12 @@ asn1_TYPE_descriptor_t asn1_DEF_Identifier = {
0, /* Not implemented yet */
0, /* Not implemented yet */
Identifier_encode_xer,
Identifier_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Identifier_tags,
asn_DEF_Identifier_tags,
sizeof(asn
1
_DEF_Identifier_tags)
sizeof(asn_DEF_Identifier_tags)
/sizeof(asn
1
_DEF_Identifier_tags[0]), /* 1 */
/sizeof(asn_DEF_Identifier_tags[0]), /* 1 */
asn
1
_DEF_Identifier_tags, /* Same as above */
asn_DEF_Identifier_tags, /* Same as above */
sizeof(asn
1
_DEF_Identifier_tags)
sizeof(asn_DEF_Identifier_tags)
/sizeof(asn
1
_DEF_Identifier_tags[0]), /* 1 */
/sizeof(asn_DEF_Identifier_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
...
tests/60-any-OK.asn1.-P
View file @
dfae9758
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
/*** <<< DEPS [T1] >>> ***/
/*** <<< DEPS [T1] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T1;
extern asn
_TYPE_descriptor_t asn
_DEF_T1;
/*** <<< TYPE-DECLS [T1] >>> ***/
/*** <<< TYPE-DECLS [T1] >>> ***/
...
@@ -17,42 +17,42 @@ typedef struct T1 {
...
@@ -17,42 +17,42 @@ typedef struct T1 {
ANY_t any;
ANY_t any;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T1_t;
} T1_t;
/*** <<< STAT-DEFS [T1] >>> ***/
/*** <<< STAT-DEFS [T1] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T1[] = {
static asn
_TYPE_member_t asn
_MBR_T1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T1, i),
{ ATF_NOFLAGS, 0, offsetof(struct T1, i),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct T1, any),
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct T1, any),
.tag = -1 /* Ambiguous tag (ANY?) */,
.tag = -1 /* Ambiguous tag (ANY?) */,
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_ANY,
.type = (void *)&asn_DEF_ANY,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "any"
.name = "any"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T1_tags[] = {
static ber_tlv_tag_t asn_DEF_T1_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T1_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T1_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 15 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 15 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_T1_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_T1_specs = {
sizeof(struct T1),
sizeof(struct T1),
offsetof(struct T1, _
ber_dec
_ctx),
offsetof(struct T1, _
asn
_ctx),
asn
1
_DEF_T1_tag2el,
asn_DEF_T1_tag2el,
1, /* Count of tags in the map */
1, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T1 = {
asn
_TYPE_descriptor_t asn
_DEF_T1 = {
"T1",
"T1",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -62,15 +62,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
...
@@ -62,15 +62,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T1_tags,
asn_DEF_T1_tags,
sizeof(asn
1
_DEF_T1_tags)
sizeof(asn_DEF_T1_tags)
/sizeof(asn
1
_DEF_T1_tags[0]), /* 1 */
/sizeof(asn_DEF_T1_tags[0]), /* 1 */
asn
1
_DEF_T1_tags, /* Same as above */
asn_DEF_T1_tags, /* Same as above */
sizeof(asn
1
_DEF_T1_tags)
sizeof(asn_DEF_T1_tags)
/sizeof(asn
1
_DEF_T1_tags[0]), /* 1 */
/sizeof(asn_DEF_T1_tags[0]), /* 1 */
asn
1
_MBR_T1,
asn_MBR_T1,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_T1_specs /* Additional specs */
&asn_DEF_T1_specs /* Additional specs */
};
};
...
@@ -82,7 +82,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
...
@@ -82,7 +82,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
/*** <<< DEPS [T2] >>> ***/
/*** <<< DEPS [T2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T2;
extern asn
_TYPE_descriptor_t asn
_DEF_T2;
/*** <<< TYPE-DECLS [T2] >>> ***/
/*** <<< TYPE-DECLS [T2] >>> ***/
...
@@ -92,43 +92,43 @@ typedef struct T2 {
...
@@ -92,43 +92,43 @@ typedef struct T2 {
ANY_t *any /* OPTIONAL */;
ANY_t *any /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T2_t;
} T2_t;
/*** <<< STAT-DEFS [T2] >>> ***/
/*** <<< STAT-DEFS [T2] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T2[] = {
static asn
_TYPE_member_t asn
_MBR_T2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct T2, i),
{ ATF_NOFLAGS, 0, offsetof(struct T2, i),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_INTEGER,
.type = (void *)&asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "i"
.name = "i"
},
},
{ ATF_POINTER, 1, offsetof(struct T2, any),
{ ATF_POINTER, 1, offsetof(struct T2, any),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
.tag_mode = +1, /* EXPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_ANY,
.type = (void *)&asn_DEF_ANY,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "any"
.name = "any"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T2_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_T2_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_T2_tag2el[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 20 */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i at 20 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* any at 21 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* any at 21 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_T2_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_T2_specs = {
sizeof(struct T2),
sizeof(struct T2),
offsetof(struct T2, _
ber_dec
_ctx),
offsetof(struct T2, _
asn
_ctx),
asn
1
_DEF_T2_tag2el,
asn_DEF_T2_tag2el,
2, /* Count of tags in the map */
2, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T2 = {
asn
_TYPE_descriptor_t asn
_DEF_T2 = {
"T2",
"T2",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -138,14 +138,14 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
...
@@ -138,14 +138,14 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T2_tags,
asn_DEF_T2_tags,
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 1 */
/sizeof(asn_DEF_T2_tags[0]), /* 1 */
asn
1
_DEF_T2_tags, /* Same as above */
asn_DEF_T2_tags, /* Same as above */
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 1 */
/sizeof(asn_DEF_T2_tags[0]), /* 1 */
asn
1
_MBR_T2,
asn_MBR_T2,
2, /* Elements count */
2, /* Elements count */
&asn
1
_DEF_T2_specs /* Additional specs */
&asn_DEF_T2_specs /* Additional specs */
};
};
tests/65-multi-tag-OK.asn1.-P
View file @
dfae9758
...
@@ -10,7 +10,7 @@ typedef T2_t T1_t;
...
@@ -10,7 +10,7 @@ typedef T2_t T1_t;
/*** <<< FUNC-DECLS [T1] >>> ***/
/*** <<< FUNC-DECLS [T1] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T1;
extern asn
_TYPE_descriptor_t asn
_DEF_T1;
asn_struct_free_f T1_free;
asn_struct_free_f T1_free;
asn_struct_print_f T1_print;
asn_struct_print_f T1_print;
asn_constr_check_f T1_constraint;
asn_constr_check_f T1_constraint;
...
@@ -21,10 +21,10 @@ xer_type_encoder_f T1_encode_xer;
...
@@ -21,10 +21,10 @@ xer_type_encoder_f T1_encode_xer;
/*** <<< CODE [T1] >>> ***/
/*** <<< CODE [T1] >>> ***/
int
int
T1_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T2.check_constraints;
td->check_constraints = asn_DEF_T2.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -33,41 +33,41 @@ T1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -33,41 +33,41 @@ T1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T1_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T2.free_struct;
td->free_struct = asn_DEF_T2.free_struct;
td->print_struct = asn
1
_DEF_T2.print_struct;
td->print_struct = asn_DEF_T2.print_struct;
td->ber_decoder = asn
1
_DEF_T2.ber_decoder;
td->ber_decoder = asn_DEF_T2.ber_decoder;
td->der_encoder = asn
1
_DEF_T2.der_encoder;
td->der_encoder = asn_DEF_T2.der_encoder;
td->xer_decoder = asn
1
_DEF_T2.xer_decoder;
td->xer_decoder = asn_DEF_T2.xer_decoder;
td->xer_encoder = asn
1
_DEF_T2.xer_encoder;
td->xer_encoder = asn_DEF_T2.xer_encoder;
td->elements = asn
1
_DEF_T2.elements;
td->elements = asn_DEF_T2.elements;
td->elements_count = asn
1
_DEF_T2.elements_count;
td->elements_count = asn_DEF_T2.elements_count;
td->specifics = asn
1
_DEF_T2.specifics;
td->specifics = asn_DEF_T2.specifics;
}
}
void
void
T1_free(asn
1
_TYPE_descriptor_t *td,
T1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T1_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T1_decode_ber(asn
1
_TYPE_descriptor_t *td,
T1_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T1_encode_der(asn
1
_TYPE_descriptor_t *td,
T1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
...
@@ -75,7 +75,7 @@ T1_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -75,7 +75,7 @@ T1_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T1_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
...
@@ -85,13 +85,13 @@ T1_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -85,13 +85,13 @@ T1_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T1] >>> ***/
/*** <<< STAT-DEFS [T1] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T1_tags[] = {
static ber_tlv_tag_t asn_DEF_T1_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
};
};
static ber_tlv_tag_t asn
1
_DEF_T1_all_tags[] = {
static ber_tlv_tag_t asn_DEF_T1_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
...
@@ -99,7 +99,7 @@ static ber_tlv_tag_t asn1_DEF_T1_all_tags[] = {
...
@@ -99,7 +99,7 @@ static ber_tlv_tag_t asn1_DEF_T1_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T1 = {
asn
_TYPE_descriptor_t asn
_DEF_T1 = {
"T1",
"T1",
T1_free,
T1_free,
T1_print,
T1_print,
...
@@ -109,12 +109,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
...
@@ -109,12 +109,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T1_encode_xer,
T1_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T1_tags,
asn_DEF_T1_tags,
sizeof(asn
1
_DEF_T1_tags)
sizeof(asn_DEF_T1_tags)
/sizeof(asn
1
_DEF_T1_tags[0]), /* 4 */
/sizeof(asn_DEF_T1_tags[0]), /* 4 */
asn
1
_DEF_T1_all_tags,
asn_DEF_T1_all_tags,
sizeof(asn
1
_DEF_T1_all_tags)
sizeof(asn_DEF_T1_all_tags)
/sizeof(asn
1
_DEF_T1_all_tags[0]), /* 6 */
/sizeof(asn_DEF_T1_all_tags[0]), /* 6 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -131,7 +131,7 @@ typedef T3_t T2_t;
...
@@ -131,7 +131,7 @@ typedef T3_t T2_t;
/*** <<< FUNC-DECLS [T2] >>> ***/
/*** <<< FUNC-DECLS [T2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T2;
extern asn
_TYPE_descriptor_t asn
_DEF_T2;
asn_struct_free_f T2_free;
asn_struct_free_f T2_free;
asn_struct_print_f T2_print;
asn_struct_print_f T2_print;
asn_constr_check_f T2_constraint;
asn_constr_check_f T2_constraint;
...
@@ -142,10 +142,10 @@ xer_type_encoder_f T2_encode_xer;
...
@@ -142,10 +142,10 @@ xer_type_encoder_f T2_encode_xer;
/*** <<< CODE [T2] >>> ***/
/*** <<< CODE [T2] >>> ***/
int
int
T2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T3.check_constraints;
td->check_constraints = asn_DEF_T3.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -154,41 +154,41 @@ T2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -154,41 +154,41 @@ T2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T3.free_struct;
td->free_struct = asn_DEF_T3.free_struct;
td->print_struct = asn
1
_DEF_T3.print_struct;
td->print_struct = asn_DEF_T3.print_struct;
td->ber_decoder = asn
1
_DEF_T3.ber_decoder;
td->ber_decoder = asn_DEF_T3.ber_decoder;
td->der_encoder = asn
1
_DEF_T3.der_encoder;
td->der_encoder = asn_DEF_T3.der_encoder;
td->xer_decoder = asn
1
_DEF_T3.xer_decoder;
td->xer_decoder = asn_DEF_T3.xer_decoder;
td->xer_encoder = asn
1
_DEF_T3.xer_encoder;
td->xer_encoder = asn_DEF_T3.xer_encoder;
td->elements = asn
1
_DEF_T3.elements;
td->elements = asn_DEF_T3.elements;
td->elements_count = asn
1
_DEF_T3.elements_count;
td->elements_count = asn_DEF_T3.elements_count;
td->specifics = asn
1
_DEF_T3.specifics;
td->specifics = asn_DEF_T3.specifics;
}
}
void
void
T2_free(asn
1
_TYPE_descriptor_t *td,
T2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T2_decode_ber(asn
1
_TYPE_descriptor_t *td,
T2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T2_encode_der(asn
1
_TYPE_descriptor_t *td,
T2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
...
@@ -196,7 +196,7 @@ T2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -196,7 +196,7 @@ T2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
...
@@ -206,19 +206,19 @@ T2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -206,19 +206,19 @@ T2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T2] >>> ***/
/*** <<< STAT-DEFS [T2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T2_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
};
};
static ber_tlv_tag_t asn
1
_DEF_T2_all_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T2 = {
asn
_TYPE_descriptor_t asn
_DEF_T2 = {
"T2",
"T2",
T2_free,
T2_free,
T2_print,
T2_print,
...
@@ -228,12 +228,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
...
@@ -228,12 +228,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T2_encode_xer,
T2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T2_tags,
asn_DEF_T2_tags,
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 3 */
/sizeof(asn_DEF_T2_tags[0]), /* 3 */
asn
1
_DEF_T2_all_tags,
asn_DEF_T2_all_tags,
sizeof(asn
1
_DEF_T2_all_tags)
sizeof(asn_DEF_T2_all_tags)
/sizeof(asn
1
_DEF_T2_all_tags[0]), /* 5 */
/sizeof(asn_DEF_T2_all_tags[0]), /* 5 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -250,7 +250,7 @@ typedef T4_t T3_t;
...
@@ -250,7 +250,7 @@ typedef T4_t T3_t;
/*** <<< FUNC-DECLS [T3] >>> ***/
/*** <<< FUNC-DECLS [T3] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T3;
extern asn
_TYPE_descriptor_t asn
_DEF_T3;
asn_struct_free_f T3_free;
asn_struct_free_f T3_free;
asn_struct_print_f T3_print;
asn_struct_print_f T3_print;
asn_constr_check_f T3_constraint;
asn_constr_check_f T3_constraint;
...
@@ -261,10 +261,10 @@ xer_type_encoder_f T3_encode_xer;
...
@@ -261,10 +261,10 @@ xer_type_encoder_f T3_encode_xer;
/*** <<< CODE [T3] >>> ***/
/*** <<< CODE [T3] >>> ***/
int
int
T3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T4.check_constraints;
td->check_constraints = asn_DEF_T4.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -273,41 +273,41 @@ T3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -273,41 +273,41 @@ T3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T3_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T4.free_struct;
td->free_struct = asn_DEF_T4.free_struct;
td->print_struct = asn
1
_DEF_T4.print_struct;
td->print_struct = asn_DEF_T4.print_struct;
td->ber_decoder = asn
1
_DEF_T4.ber_decoder;
td->ber_decoder = asn_DEF_T4.ber_decoder;
td->der_encoder = asn
1
_DEF_T4.der_encoder;
td->der_encoder = asn_DEF_T4.der_encoder;
td->xer_decoder = asn
1
_DEF_T4.xer_decoder;
td->xer_decoder = asn_DEF_T4.xer_decoder;
td->xer_encoder = asn
1
_DEF_T4.xer_encoder;
td->xer_encoder = asn_DEF_T4.xer_encoder;
td->elements = asn
1
_DEF_T4.elements;
td->elements = asn_DEF_T4.elements;
td->elements_count = asn
1
_DEF_T4.elements_count;
td->elements_count = asn_DEF_T4.elements_count;
td->specifics = asn
1
_DEF_T4.specifics;
td->specifics = asn_DEF_T4.specifics;
}
}
void
void
T3_free(asn
1
_TYPE_descriptor_t *td,
T3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T3_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T3_decode_ber(asn
1
_TYPE_descriptor_t *td,
T3_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T3_encode_der(asn
1
_TYPE_descriptor_t *td,
T3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
...
@@ -315,7 +315,7 @@ T3_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -315,7 +315,7 @@ T3_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T3_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
...
@@ -325,17 +325,17 @@ T3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -325,17 +325,17 @@ T3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T3] >>> ***/
/*** <<< STAT-DEFS [T3] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T3_tags[] = {
static ber_tlv_tag_t asn_DEF_T3_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
};
};
static ber_tlv_tag_t asn
1
_DEF_T3_all_tags[] = {
static ber_tlv_tag_t asn_DEF_T3_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T3 = {
asn
_TYPE_descriptor_t asn
_DEF_T3 = {
"T3",
"T3",
T3_free,
T3_free,
T3_print,
T3_print,
...
@@ -345,12 +345,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T3 = {
...
@@ -345,12 +345,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T3 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T3_encode_xer,
T3_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T3_tags,
asn_DEF_T3_tags,
sizeof(asn
1
_DEF_T3_tags)
sizeof(asn_DEF_T3_tags)
/sizeof(asn
1
_DEF_T3_tags[0]), /* 2 */
/sizeof(asn_DEF_T3_tags[0]), /* 2 */
asn
1
_DEF_T3_all_tags,
asn_DEF_T3_all_tags,
sizeof(asn
1
_DEF_T3_all_tags)
sizeof(asn_DEF_T3_all_tags)
/sizeof(asn
1
_DEF_T3_all_tags[0]), /* 4 */
/sizeof(asn_DEF_T3_all_tags[0]), /* 4 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -367,7 +367,7 @@ typedef T5_t T4_t;
...
@@ -367,7 +367,7 @@ typedef T5_t T4_t;
/*** <<< FUNC-DECLS [T4] >>> ***/
/*** <<< FUNC-DECLS [T4] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T4;
extern asn
_TYPE_descriptor_t asn
_DEF_T4;
asn_struct_free_f T4_free;
asn_struct_free_f T4_free;
asn_struct_print_f T4_print;
asn_struct_print_f T4_print;
asn_constr_check_f T4_constraint;
asn_constr_check_f T4_constraint;
...
@@ -378,10 +378,10 @@ xer_type_encoder_f T4_encode_xer;
...
@@ -378,10 +378,10 @@ xer_type_encoder_f T4_encode_xer;
/*** <<< CODE [T4] >>> ***/
/*** <<< CODE [T4] >>> ***/
int
int
T4_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T5.check_constraints;
td->check_constraints = asn_DEF_T5.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -390,41 +390,41 @@ T4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -390,41 +390,41 @@ T4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T4_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T5.free_struct;
td->free_struct = asn_DEF_T5.free_struct;
td->print_struct = asn
1
_DEF_T5.print_struct;
td->print_struct = asn_DEF_T5.print_struct;
td->ber_decoder = asn
1
_DEF_T5.ber_decoder;
td->ber_decoder = asn_DEF_T5.ber_decoder;
td->der_encoder = asn
1
_DEF_T5.der_encoder;
td->der_encoder = asn_DEF_T5.der_encoder;
td->xer_decoder = asn
1
_DEF_T5.xer_decoder;
td->xer_decoder = asn_DEF_T5.xer_decoder;
td->xer_encoder = asn
1
_DEF_T5.xer_encoder;
td->xer_encoder = asn_DEF_T5.xer_encoder;
td->elements = asn
1
_DEF_T5.elements;
td->elements = asn_DEF_T5.elements;
td->elements_count = asn
1
_DEF_T5.elements_count;
td->elements_count = asn_DEF_T5.elements_count;
td->specifics = asn
1
_DEF_T5.specifics;
td->specifics = asn_DEF_T5.specifics;
}
}
void
void
T4_free(asn
1
_TYPE_descriptor_t *td,
T4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T4_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T4_decode_ber(asn
1
_TYPE_descriptor_t *td,
T4_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T4_encode_der(asn
1
_TYPE_descriptor_t *td,
T4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
...
@@ -432,7 +432,7 @@ T4_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -432,7 +432,7 @@ T4_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T4_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
...
@@ -442,12 +442,12 @@ T4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -442,12 +442,12 @@ T4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T4] >>> ***/
/*** <<< STAT-DEFS [T4] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T4_tags[] = {
static ber_tlv_tag_t asn_DEF_T4_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T4 = {
asn
_TYPE_descriptor_t asn
_DEF_T4 = {
"T4",
"T4",
T4_free,
T4_free,
T4_print,
T4_print,
...
@@ -457,12 +457,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T4 = {
...
@@ -457,12 +457,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T4 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T4_encode_xer,
T4_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T4_tags,
asn_DEF_T4_tags,
sizeof(asn
1
_DEF_T4_tags)
sizeof(asn_DEF_T4_tags)
/sizeof(asn
1
_DEF_T4_tags[0]) - 1, /* 2 */
/sizeof(asn_DEF_T4_tags[0]) - 1, /* 2 */
asn
1
_DEF_T4_tags, /* Same as above */
asn_DEF_T4_tags, /* Same as above */
sizeof(asn
1
_DEF_T4_tags)
sizeof(asn_DEF_T4_tags)
/sizeof(asn
1
_DEF_T4_tags[0]), /* 3 */
/sizeof(asn_DEF_T4_tags[0]), /* 3 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -479,7 +479,7 @@ typedef T6_t T5_t;
...
@@ -479,7 +479,7 @@ typedef T6_t T5_t;
/*** <<< FUNC-DECLS [T5] >>> ***/
/*** <<< FUNC-DECLS [T5] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T5;
extern asn
_TYPE_descriptor_t asn
_DEF_T5;
asn_struct_free_f T5_free;
asn_struct_free_f T5_free;
asn_struct_print_f T5_print;
asn_struct_print_f T5_print;
asn_constr_check_f T5_constraint;
asn_constr_check_f T5_constraint;
...
@@ -490,10 +490,10 @@ xer_type_encoder_f T5_encode_xer;
...
@@ -490,10 +490,10 @@ xer_type_encoder_f T5_encode_xer;
/*** <<< CODE [T5] >>> ***/
/*** <<< CODE [T5] >>> ***/
int
int
T5_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T6.check_constraints;
td->check_constraints = asn_DEF_T6.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -502,41 +502,41 @@ T5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -502,41 +502,41 @@ T5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T5_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T5_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T6.free_struct;
td->free_struct = asn_DEF_T6.free_struct;
td->print_struct = asn
1
_DEF_T6.print_struct;
td->print_struct = asn_DEF_T6.print_struct;
td->ber_decoder = asn
1
_DEF_T6.ber_decoder;
td->ber_decoder = asn_DEF_T6.ber_decoder;
td->der_encoder = asn
1
_DEF_T6.der_encoder;
td->der_encoder = asn_DEF_T6.der_encoder;
td->xer_decoder = asn
1
_DEF_T6.xer_decoder;
td->xer_decoder = asn_DEF_T6.xer_decoder;
td->xer_encoder = asn
1
_DEF_T6.xer_encoder;
td->xer_encoder = asn_DEF_T6.xer_encoder;
td->elements = asn
1
_DEF_T6.elements;
td->elements = asn_DEF_T6.elements;
td->elements_count = asn
1
_DEF_T6.elements_count;
td->elements_count = asn_DEF_T6.elements_count;
td->specifics = asn
1
_DEF_T6.specifics;
td->specifics = asn_DEF_T6.specifics;
}
}
void
void
T5_free(asn
1
_TYPE_descriptor_t *td,
T5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T5_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T5_decode_ber(asn
1
_TYPE_descriptor_t *td,
T5_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T5_encode_der(asn
1
_TYPE_descriptor_t *td,
T5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
...
@@ -544,7 +544,7 @@ T5_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -544,7 +544,7 @@ T5_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T5_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
...
@@ -554,11 +554,11 @@ T5_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -554,11 +554,11 @@ T5_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T5] >>> ***/
/*** <<< STAT-DEFS [T5] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T5_tags[] = {
static ber_tlv_tag_t asn_DEF_T5_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T5 = {
asn
_TYPE_descriptor_t asn
_DEF_T5 = {
"T5",
"T5",
T5_free,
T5_free,
T5_print,
T5_print,
...
@@ -568,12 +568,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T5 = {
...
@@ -568,12 +568,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T5 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T5_encode_xer,
T5_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T5_tags,
asn_DEF_T5_tags,
sizeof(asn
1
_DEF_T5_tags)
sizeof(asn_DEF_T5_tags)
/sizeof(asn
1
_DEF_T5_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_T5_tags[0]) - 1, /* 1 */
asn
1
_DEF_T5_tags, /* Same as above */
asn_DEF_T5_tags, /* Same as above */
sizeof(asn
1
_DEF_T5_tags)
sizeof(asn_DEF_T5_tags)
/sizeof(asn
1
_DEF_T5_tags[0]), /* 2 */
/sizeof(asn_DEF_T5_tags[0]), /* 2 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -591,7 +591,7 @@ typedef REAL_t T6_t;
...
@@ -591,7 +591,7 @@ typedef REAL_t T6_t;
/*** <<< FUNC-DECLS [T6] >>> ***/
/*** <<< FUNC-DECLS [T6] >>> ***/
/* This type is equivalent to REAL */
/* This type is equivalent to REAL */
#define asn
1_DEF_T6 asn1
_DEF_REAL
#define asn
_DEF_T6 asn
_DEF_REAL
/*** <<< CODE [T6] >>> ***/
/*** <<< CODE [T6] >>> ***/
...
@@ -609,7 +609,7 @@ typedef Ts_t T_t;
...
@@ -609,7 +609,7 @@ typedef Ts_t T_t;
/*** <<< FUNC-DECLS [T] >>> ***/
/*** <<< FUNC-DECLS [T] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T;
extern asn
_TYPE_descriptor_t asn
_DEF_T;
asn_struct_free_f T_free;
asn_struct_free_f T_free;
asn_struct_print_f T_print;
asn_struct_print_f T_print;
asn_constr_check_f T_constraint;
asn_constr_check_f T_constraint;
...
@@ -620,10 +620,10 @@ xer_type_encoder_f T_encode_xer;
...
@@ -620,10 +620,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
/*** <<< CODE [T] >>> ***/
int
int
T_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_Ts.check_constraints;
td->check_constraints = asn_DEF_Ts.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -632,41 +632,41 @@ T_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -632,41 +632,41 @@ T_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Ts.free_struct;
td->free_struct = asn_DEF_Ts.free_struct;
td->print_struct = asn
1
_DEF_Ts.print_struct;
td->print_struct = asn_DEF_Ts.print_struct;
td->ber_decoder = asn
1
_DEF_Ts.ber_decoder;
td->ber_decoder = asn_DEF_Ts.ber_decoder;
td->der_encoder = asn
1
_DEF_Ts.der_encoder;
td->der_encoder = asn_DEF_Ts.der_encoder;
td->xer_decoder = asn
1
_DEF_Ts.xer_decoder;
td->xer_decoder = asn_DEF_Ts.xer_decoder;
td->xer_encoder = asn
1
_DEF_Ts.xer_encoder;
td->xer_encoder = asn_DEF_Ts.xer_encoder;
td->elements = asn
1
_DEF_Ts.elements;
td->elements = asn_DEF_Ts.elements;
td->elements_count = asn
1
_DEF_Ts.elements_count;
td->elements_count = asn_DEF_Ts.elements_count;
td->specifics = asn
1
_DEF_Ts.specifics;
td->specifics = asn_DEF_Ts.specifics;
}
}
void
void
T_free(asn
1
_TYPE_descriptor_t *td,
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T_decode_ber(asn
1
_TYPE_descriptor_t *td,
T_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T_encode_der(asn
1
_TYPE_descriptor_t *td,
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
...
@@ -674,7 +674,7 @@ T_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -674,7 +674,7 @@ T_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
...
@@ -684,12 +684,12 @@ T_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -684,12 +684,12 @@ T_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T] >>> ***/
/*** <<< STAT-DEFS [T] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T_tags[] = {
static ber_tlv_tag_t asn_DEF_T_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T = {
asn
_TYPE_descriptor_t asn
_DEF_T = {
"T",
"T",
T_free,
T_free,
T_print,
T_print,
...
@@ -699,12 +699,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -699,12 +699,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T_encode_xer,
T_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T_tags,
asn_DEF_T_tags,
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]) - 2, /* 1 */
/sizeof(asn_DEF_T_tags[0]) - 2, /* 1 */
asn
1
_DEF_T_tags, /* Same as above */
asn_DEF_T_tags, /* Same as above */
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 3 */
/sizeof(asn_DEF_T_tags[0]), /* 3 */
0, 0, /* Defined elsewhere */
0, 0, /* Defined elsewhere */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -718,7 +718,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -718,7 +718,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
/*** <<< DEPS [Ts] >>> ***/
/*** <<< DEPS [Ts] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Ts;
extern asn
_TYPE_descriptor_t asn
_DEF_Ts;
/*** <<< TYPE-DECLS [Ts] >>> ***/
/*** <<< TYPE-DECLS [Ts] >>> ***/
...
@@ -729,52 +729,52 @@ typedef struct Ts {
...
@@ -729,52 +729,52 @@ typedef struct Ts {
T3_t m3;
T3_t m3;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Ts_t;
} Ts_t;
/*** <<< STAT-DEFS [Ts] >>> ***/
/*** <<< STAT-DEFS [Ts] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Ts[] = {
static asn
_TYPE_member_t asn
_MBR_Ts[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_T2,
.type = (void *)&asn_DEF_T2,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "m1"
.name = "m1"
},
},
{ ATF_POINTER, 1, offsetof(struct Ts, m2),
{ ATF_POINTER, 1, offsetof(struct Ts, m2),
.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
.tag_mode = +1, /* EXPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_T3,
.type = (void *)&asn_DEF_T3,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "m2"
.name = "m2"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m3),
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m3),
.tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_T3,
.type = (void *)&asn_DEF_T3,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "m3"
.name = "m3"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Ts_tags[] = {
static ber_tlv_tag_t asn_DEF_Ts_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_Ts_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_Ts_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* m1 at 24 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* m1 at 24 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 at 25 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 at 25 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* m3 at 27 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* m3 at 27 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_Ts_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_Ts_specs = {
sizeof(struct Ts),
sizeof(struct Ts),
offsetof(struct Ts, _
ber_dec
_ctx),
offsetof(struct Ts, _
asn
_ctx),
asn
1
_DEF_Ts_tag2el,
asn_DEF_Ts_tag2el,
3, /* Count of tags in the map */
3, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Ts = {
asn
_TYPE_descriptor_t asn
_DEF_Ts = {
"Ts",
"Ts",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -784,14 +784,14 @@ asn1_TYPE_descriptor_t asn1_DEF_Ts = {
...
@@ -784,14 +784,14 @@ asn1_TYPE_descriptor_t asn1_DEF_Ts = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Ts_tags,
asn_DEF_Ts_tags,
sizeof(asn
1
_DEF_Ts_tags)
sizeof(asn_DEF_Ts_tags)
/sizeof(asn
1
_DEF_Ts_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_Ts_tags[0]) - 1, /* 1 */
asn
1
_DEF_Ts_tags, /* Same as above */
asn_DEF_Ts_tags, /* Same as above */
sizeof(asn
1
_DEF_Ts_tags)
sizeof(asn_DEF_Ts_tags)
/sizeof(asn
1
_DEF_Ts_tags[0]), /* 2 */
/sizeof(asn_DEF_Ts_tags[0]), /* 2 */
asn
1
_MBR_Ts,
asn_MBR_Ts,
3, /* Elements count */
3, /* Elements count */
&asn
1
_DEF_Ts_specs /* Additional specs */
&asn_DEF_Ts_specs /* Additional specs */
};
};
tests/65-multi-tag-OK.asn1.-Pfnative-types
View file @
dfae9758
...
@@ -10,7 +10,7 @@ typedef T2_t T1_t;
...
@@ -10,7 +10,7 @@ typedef T2_t T1_t;
/*** <<< FUNC-DECLS [T1] >>> ***/
/*** <<< FUNC-DECLS [T1] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T1;
extern asn
_TYPE_descriptor_t asn
_DEF_T1;
asn_struct_free_f T1_free;
asn_struct_free_f T1_free;
asn_struct_print_f T1_print;
asn_struct_print_f T1_print;
asn_constr_check_f T1_constraint;
asn_constr_check_f T1_constraint;
...
@@ -21,10 +21,10 @@ xer_type_encoder_f T1_encode_xer;
...
@@ -21,10 +21,10 @@ xer_type_encoder_f T1_encode_xer;
/*** <<< CODE [T1] >>> ***/
/*** <<< CODE [T1] >>> ***/
int
int
T1_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T2.check_constraints;
td->check_constraints = asn_DEF_T2.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -33,41 +33,41 @@ T1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -33,41 +33,41 @@ T1_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T1_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T2.free_struct;
td->free_struct = asn_DEF_T2.free_struct;
td->print_struct = asn
1
_DEF_T2.print_struct;
td->print_struct = asn_DEF_T2.print_struct;
td->ber_decoder = asn
1
_DEF_T2.ber_decoder;
td->ber_decoder = asn_DEF_T2.ber_decoder;
td->der_encoder = asn
1
_DEF_T2.der_encoder;
td->der_encoder = asn_DEF_T2.der_encoder;
td->xer_decoder = asn
1
_DEF_T2.xer_decoder;
td->xer_decoder = asn_DEF_T2.xer_decoder;
td->xer_encoder = asn
1
_DEF_T2.xer_encoder;
td->xer_encoder = asn_DEF_T2.xer_encoder;
td->elements = asn
1
_DEF_T2.elements;
td->elements = asn_DEF_T2.elements;
td->elements_count = asn
1
_DEF_T2.elements_count;
td->elements_count = asn_DEF_T2.elements_count;
td->specifics = asn
1
_DEF_T2.specifics;
td->specifics = asn_DEF_T2.specifics;
}
}
void
void
T1_free(asn
1
_TYPE_descriptor_t *td,
T1_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T1_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T1_decode_ber(asn
1
_TYPE_descriptor_t *td,
T1_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T1_encode_der(asn
1
_TYPE_descriptor_t *td,
T1_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
...
@@ -75,7 +75,7 @@ T1_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -75,7 +75,7 @@ T1_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T1_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T1_inherit_TYPE_descriptor(td);
T1_inherit_TYPE_descriptor(td);
...
@@ -85,13 +85,13 @@ T1_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -85,13 +85,13 @@ T1_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T1] >>> ***/
/*** <<< STAT-DEFS [T1] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T1_tags[] = {
static ber_tlv_tag_t asn_DEF_T1_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
};
};
static ber_tlv_tag_t asn
1
_DEF_T1_all_tags[] = {
static ber_tlv_tag_t asn_DEF_T1_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
...
@@ -99,7 +99,7 @@ static ber_tlv_tag_t asn1_DEF_T1_all_tags[] = {
...
@@ -99,7 +99,7 @@ static ber_tlv_tag_t asn1_DEF_T1_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T1 = {
asn
_TYPE_descriptor_t asn
_DEF_T1 = {
"T1",
"T1",
T1_free,
T1_free,
T1_print,
T1_print,
...
@@ -109,12 +109,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
...
@@ -109,12 +109,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T1 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T1_encode_xer,
T1_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T1_tags,
asn_DEF_T1_tags,
sizeof(asn
1
_DEF_T1_tags)
sizeof(asn_DEF_T1_tags)
/sizeof(asn
1
_DEF_T1_tags[0]), /* 4 */
/sizeof(asn_DEF_T1_tags[0]), /* 4 */
asn
1
_DEF_T1_all_tags,
asn_DEF_T1_all_tags,
sizeof(asn
1
_DEF_T1_all_tags)
sizeof(asn_DEF_T1_all_tags)
/sizeof(asn
1
_DEF_T1_all_tags[0]), /* 6 */
/sizeof(asn_DEF_T1_all_tags[0]), /* 6 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -131,7 +131,7 @@ typedef T3_t T2_t;
...
@@ -131,7 +131,7 @@ typedef T3_t T2_t;
/*** <<< FUNC-DECLS [T2] >>> ***/
/*** <<< FUNC-DECLS [T2] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T2;
extern asn
_TYPE_descriptor_t asn
_DEF_T2;
asn_struct_free_f T2_free;
asn_struct_free_f T2_free;
asn_struct_print_f T2_print;
asn_struct_print_f T2_print;
asn_constr_check_f T2_constraint;
asn_constr_check_f T2_constraint;
...
@@ -142,10 +142,10 @@ xer_type_encoder_f T2_encode_xer;
...
@@ -142,10 +142,10 @@ xer_type_encoder_f T2_encode_xer;
/*** <<< CODE [T2] >>> ***/
/*** <<< CODE [T2] >>> ***/
int
int
T2_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T3.check_constraints;
td->check_constraints = asn_DEF_T3.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -154,41 +154,41 @@ T2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -154,41 +154,41 @@ T2_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T2_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T3.free_struct;
td->free_struct = asn_DEF_T3.free_struct;
td->print_struct = asn
1
_DEF_T3.print_struct;
td->print_struct = asn_DEF_T3.print_struct;
td->ber_decoder = asn
1
_DEF_T3.ber_decoder;
td->ber_decoder = asn_DEF_T3.ber_decoder;
td->der_encoder = asn
1
_DEF_T3.der_encoder;
td->der_encoder = asn_DEF_T3.der_encoder;
td->xer_decoder = asn
1
_DEF_T3.xer_decoder;
td->xer_decoder = asn_DEF_T3.xer_decoder;
td->xer_encoder = asn
1
_DEF_T3.xer_encoder;
td->xer_encoder = asn_DEF_T3.xer_encoder;
td->elements = asn
1
_DEF_T3.elements;
td->elements = asn_DEF_T3.elements;
td->elements_count = asn
1
_DEF_T3.elements_count;
td->elements_count = asn_DEF_T3.elements_count;
td->specifics = asn
1
_DEF_T3.specifics;
td->specifics = asn_DEF_T3.specifics;
}
}
void
void
T2_free(asn
1
_TYPE_descriptor_t *td,
T2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T2_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T2_decode_ber(asn
1
_TYPE_descriptor_t *td,
T2_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T2_encode_der(asn
1
_TYPE_descriptor_t *td,
T2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
...
@@ -196,7 +196,7 @@ T2_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -196,7 +196,7 @@ T2_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T2_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T2_inherit_TYPE_descriptor(td);
T2_inherit_TYPE_descriptor(td);
...
@@ -206,19 +206,19 @@ T2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -206,19 +206,19 @@ T2_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T2] >>> ***/
/*** <<< STAT-DEFS [T2] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T2_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
};
};
static ber_tlv_tag_t asn
1
_DEF_T2_all_tags[] = {
static ber_tlv_tag_t asn_DEF_T2_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T2 = {
asn
_TYPE_descriptor_t asn
_DEF_T2 = {
"T2",
"T2",
T2_free,
T2_free,
T2_print,
T2_print,
...
@@ -228,12 +228,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
...
@@ -228,12 +228,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T2 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T2_encode_xer,
T2_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T2_tags,
asn_DEF_T2_tags,
sizeof(asn
1
_DEF_T2_tags)
sizeof(asn_DEF_T2_tags)
/sizeof(asn
1
_DEF_T2_tags[0]), /* 3 */
/sizeof(asn_DEF_T2_tags[0]), /* 3 */
asn
1
_DEF_T2_all_tags,
asn_DEF_T2_all_tags,
sizeof(asn
1
_DEF_T2_all_tags)
sizeof(asn_DEF_T2_all_tags)
/sizeof(asn
1
_DEF_T2_all_tags[0]), /* 5 */
/sizeof(asn_DEF_T2_all_tags[0]), /* 5 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -250,7 +250,7 @@ typedef T4_t T3_t;
...
@@ -250,7 +250,7 @@ typedef T4_t T3_t;
/*** <<< FUNC-DECLS [T3] >>> ***/
/*** <<< FUNC-DECLS [T3] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T3;
extern asn
_TYPE_descriptor_t asn
_DEF_T3;
asn_struct_free_f T3_free;
asn_struct_free_f T3_free;
asn_struct_print_f T3_print;
asn_struct_print_f T3_print;
asn_constr_check_f T3_constraint;
asn_constr_check_f T3_constraint;
...
@@ -261,10 +261,10 @@ xer_type_encoder_f T3_encode_xer;
...
@@ -261,10 +261,10 @@ xer_type_encoder_f T3_encode_xer;
/*** <<< CODE [T3] >>> ***/
/*** <<< CODE [T3] >>> ***/
int
int
T3_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T4.check_constraints;
td->check_constraints = asn_DEF_T4.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -273,41 +273,41 @@ T3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -273,41 +273,41 @@ T3_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T3_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T4.free_struct;
td->free_struct = asn_DEF_T4.free_struct;
td->print_struct = asn
1
_DEF_T4.print_struct;
td->print_struct = asn_DEF_T4.print_struct;
td->ber_decoder = asn
1
_DEF_T4.ber_decoder;
td->ber_decoder = asn_DEF_T4.ber_decoder;
td->der_encoder = asn
1
_DEF_T4.der_encoder;
td->der_encoder = asn_DEF_T4.der_encoder;
td->xer_decoder = asn
1
_DEF_T4.xer_decoder;
td->xer_decoder = asn_DEF_T4.xer_decoder;
td->xer_encoder = asn
1
_DEF_T4.xer_encoder;
td->xer_encoder = asn_DEF_T4.xer_encoder;
td->elements = asn
1
_DEF_T4.elements;
td->elements = asn_DEF_T4.elements;
td->elements_count = asn
1
_DEF_T4.elements_count;
td->elements_count = asn_DEF_T4.elements_count;
td->specifics = asn
1
_DEF_T4.specifics;
td->specifics = asn_DEF_T4.specifics;
}
}
void
void
T3_free(asn
1
_TYPE_descriptor_t *td,
T3_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T3_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T3_decode_ber(asn
1
_TYPE_descriptor_t *td,
T3_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T3_encode_der(asn
1
_TYPE_descriptor_t *td,
T3_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
...
@@ -315,7 +315,7 @@ T3_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -315,7 +315,7 @@ T3_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T3_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T3_inherit_TYPE_descriptor(td);
T3_inherit_TYPE_descriptor(td);
...
@@ -325,17 +325,17 @@ T3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -325,17 +325,17 @@ T3_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T3] >>> ***/
/*** <<< STAT-DEFS [T3] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T3_tags[] = {
static ber_tlv_tag_t asn_DEF_T3_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
(ASN_TAG_CLASS_CONTEXT | (6 << 2))
};
};
static ber_tlv_tag_t asn
1
_DEF_T3_all_tags[] = {
static ber_tlv_tag_t asn_DEF_T3_all_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T3 = {
asn
_TYPE_descriptor_t asn
_DEF_T3 = {
"T3",
"T3",
T3_free,
T3_free,
T3_print,
T3_print,
...
@@ -345,12 +345,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T3 = {
...
@@ -345,12 +345,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T3 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T3_encode_xer,
T3_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T3_tags,
asn_DEF_T3_tags,
sizeof(asn
1
_DEF_T3_tags)
sizeof(asn_DEF_T3_tags)
/sizeof(asn
1
_DEF_T3_tags[0]), /* 2 */
/sizeof(asn_DEF_T3_tags[0]), /* 2 */
asn
1
_DEF_T3_all_tags,
asn_DEF_T3_all_tags,
sizeof(asn
1
_DEF_T3_all_tags)
sizeof(asn_DEF_T3_all_tags)
/sizeof(asn
1
_DEF_T3_all_tags[0]), /* 4 */
/sizeof(asn_DEF_T3_all_tags[0]), /* 4 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -367,7 +367,7 @@ typedef T5_t T4_t;
...
@@ -367,7 +367,7 @@ typedef T5_t T4_t;
/*** <<< FUNC-DECLS [T4] >>> ***/
/*** <<< FUNC-DECLS [T4] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T4;
extern asn
_TYPE_descriptor_t asn
_DEF_T4;
asn_struct_free_f T4_free;
asn_struct_free_f T4_free;
asn_struct_print_f T4_print;
asn_struct_print_f T4_print;
asn_constr_check_f T4_constraint;
asn_constr_check_f T4_constraint;
...
@@ -378,10 +378,10 @@ xer_type_encoder_f T4_encode_xer;
...
@@ -378,10 +378,10 @@ xer_type_encoder_f T4_encode_xer;
/*** <<< CODE [T4] >>> ***/
/*** <<< CODE [T4] >>> ***/
int
int
T4_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T5.check_constraints;
td->check_constraints = asn_DEF_T5.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -390,41 +390,41 @@ T4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -390,41 +390,41 @@ T4_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T4_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T4_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T5.free_struct;
td->free_struct = asn_DEF_T5.free_struct;
td->print_struct = asn
1
_DEF_T5.print_struct;
td->print_struct = asn_DEF_T5.print_struct;
td->ber_decoder = asn
1
_DEF_T5.ber_decoder;
td->ber_decoder = asn_DEF_T5.ber_decoder;
td->der_encoder = asn
1
_DEF_T5.der_encoder;
td->der_encoder = asn_DEF_T5.der_encoder;
td->xer_decoder = asn
1
_DEF_T5.xer_decoder;
td->xer_decoder = asn_DEF_T5.xer_decoder;
td->xer_encoder = asn
1
_DEF_T5.xer_encoder;
td->xer_encoder = asn_DEF_T5.xer_encoder;
td->elements = asn
1
_DEF_T5.elements;
td->elements = asn_DEF_T5.elements;
td->elements_count = asn
1
_DEF_T5.elements_count;
td->elements_count = asn_DEF_T5.elements_count;
td->specifics = asn
1
_DEF_T5.specifics;
td->specifics = asn_DEF_T5.specifics;
}
}
void
void
T4_free(asn
1
_TYPE_descriptor_t *td,
T4_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T4_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T4_decode_ber(asn
1
_TYPE_descriptor_t *td,
T4_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T4_encode_der(asn
1
_TYPE_descriptor_t *td,
T4_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
...
@@ -432,7 +432,7 @@ T4_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -432,7 +432,7 @@ T4_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T4_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T4_inherit_TYPE_descriptor(td);
T4_inherit_TYPE_descriptor(td);
...
@@ -442,12 +442,12 @@ T4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -442,12 +442,12 @@ T4_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T4] >>> ***/
/*** <<< STAT-DEFS [T4] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T4_tags[] = {
static ber_tlv_tag_t asn_DEF_T4_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T4 = {
asn
_TYPE_descriptor_t asn
_DEF_T4 = {
"T4",
"T4",
T4_free,
T4_free,
T4_print,
T4_print,
...
@@ -457,12 +457,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T4 = {
...
@@ -457,12 +457,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T4 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T4_encode_xer,
T4_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T4_tags,
asn_DEF_T4_tags,
sizeof(asn
1
_DEF_T4_tags)
sizeof(asn_DEF_T4_tags)
/sizeof(asn
1
_DEF_T4_tags[0]) - 1, /* 2 */
/sizeof(asn_DEF_T4_tags[0]) - 1, /* 2 */
asn
1
_DEF_T4_tags, /* Same as above */
asn_DEF_T4_tags, /* Same as above */
sizeof(asn
1
_DEF_T4_tags)
sizeof(asn_DEF_T4_tags)
/sizeof(asn
1
_DEF_T4_tags[0]), /* 3 */
/sizeof(asn_DEF_T4_tags[0]), /* 3 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -479,7 +479,7 @@ typedef T6_t T5_t;
...
@@ -479,7 +479,7 @@ typedef T6_t T5_t;
/*** <<< FUNC-DECLS [T5] >>> ***/
/*** <<< FUNC-DECLS [T5] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T5;
extern asn
_TYPE_descriptor_t asn
_DEF_T5;
asn_struct_free_f T5_free;
asn_struct_free_f T5_free;
asn_struct_print_f T5_print;
asn_struct_print_f T5_print;
asn_constr_check_f T5_constraint;
asn_constr_check_f T5_constraint;
...
@@ -490,10 +490,10 @@ xer_type_encoder_f T5_encode_xer;
...
@@ -490,10 +490,10 @@ xer_type_encoder_f T5_encode_xer;
/*** <<< CODE [T5] >>> ***/
/*** <<< CODE [T5] >>> ***/
int
int
T5_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_T6.check_constraints;
td->check_constraints = asn_DEF_T6.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -502,41 +502,41 @@ T5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -502,41 +502,41 @@ T5_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T5_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T5_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_T6.free_struct;
td->free_struct = asn_DEF_T6.free_struct;
td->print_struct = asn
1
_DEF_T6.print_struct;
td->print_struct = asn_DEF_T6.print_struct;
td->ber_decoder = asn
1
_DEF_T6.ber_decoder;
td->ber_decoder = asn_DEF_T6.ber_decoder;
td->der_encoder = asn
1
_DEF_T6.der_encoder;
td->der_encoder = asn_DEF_T6.der_encoder;
td->xer_decoder = asn
1
_DEF_T6.xer_decoder;
td->xer_decoder = asn_DEF_T6.xer_decoder;
td->xer_encoder = asn
1
_DEF_T6.xer_encoder;
td->xer_encoder = asn_DEF_T6.xer_encoder;
td->elements = asn
1
_DEF_T6.elements;
td->elements = asn_DEF_T6.elements;
td->elements_count = asn
1
_DEF_T6.elements_count;
td->elements_count = asn_DEF_T6.elements_count;
td->specifics = asn
1
_DEF_T6.specifics;
td->specifics = asn_DEF_T6.specifics;
}
}
void
void
T5_free(asn
1
_TYPE_descriptor_t *td,
T5_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T5_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T5_decode_ber(asn
1
_TYPE_descriptor_t *td,
T5_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T5_encode_der(asn
1
_TYPE_descriptor_t *td,
T5_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
...
@@ -544,7 +544,7 @@ T5_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -544,7 +544,7 @@ T5_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T5_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T5_inherit_TYPE_descriptor(td);
T5_inherit_TYPE_descriptor(td);
...
@@ -554,11 +554,11 @@ T5_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -554,11 +554,11 @@ T5_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T5] >>> ***/
/*** <<< STAT-DEFS [T5] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T5_tags[] = {
static ber_tlv_tag_t asn_DEF_T5_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T5 = {
asn
_TYPE_descriptor_t asn
_DEF_T5 = {
"T5",
"T5",
T5_free,
T5_free,
T5_print,
T5_print,
...
@@ -568,12 +568,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T5 = {
...
@@ -568,12 +568,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T5 = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T5_encode_xer,
T5_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T5_tags,
asn_DEF_T5_tags,
sizeof(asn
1
_DEF_T5_tags)
sizeof(asn_DEF_T5_tags)
/sizeof(asn
1
_DEF_T5_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_T5_tags[0]) - 1, /* 1 */
asn
1
_DEF_T5_tags, /* Same as above */
asn_DEF_T5_tags, /* Same as above */
sizeof(asn
1
_DEF_T5_tags)
sizeof(asn_DEF_T5_tags)
/sizeof(asn
1
_DEF_T5_tags[0]), /* 2 */
/sizeof(asn_DEF_T5_tags[0]), /* 2 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -591,7 +591,7 @@ typedef double T6_t;
...
@@ -591,7 +591,7 @@ typedef double T6_t;
/*** <<< FUNC-DECLS [T6] >>> ***/
/*** <<< FUNC-DECLS [T6] >>> ***/
/* This type is equivalent to NativeReal */
/* This type is equivalent to NativeReal */
#define asn
1_DEF_T6 asn1
_DEF_NativeReal
#define asn
_DEF_T6 asn
_DEF_NativeReal
/*** <<< CODE [T6] >>> ***/
/*** <<< CODE [T6] >>> ***/
...
@@ -609,7 +609,7 @@ typedef Ts_t T_t;
...
@@ -609,7 +609,7 @@ typedef Ts_t T_t;
/*** <<< FUNC-DECLS [T] >>> ***/
/*** <<< FUNC-DECLS [T] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T;
extern asn
_TYPE_descriptor_t asn
_DEF_T;
asn_struct_free_f T_free;
asn_struct_free_f T_free;
asn_struct_print_f T_print;
asn_struct_print_f T_print;
asn_constr_check_f T_constraint;
asn_constr_check_f T_constraint;
...
@@ -620,10 +620,10 @@ xer_type_encoder_f T_encode_xer;
...
@@ -620,10 +620,10 @@ xer_type_encoder_f T_encode_xer;
/*** <<< CODE [T] >>> ***/
/*** <<< CODE [T] >>> ***/
int
int
T_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
T_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_Ts.check_constraints;
td->check_constraints = asn_DEF_Ts.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -632,41 +632,41 @@ T_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -632,41 +632,41 @@ T_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
T_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
T_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_Ts.free_struct;
td->free_struct = asn_DEF_Ts.free_struct;
td->print_struct = asn
1
_DEF_Ts.print_struct;
td->print_struct = asn_DEF_Ts.print_struct;
td->ber_decoder = asn
1
_DEF_Ts.ber_decoder;
td->ber_decoder = asn_DEF_Ts.ber_decoder;
td->der_encoder = asn
1
_DEF_Ts.der_encoder;
td->der_encoder = asn_DEF_Ts.der_encoder;
td->xer_decoder = asn
1
_DEF_Ts.xer_decoder;
td->xer_decoder = asn_DEF_Ts.xer_decoder;
td->xer_encoder = asn
1
_DEF_Ts.xer_encoder;
td->xer_encoder = asn_DEF_Ts.xer_encoder;
td->elements = asn
1
_DEF_Ts.elements;
td->elements = asn_DEF_Ts.elements;
td->elements_count = asn
1
_DEF_Ts.elements_count;
td->elements_count = asn_DEF_Ts.elements_count;
td->specifics = asn
1
_DEF_Ts.specifics;
td->specifics = asn_DEF_Ts.specifics;
}
}
void
void
T_free(asn
1
_TYPE_descriptor_t *td,
T_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
T_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
T_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
T_decode_ber(asn
1
_TYPE_descriptor_t *td,
T_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
T_encode_der(asn
1
_TYPE_descriptor_t *td,
T_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
...
@@ -674,7 +674,7 @@ T_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -674,7 +674,7 @@ T_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
T_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
T_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
T_inherit_TYPE_descriptor(td);
T_inherit_TYPE_descriptor(td);
...
@@ -684,12 +684,12 @@ T_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -684,12 +684,12 @@ T_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [T] >>> ***/
/*** <<< STAT-DEFS [T] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_T_tags[] = {
static ber_tlv_tag_t asn_DEF_T_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T = {
asn
_TYPE_descriptor_t asn
_DEF_T = {
"T",
"T",
T_free,
T_free,
T_print,
T_print,
...
@@ -699,12 +699,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -699,12 +699,12 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
0, /* Not implemented yet */
0, /* Not implemented yet */
T_encode_xer,
T_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T_tags,
asn_DEF_T_tags,
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]) - 2, /* 1 */
/sizeof(asn_DEF_T_tags[0]) - 2, /* 1 */
asn
1
_DEF_T_tags, /* Same as above */
asn_DEF_T_tags, /* Same as above */
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 3 */
/sizeof(asn_DEF_T_tags[0]), /* 3 */
0, 0, /* Defined elsewhere */
0, 0, /* Defined elsewhere */
0 /* No specifics */
0 /* No specifics */
};
};
...
@@ -718,7 +718,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -718,7 +718,7 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
/*** <<< DEPS [Ts] >>> ***/
/*** <<< DEPS [Ts] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_Ts;
extern asn
_TYPE_descriptor_t asn
_DEF_Ts;
/*** <<< TYPE-DECLS [Ts] >>> ***/
/*** <<< TYPE-DECLS [Ts] >>> ***/
...
@@ -729,52 +729,52 @@ typedef struct Ts {
...
@@ -729,52 +729,52 @@ typedef struct Ts {
T3_t m3;
T3_t m3;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} Ts_t;
} Ts_t;
/*** <<< STAT-DEFS [Ts] >>> ***/
/*** <<< STAT-DEFS [Ts] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_Ts[] = {
static asn
_TYPE_member_t asn
_MBR_Ts[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m1),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_T2,
.type = (void *)&asn_DEF_T2,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "m1"
.name = "m1"
},
},
{ ATF_POINTER, 1, offsetof(struct Ts, m2),
{ ATF_POINTER, 1, offsetof(struct Ts, m2),
.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
.tag_mode = +1, /* EXPLICIT tag at current level */
.tag_mode = +1, /* EXPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_T3,
.type = (void *)&asn_DEF_T3,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "m2"
.name = "m2"
},
},
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m3),
{ ATF_NOFLAGS, 0, offsetof(struct Ts, m3),
.tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
.tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
.tag_mode = -1, /* IMPLICIT tag at current level */
.tag_mode = -1, /* IMPLICIT tag at current level */
.type = (void *)&asn
1
_DEF_T3,
.type = (void *)&asn_DEF_T3,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = "m3"
.name = "m3"
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_Ts_tags[] = {
static ber_tlv_tag_t asn_DEF_Ts_tags[] = {
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_CONTEXT | (123 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
};
static asn
1_TYPE_tag2member_t asn1
_DEF_Ts_tag2el[] = {
static asn
_TYPE_tag2member_t asn
_DEF_Ts_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* m1 at 24 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* m1 at 24 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 at 25 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 at 25 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* m3 at 27 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* m3 at 27 */
};
};
static asn
1_SEQUENCE_specifics_t asn1
_DEF_Ts_specs = {
static asn
_SEQUENCE_specifics_t asn
_DEF_Ts_specs = {
sizeof(struct Ts),
sizeof(struct Ts),
offsetof(struct Ts, _
ber_dec
_ctx),
offsetof(struct Ts, _
asn
_ctx),
asn
1
_DEF_Ts_tag2el,
asn_DEF_Ts_tag2el,
3, /* Count of tags in the map */
3, /* Count of tags in the map */
-1, /* Start extensions */
-1, /* Start extensions */
-1 /* Stop extensions */
-1 /* Stop extensions */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_Ts = {
asn
_TYPE_descriptor_t asn
_DEF_Ts = {
"Ts",
"Ts",
SEQUENCE_free,
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_print,
...
@@ -784,14 +784,14 @@ asn1_TYPE_descriptor_t asn1_DEF_Ts = {
...
@@ -784,14 +784,14 @@ asn1_TYPE_descriptor_t asn1_DEF_Ts = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SEQUENCE_encode_xer,
SEQUENCE_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_Ts_tags,
asn_DEF_Ts_tags,
sizeof(asn
1
_DEF_Ts_tags)
sizeof(asn_DEF_Ts_tags)
/sizeof(asn
1
_DEF_Ts_tags[0]) - 1, /* 1 */
/sizeof(asn_DEF_Ts_tags[0]) - 1, /* 1 */
asn
1
_DEF_Ts_tags, /* Same as above */
asn_DEF_Ts_tags, /* Same as above */
sizeof(asn
1
_DEF_Ts_tags)
sizeof(asn_DEF_Ts_tags)
/sizeof(asn
1
_DEF_Ts_tags[0]), /* 2 */
/sizeof(asn_DEF_Ts_tags[0]), /* 2 */
asn
1
_MBR_Ts,
asn_MBR_Ts,
3, /* Elements count */
3, /* Elements count */
&asn
1
_DEF_Ts_specs /* Additional specs */
&asn_DEF_Ts_specs /* Additional specs */
};
};
tests/66-ref-simple-OK.asn1.-P
View file @
dfae9758
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
/*** <<< DEPS [T] >>> ***/
/*** <<< DEPS [T] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_T;
extern asn
_TYPE_descriptor_t asn
_DEF_T;
/*** <<< TYPE-DECLS [T] >>> ***/
/*** <<< TYPE-DECLS [T] >>> ***/
...
@@ -16,29 +16,29 @@ typedef struct T {
...
@@ -16,29 +16,29 @@ typedef struct T {
A_SET_OF(SimpleType_t) list;
A_SET_OF(SimpleType_t) list;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
ber_dec_ctx_t _ber_dec
_ctx;
asn_struct_ctx_t _asn
_ctx;
} T_t;
} T_t;
/*** <<< STAT-DEFS [T] >>> ***/
/*** <<< STAT-DEFS [T] >>> ***/
static asn
1_TYPE_member_t asn1
_MBR_T[] = {
static asn
_TYPE_member_t asn
_MBR_T[] = {
{ ATF_NOFLAGS, 0, 0,
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
.tag_mode = 0,
.type = (void *)&asn
1
_DEF_SimpleType,
.type = (void *)&asn_DEF_SimpleType,
.memb_constraints = 0, /* Defer to actual type */
.memb_constraints = 0, /* Defer to actual type */
.name = ""
.name = ""
},
},
};
};
static ber_tlv_tag_t asn
1
_DEF_T_tags[] = {
static ber_tlv_tag_t asn_DEF_T_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
};
static asn
1_SET_OF_specifics_t asn1
_DEF_T_specs = {
static asn
_SET_OF_specifics_t asn
_DEF_T_specs = {
sizeof(struct T),
sizeof(struct T),
offsetof(struct T, _
ber_dec
_ctx),
offsetof(struct T, _
asn
_ctx),
1, /* XER encoding is XMLValueList */
1, /* XER encoding is XMLValueList */
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_T = {
asn
_TYPE_descriptor_t asn
_DEF_T = {
"T",
"T",
SET_OF_free,
SET_OF_free,
SET_OF_print,
SET_OF_print,
...
@@ -48,15 +48,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
...
@@ -48,15 +48,15 @@ asn1_TYPE_descriptor_t asn1_DEF_T = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SET_OF_encode_xer,
SET_OF_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_T_tags,
asn_DEF_T_tags,
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 1 */
/sizeof(asn_DEF_T_tags[0]), /* 1 */
asn
1
_DEF_T_tags, /* Same as above */
asn_DEF_T_tags, /* Same as above */
sizeof(asn
1
_DEF_T_tags)
sizeof(asn_DEF_T_tags)
/sizeof(asn
1
_DEF_T_tags[0]), /* 1 */
/sizeof(asn_DEF_T_tags[0]), /* 1 */
asn
1
_MBR_T,
asn_MBR_T,
1, /* Single element */
1, /* Single element */
&asn
1
_DEF_T_specs /* Additional specs */
&asn_DEF_T_specs /* Additional specs */
};
};
...
@@ -79,7 +79,7 @@ typedef ENUMERATED_t SimpleType_t;
...
@@ -79,7 +79,7 @@ typedef ENUMERATED_t SimpleType_t;
/*** <<< FUNC-DECLS [SimpleType] >>> ***/
/*** <<< FUNC-DECLS [SimpleType] >>> ***/
extern asn
1_TYPE_descriptor_t asn1
_DEF_SimpleType;
extern asn
_TYPE_descriptor_t asn
_DEF_SimpleType;
asn_struct_free_f SimpleType_free;
asn_struct_free_f SimpleType_free;
asn_struct_print_f SimpleType_print;
asn_struct_print_f SimpleType_print;
asn_constr_check_f SimpleType_constraint;
asn_constr_check_f SimpleType_constraint;
...
@@ -90,10 +90,10 @@ xer_type_encoder_f SimpleType_encode_xer;
...
@@ -90,10 +90,10 @@ xer_type_encoder_f SimpleType_encode_xer;
/*** <<< CODE [SimpleType] >>> ***/
/*** <<< CODE [SimpleType] >>> ***/
int
int
SimpleType_constraint(asn
1
_TYPE_descriptor_t *td, const void *sptr,
SimpleType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
/* Replace with underlying type checker */
td->check_constraints = asn
1
_DEF_ENUMERATED.check_constraints;
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
return td->check_constraints(td, sptr, app_errlog, app_key);
}
}
...
@@ -102,41 +102,41 @@ SimpleType_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
...
@@ -102,41 +102,41 @@ SimpleType_constraint(asn1_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
* so here we adjust the DEF accordingly.
*/
*/
static void
static void
SimpleType_inherit_TYPE_descriptor(asn
1
_TYPE_descriptor_t *td) {
SimpleType_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn
1
_DEF_ENUMERATED.free_struct;
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn
1
_DEF_ENUMERATED.print_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn
1
_DEF_ENUMERATED.ber_decoder;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn
1
_DEF_ENUMERATED.der_encoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
td->xer_decoder = asn
1
_DEF_ENUMERATED.xer_decoder;
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
td->xer_encoder = asn
1
_DEF_ENUMERATED.xer_encoder;
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->elements = asn
1
_DEF_ENUMERATED.elements;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn
1
_DEF_ENUMERATED.elements_count;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
td->specifics = asn
1
_DEF_ENUMERATED.specifics;
td->specifics = asn_DEF_ENUMERATED.specifics;
}
}
void
void
SimpleType_free(asn
1
_TYPE_descriptor_t *td,
SimpleType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
void *struct_ptr, int contents_only) {
SimpleType_inherit_TYPE_descriptor(td);
SimpleType_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
td->free_struct(td, struct_ptr, contents_only);
}
}
int
int
SimpleType_print(asn
1
_TYPE_descriptor_t *td, const void *struct_ptr,
SimpleType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SimpleType_inherit_TYPE_descriptor(td);
SimpleType_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
}
ber_dec_rval_t
ber_dec_rval_t
SimpleType_decode_ber(asn
1
_TYPE_descriptor_t *td,
SimpleType_decode_ber(asn
_codec_ctx_t *opt_codec_ctx, asn
_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
void **structure, void *bufptr, size_t size, int tag_mode) {
SimpleType_inherit_TYPE_descriptor(td);
SimpleType_inherit_TYPE_descriptor(td);
return td->ber_decoder(td, structure, bufptr, size, tag_mode);
return td->ber_decoder(
opt_codec_ctx,
td, structure, bufptr, size, tag_mode);
}
}
asn_enc_rval_t
asn_enc_rval_t
SimpleType_encode_der(asn
1
_TYPE_descriptor_t *td,
SimpleType_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
SimpleType_inherit_TYPE_descriptor(td);
SimpleType_inherit_TYPE_descriptor(td);
...
@@ -144,7 +144,7 @@ SimpleType_encode_der(asn1_TYPE_descriptor_t *td,
...
@@ -144,7 +144,7 @@ SimpleType_encode_der(asn1_TYPE_descriptor_t *td,
}
}
asn_enc_rval_t
asn_enc_rval_t
SimpleType_encode_xer(asn
1
_TYPE_descriptor_t *td, void *structure,
SimpleType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_app_consume_bytes_f *cb, void *app_key) {
SimpleType_inherit_TYPE_descriptor(td);
SimpleType_inherit_TYPE_descriptor(td);
...
@@ -154,10 +154,10 @@ SimpleType_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
...
@@ -154,10 +154,10 @@ SimpleType_encode_xer(asn1_TYPE_descriptor_t *td, void *structure,
/*** <<< STAT-DEFS [SimpleType] >>> ***/
/*** <<< STAT-DEFS [SimpleType] >>> ***/
static ber_tlv_tag_t asn
1
_DEF_SimpleType_tags[] = {
static ber_tlv_tag_t asn_DEF_SimpleType_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
};
asn
1_TYPE_descriptor_t asn1
_DEF_SimpleType = {
asn
_TYPE_descriptor_t asn
_DEF_SimpleType = {
"SimpleType",
"SimpleType",
SimpleType_free,
SimpleType_free,
SimpleType_print,
SimpleType_print,
...
@@ -167,12 +167,12 @@ asn1_TYPE_descriptor_t asn1_DEF_SimpleType = {
...
@@ -167,12 +167,12 @@ asn1_TYPE_descriptor_t asn1_DEF_SimpleType = {
0, /* Not implemented yet */
0, /* Not implemented yet */
SimpleType_encode_xer,
SimpleType_encode_xer,
0, /* Use generic outmost tag fetcher */
0, /* Use generic outmost tag fetcher */
asn
1
_DEF_SimpleType_tags,
asn_DEF_SimpleType_tags,
sizeof(asn
1
_DEF_SimpleType_tags)
sizeof(asn_DEF_SimpleType_tags)
/sizeof(asn
1
_DEF_SimpleType_tags[0]), /* 1 */
/sizeof(asn_DEF_SimpleType_tags[0]), /* 1 */
asn
1
_DEF_SimpleType_tags, /* Same as above */
asn_DEF_SimpleType_tags, /* Same as above */
sizeof(asn
1
_DEF_SimpleType_tags)
sizeof(asn_DEF_SimpleType_tags)
/sizeof(asn
1
_DEF_SimpleType_tags[0]), /* 1 */
/sizeof(asn_DEF_SimpleType_tags[0]), /* 1 */
0, 0, /* No members */
0, 0, /* No members */
0 /* No specifics */
0 /* No specifics */
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment