Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
asn1c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
qwebaby3
asn1c
Commits
b47df09b
Commit
b47df09b
authored
20 years ago
by
Lev Walkin
Browse files
Options
Downloads
Patches
Plain Diff
tests
parent
ca850225
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
tests/70-xer-test-OK.asn1.-P
+256
-8
256 additions, 8 deletions
tests/70-xer-test-OK.asn1.-P
with
256 additions
and
8 deletions
tests/70-xer-test-OK.asn1.-P
+
256
−
8
View file @
b47df09b
...
...
@@ -130,7 +130,7 @@ static asn_TYPE_tag2member_t asn_DEF_PDU_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence at 24 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* setOfNULL at 25 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfEnums at 26 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }
,
/* seqOfZuka at 27 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* seqOfZuka at 27 */
};
static asn_CHOICE_specifics_t asn_DEF_PDU_specs = {
sizeof(struct PDU),
...
...
@@ -228,7 +228,7 @@ static asn_TYPE_tag2member_t asn_DEF_Sequence_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer at 32 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence at 33 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits at 34 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }
,
/* string at 35 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string at 35 */
};
static asn_SEQUENCE_specifics_t asn_DEF_Sequence_specs = {
sizeof(struct Sequence),
...
...
@@ -317,7 +317,7 @@ static ber_tlv_tag_t asn_DEF_Set_tags[] = {
};
static asn_TYPE_tag2member_t asn_DEF_Set_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid at 39 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }
,
/* opaque at 40 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque at 40 */
};
static uint8_t asn_DEF_Set_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(1 << 7) | (0 << 6)
...
...
@@ -405,7 +405,7 @@ static ber_tlv_tag_t asn_DEF_ExtensibleSet_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_TYPE_tag2member_t asn_DEF_ExtensibleSet_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }
,
/* string at 44 */
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* string at 44 */
};
static uint8_t asn_DEF_ExtensibleSet_mmap[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = {
(0 << 7)
...
...
@@ -492,7 +492,7 @@ static ber_tlv_tag_t asn_DEF_ExtensibleSequence_tags[] = {
};
static asn_TYPE_tag2member_t asn_DEF_ExtensibleSequence_tag2el[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string at 49 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }
,
/* integer at 51 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer at 51 */
};
static asn_SEQUENCE_specifics_t asn_DEF_ExtensibleSequence_specs = {
sizeof(struct ExtensibleSequence),
...
...
@@ -657,6 +657,10 @@ asn_TYPE_descriptor_t asn_DEF_SetOfNULL = {
/*** <<< DEPS [SetOfEnums] >>> ***/
typedef enum SetOfEnums_Member {
SetOfEnums_Member_one = 0,
SetOfEnums_Member_two = 1
} SetOfEnums_Member_e;
extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums;
/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
...
...
@@ -669,13 +673,132 @@ typedef struct SetOfEnums {
asn_struct_ctx_t _asn_ctx;
} SetOfEnums_t;
/*** <<< FUNC-DECLS [SetOfEnums] >>> ***/
/* extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums_Member; // (Use -fall-defs-global to expose) */
/*** <<< CODE [SetOfEnums] >>> ***/
static int
SetOfEnums_Member_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
SetOfEnums_Member_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
td->specifics = asn_DEF_ENUMERATED.specifics;
}
static void
SetOfEnums_Member_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
SetOfEnums_Member_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
SetOfEnums_Member_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
SetOfEnums_Member_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
SetOfEnums_Member_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
SetOfEnums_Member_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
SetOfEnums_Member_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
SetOfEnums_Member_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
SetOfEnums_Member_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, void *bufptr, size_t size) {
SetOfEnums_Member_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
SetOfEnums_Member_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
SetOfEnums_Member_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [SetOfEnums] >>> ***/
static asn_INTEGER_enum_map_t asn_MAP_SetOfEnums_Member_enum2value[] = {
{ "one", 0 },
{ "two", 1 }
};
static asn_INTEGER_enum_map_t asn_MAP_SetOfEnums_Member_value2enum[] = {
{ "one", 0 },
{ "two", 1 }
};
static asn_INTEGER_specifics_t asn_DEF_SetOfEnums_Member_specs = {
/* Two name<->value maps sorted differently;
* this may seem like a waste of space,
* but the strings actually share it.
*/
asn_MAP_SetOfEnums_Member_enum2value, /* "tag" => N; sorted by tag */
asn_MAP_SetOfEnums_Member_value2enum, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
0 /* Enumeration is not extensible */
};
static ber_tlv_tag_t asn_DEF_SetOfEnums_Member_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_SetOfEnums_Member = {
"",
"",
SetOfEnums_Member_free,
SetOfEnums_Member_print,
SetOfEnums_Member_constraint,
SetOfEnums_Member_decode_ber,
SetOfEnums_Member_encode_der,
SetOfEnums_Member_decode_xer,
SetOfEnums_Member_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_SetOfEnums_Member_tags,
sizeof(asn_DEF_SetOfEnums_Member_tags)
/sizeof(asn_DEF_SetOfEnums_Member_tags[0]), /* 1 */
asn_DEF_SetOfEnums_Member_tags, /* Same as above */
sizeof(asn_DEF_SetOfEnums_Member_tags)
/sizeof(asn_DEF_SetOfEnums_Member_tags[0]), /* 1 */
0, 0, /* Defined elsewhere */
&asn_DEF_SetOfEnums_Member_specs /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_SetOfEnums[] = {
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
.type = (void *)&asn_DEF_
ENUMERATED
,
.type = (void *)&asn_DEF_
SetOfEnums_Member
,
.memb_constraints = 0, /* Defer constraints checking to the member type */
.name = ""
},
...
...
@@ -686,7 +809,7 @@ static ber_tlv_tag_t asn_DEF_SetOfEnums_tags[] = {
static asn_SET_OF_specifics_t asn_DEF_SetOfEnums_specs = {
sizeof(struct SetOfEnums),
offsetof(struct SetOfEnums, _asn_ctx),
0
, /* XER encoding is XML
DelimitedItem
List */
1
, /* XER encoding is XML
Value
List */
};
asn_TYPE_descriptor_t asn_DEF_SetOfEnums = {
"SetOfEnums",
...
...
@@ -719,6 +842,10 @@ asn_TYPE_descriptor_t asn_DEF_SetOfEnums = {
/*** <<< DEPS [SequenceOf] >>> ***/
typedef enum id {
id_one = 1,
id_two = 2
} id_e;
extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
/*** <<< TYPE-DECLS [SequenceOf] >>> ***/
...
...
@@ -731,13 +858,134 @@ typedef struct SequenceOf {
asn_struct_ctx_t _asn_ctx;
} SequenceOf_t;
/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
/* extern asn_TYPE_descriptor_t asn_DEF_id; // (Use -fall-defs-global to expose) */
/*** <<< CODE [SequenceOf] >>> ***/
static int
id_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_INTEGER.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
static void
id_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn_DEF_INTEGER.print_struct;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
td->der_encoder = asn_DEF_INTEGER.der_encoder;
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics;
}
static void
id_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
id_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
id_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
id_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
id_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
id_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
id_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
id_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
id_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, void *bufptr, size_t size) {
id_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
id_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
id_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [SequenceOf] >>> ***/
static asn_INTEGER_enum_map_t asn_MAP_id_enum2value[] = {
{ "one", 1 },
{ "two", 2 }
/* This list is extensible */
};
static asn_INTEGER_enum_map_t asn_MAP_id_value2enum[] = {
{ "one", 1 },
{ "two", 2 }
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_DEF_id_specs = {
/* Two name<->value maps sorted differently;
* this may seem like a waste of space,
* but the strings actually share it.
*/
asn_MAP_id_enum2value, /* "tag" => N; sorted by tag */
asn_MAP_id_value2enum, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
1 /* Enumeration is extensible */
};
static ber_tlv_tag_t asn_DEF_id_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_id = {
"",
"",
id_free,
id_print,
id_constraint,
id_decode_ber,
id_encode_der,
id_decode_xer,
id_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_id_tags,
sizeof(asn_DEF_id_tags)
/sizeof(asn_DEF_id_tags[0]), /* 1 */
asn_DEF_id_tags, /* Same as above */
sizeof(asn_DEF_id_tags)
/sizeof(asn_DEF_id_tags[0]), /* 1 */
0, 0, /* Defined elsewhere */
&asn_DEF_id_specs /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_SequenceOf[] = {
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.type = (void *)&asn_DEF_
INTEGER
,
.type = (void *)&asn_DEF_
id
,
.memb_constraints = 0, /* Defer constraints checking to the member type */
.name = "id"
},
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment