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
171487e6
Commit
171487e6
authored
Mar 21, 2006
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some more parameterization
parent
0c0bca6b
Changes
28
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
921 additions
and
38 deletions
+921
-38
ChangeLog
ChangeLog
+1
-0
libasn1compiler/asn1c_C.c
libasn1compiler/asn1c_C.c
+4
-4
tests/103-reference-SE.asn1
tests/103-reference-SE.asn1
+2
-2
tests/104-param-1-OK.asn1
tests/104-param-1-OK.asn1
+1
-1
tests/104-param-1-OK.asn1.-EFprint-class-matrix
tests/104-param-1-OK.asn1.-EFprint-class-matrix
+1
-1
tests/105-param-2-OK.asn1
tests/105-param-2-OK.asn1
+1
-1
tests/106-param-constr-OK.asn1
tests/106-param-constr-OK.asn1
+1
-1
tests/107-param-constr-2-OK.asn1
tests/107-param-constr-2-OK.asn1
+1
-1
tests/108-param-constr-3-OK.asn1
tests/108-param-constr-3-OK.asn1
+18
-0
tests/108-param-constr-3-OK.asn1.-P
tests/108-param-constr-3-OK.asn1.-P
+292
-0
tests/110-param-3-OK.asn1
tests/110-param-3-OK.asn1
+21
-0
tests/110-param-3-OK.asn1.-P
tests/110-param-3-OK.asn1.-P
+530
-0
tests/111-param-4-SE.asn1
tests/111-param-4-SE.asn1
+21
-0
tests/42-real-life-OK.asn1.-PR
tests/42-real-life-OK.asn1.-PR
+1
-1
tests/50-constraint-OK.asn1.-P
tests/50-constraint-OK.asn1.-P
+3
-3
tests/50-constraint-OK.asn1.-Pgen-PER
tests/50-constraint-OK.asn1.-Pgen-PER
+3
-3
tests/66-ref-simple-OK.asn1.-P
tests/66-ref-simple-OK.asn1.-P
+1
-1
tests/70-xer-test-OK.asn1.-P
tests/70-xer-test-OK.asn1.-P
+3
-3
tests/72-same-names-OK.asn1.-P
tests/72-same-names-OK.asn1.-P
+2
-2
tests/73-circular-OK.asn1.-P
tests/73-circular-OK.asn1.-P
+1
-1
tests/84-param-tags-OK.asn1
tests/84-param-tags-OK.asn1
+2
-2
tests/84-param-tags-OK.asn1.-EF
tests/84-param-tags-OK.asn1.-EF
+2
-2
tests/88-integer-enum-OK.asn1.-P
tests/88-integer-enum-OK.asn1.-P
+1
-1
tests/89-bit-string-enum-OK.asn1.-P
tests/89-bit-string-enum-OK.asn1.-P
+1
-1
tests/89-bit-string-enum-OK.asn1.-Pfcompound-names
tests/89-bit-string-enum-OK.asn1.-Pfcompound-names
+1
-1
tests/90-cond-int-type-OK.asn1.-P
tests/90-cond-int-type-OK.asn1.-P
+2
-2
tests/90-cond-int-type-OK.asn1.-Pfnative-types
tests/90-cond-int-type-OK.asn1.-Pfnative-types
+2
-2
tests/90-cond-int-type-OK.asn1.-Pgen-PER
tests/90-cond-int-type-OK.asn1.-Pgen-PER
+2
-2
No files found.
ChangeLog
View file @
171487e6
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
(Severity: medim; Security impact: none)
(Severity: medim; Security impact: none)
* Refactored Information Object Classes parsing.
* Refactored Information Object Classes parsing.
* Refactored Parameterization support.
* Refactored Parameterization support.
* [typedef enum foo {}] foo_e; is now e_foo, see #1287989
0.9.20: 2006-Mar-06
0.9.20: 2006-Mar-06
...
...
libasn1compiler/asn1c_C.c
View file @
171487e6
...
@@ -158,9 +158,9 @@ asn1c_lang_C_type_common_INTEGER(arg_t *arg) {
...
@@ -158,9 +158,9 @@ asn1c_lang_C_type_common_INTEGER(arg_t *arg) {
return
-
1
;
return
-
1
;
}
}
}
}
OUT
(
"} "
);
OUT
(
"}
e_
"
);
out_name_chain
(
arg
,
ONC_noflags
);
out_name_chain
(
arg
,
ONC_noflags
);
OUT
(
"
_e
;
\n
"
);
OUT
(
";
\n
"
);
assert
(
eidx
==
el_count
);
assert
(
eidx
==
el_count
);
}
}
...
@@ -259,9 +259,9 @@ asn1c_lang_C_type_BIT_STRING(arg_t *arg) {
...
@@ -259,9 +259,9 @@ asn1c_lang_C_type_BIT_STRING(arg_t *arg) {
v
->
value
->
value
.
v_integer
,
v
->
value
->
value
.
v_integer
,
(
eidx
<
el_count
)
?
","
:
""
);
(
eidx
<
el_count
)
?
","
:
""
);
}
}
OUT
(
"} "
);
OUT
(
"}
e_
"
);
out_name_chain
(
arg
,
ONC_noflags
);
out_name_chain
(
arg
,
ONC_noflags
);
OUT
(
"
_e
;
\n
"
);
OUT
(
";
\n
"
);
assert
(
eidx
==
el_count
);
assert
(
eidx
==
el_count
);
}
}
...
...
tests/103-reference-SE.asn1
View file @
171487e6
...
@@ -3,11 +3,11 @@
...
@@ -3,11 +3,11 @@
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .10
2
-- .10
3
ModuleReference
ModuleReference
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 10
2
}
spelio(9363) software(1) asn1c(5) test(1) 10
3
}
DEFINITIONS ::=
DEFINITIONS ::=
BEGIN
BEGIN
IMPORTS Type FROM ModuleReference;
IMPORTS Type FROM ModuleReference;
...
...
tests/104-param-1-OK.asn1
View file @
171487e6
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .104
-- .104
ModuleParametrization1
ModuleParamet
e
rization1
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 104 }
spelio(9363) software(1) asn1c(5) test(1) 104 }
DEFINITIONS ::=
DEFINITIONS ::=
...
...
tests/104-param-1-OK.asn1.-EFprint-class-matrix
View file @
171487e6
ModuleParametrization1 { iso org(3) dod(6) internet(1) private(4)
ModuleParamet
e
rization1 { iso org(3) dod(6) internet(1) private(4)
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 104 }
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 104 }
DEFINITIONS ::=
DEFINITIONS ::=
BEGIN
BEGIN
...
...
tests/105-param-2-OK.asn1
View file @
171487e6
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .105
-- .105
ModuleParametrization2
ModuleParamet
e
rization2
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 105 }
spelio(9363) software(1) asn1c(5) test(1) 105 }
DEFINITIONS ::=
DEFINITIONS ::=
...
...
tests/106-param-constr-OK.asn1
View file @
171487e6
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .106
-- .106
ModuleParametrizationWithConstraints
ModuleParamet
e
rizationWithConstraints
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 106 }
spelio(9363) software(1) asn1c(5) test(1) 106 }
DEFINITIONS ::=
DEFINITIONS ::=
...
...
tests/107-param-constr-2-OK.asn1
View file @
171487e6
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .107
-- .107
ModuleParametrizationWithConstraints2
ModuleParamet
e
rizationWithConstraints2
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 107 }
spelio(9363) software(1) asn1c(5) test(1) 107 }
DEFINITIONS ::=
DEFINITIONS ::=
...
...
tests/108-param-constr-3-OK.asn1
0 → 100644
View file @
171487e6
-- OK: Everything is fine
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .108
ModuleParameterizationWithConstraints3
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 108 }
DEFINITIONS ::=
BEGIN
MinMax {Type, INTEGER:low-bound} ::= Type (low-bound..MAX)
ThreePlus ::= MinMax {INTEGER, 3}
END
tests/108-param-constr-3-OK.asn1.-P
0 → 100644
View file @
171487e6
/*** <<< INCLUDES [MinMax] >>> ***/
#include <INTEGER.h>
/*** <<< TYPE-DECLS [MinMax] >>> ***/
typedef INTEGER_t MinMax_16P0_t;
/*** <<< FUNC-DECLS [MinMax] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_MinMax_16P0;
asn_struct_free_f MinMax_16P0_free;
asn_struct_print_f MinMax_16P0_print;
asn_constr_check_f MinMax_16P0_constraint;
ber_type_decoder_f MinMax_16P0_decode_ber;
der_type_encoder_f MinMax_16P0_encode_der;
xer_type_decoder_f MinMax_16P0_decode_xer;
xer_type_encoder_f MinMax_16P0_encode_xer;
/*** <<< CODE [MinMax] >>> ***/
int
MinMax_16P0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const INTEGER_t *st = (const INTEGER_t *)sptr;
long value;
if(!sptr) {
_ASN_ERRLOG(app_errlog, app_key,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(asn_INTEGER2long(st, &value)) {
_ASN_ERRLOG(app_errlog, app_key,
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if((value >= 3)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_ERRLOG(app_errlog, app_key,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
static void
MinMax_16P0_1_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->uper_decoder = asn_DEF_INTEGER.uper_decoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_INTEGER.per_constraints;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics;
}
void
MinMax_16P0_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
MinMax_16P0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
MinMax_16P0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
MinMax_16P0_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) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
MinMax_16P0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
MinMax_16P0_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) {
MinMax_16P0_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [MinMax] >>> ***/
static ber_tlv_tag_t asn_DEF_MinMax_16P0_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_MinMax_16P0 = {
"MinMax",
"MinMax",
MinMax_16P0_free,
MinMax_16P0_print,
MinMax_16P0_constraint,
MinMax_16P0_decode_ber,
MinMax_16P0_encode_der,
MinMax_16P0_decode_xer,
MinMax_16P0_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_MinMax_16P0_tags_1,
sizeof(asn_DEF_MinMax_16P0_tags_1)
/sizeof(asn_DEF_MinMax_16P0_tags_1[0]), /* 1 */
asn_DEF_MinMax_16P0_tags_1, /* Same as above */
sizeof(asn_DEF_MinMax_16P0_tags_1)
/sizeof(asn_DEF_MinMax_16P0_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};
/*** <<< INCLUDES [ThreePlus] >>> ***/
#include <MinMax.h>
/*** <<< TYPE-DECLS [ThreePlus] >>> ***/
typedef MinMax_16P0_t ThreePlus_t;
/*** <<< FUNC-DECLS [ThreePlus] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_ThreePlus;
asn_struct_free_f ThreePlus_free;
asn_struct_print_f ThreePlus_print;
asn_constr_check_f ThreePlus_constraint;
ber_type_decoder_f ThreePlus_decode_ber;
der_type_encoder_f ThreePlus_encode_der;
xer_type_decoder_f ThreePlus_decode_xer;
xer_type_encoder_f ThreePlus_encode_xer;
/*** <<< CODE [ThreePlus] >>> ***/
int
ThreePlus_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_consume_bytes_f *app_errlog, void *app_key) {
const MinMax_16P0_t *st = (const MinMax_16P0_t *)sptr;
long value;
if(!sptr) {
_ASN_ERRLOG(app_errlog, app_key,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(asn_INTEGER2long(st, &value)) {
_ASN_ERRLOG(app_errlog, app_key,
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if((value >= 3)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_ERRLOG(app_errlog, app_key,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using MinMax_16P0,
* so here we adjust the DEF accordingly.
*/
static void
ThreePlus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_MinMax_16P0.free_struct;
td->print_struct = asn_DEF_MinMax_16P0.print_struct;
td->ber_decoder = asn_DEF_MinMax_16P0.ber_decoder;
td->der_encoder = asn_DEF_MinMax_16P0.der_encoder;
td->xer_decoder = asn_DEF_MinMax_16P0.xer_decoder;
td->xer_encoder = asn_DEF_MinMax_16P0.xer_encoder;
td->uper_decoder = asn_DEF_MinMax_16P0.uper_decoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_MinMax_16P0.per_constraints;
td->elements = asn_DEF_MinMax_16P0.elements;
td->elements_count = asn_DEF_MinMax_16P0.elements_count;
td->specifics = asn_DEF_MinMax_16P0.specifics;
}
void
ThreePlus_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ThreePlus_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ThreePlus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ThreePlus_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ThreePlus_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) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ThreePlus_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ThreePlus_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) {
ThreePlus_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [ThreePlus] >>> ***/
static ber_tlv_tag_t asn_DEF_ThreePlus_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ThreePlus = {
"ThreePlus",
"ThreePlus",
ThreePlus_free,
ThreePlus_print,
ThreePlus_constraint,
ThreePlus_decode_ber,
ThreePlus_encode_der,
ThreePlus_decode_xer,
ThreePlus_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_ThreePlus_tags_1,
sizeof(asn_DEF_ThreePlus_tags_1)
/sizeof(asn_DEF_ThreePlus_tags_1[0]), /* 1 */
asn_DEF_ThreePlus_tags_1, /* Same as above */
sizeof(asn_DEF_ThreePlus_tags_1)
/sizeof(asn_DEF_ThreePlus_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};
tests/110-param-3-OK.asn1
0 → 100644
View file @
171487e6
-- OK: Everything is fine
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .110
ModuleParameterization3
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 110 }
DEFINITIONS ::=
BEGIN
Flag{Color} ::= SEQUENCE {
field Color DEFAULT blue
}
IntegerColorFlag ::= Flag{INTEGER{ red(0), green(1), blue(5) }}
EnumeratedColorFlag ::= Flag{ENUMERATED{ red(3), green, blue }}
END
tests/110-param-3-OK.asn1.-P
0 → 100644
View file @
171487e6
/*** <<< INCLUDES [Flag] >>> ***/
#include <INTEGER.h>
#include <constr_SEQUENCE.h>
#include <ENUMERATED.h>
/*** <<< DEPS [Flag] >>> ***/
typedef enum field {
field_red = 0,
field_green = 1,
field_blue = 5
} e_field;
typedef enum field {
field_red = 3,
field_green = 4,
field_blue = 5
} e_field;
/*** <<< TYPE-DECLS [Flag] >>> ***/
typedef struct Flag_16P0 {
INTEGER_t *field /* DEFAULT 5 */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Flag_16P0_t;
typedef struct Flag_16P1 {
ENUMERATED_t *field /* DEFAULT 5 */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} Flag_16P1_t;
/*** <<< FUNC-DECLS [Flag] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_Flag_16P0;
/* extern asn_TYPE_descriptor_t asn_DEF_field_7; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_Flag_16P1;
/*** <<< CODE [Flag] >>> ***/
static int
field_7_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
field_7_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->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
}
static void
field_7_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
field_7_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
field_7_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
field_7_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
field_7_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
field_7_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
field_7_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) {
field_7_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
field_7_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
field_7_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
field_7_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) {
field_7_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [Flag] >>> ***/
static int asn_DFL_2_set_5(void **sptr) {
INTEGER_t *st = *sptr;
if(!st) {
st = (*sptr = CALLOC(1, sizeof(*st)));
if(!st) return -1;
}
/* Install default value 5 */
return asn_long2INTEGER(st, 5);
}
static asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = {
{ ATF_POINTER, 1, offsetof(struct Flag_16P0, field),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
.tag_mode = 0,
.type = &asn_DEF_INTEGER,
.memb_constraints = 0, /* Defer constraints checking to the member type */
.per_constraints = 0, /* PER is not compiled, use -gen-PER */
.default_value = asn_DFL_2_set_5, /* DEFAULT 5 */
.name = "field"
},
};
static ber_tlv_tag_t asn_DEF_Flag_16P0_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field at 18 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
sizeof(struct Flag_16P0),
offsetof(struct Flag_16P0, _asn_ctx),
asn_MAP_Flag_16P0_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_Flag_16P0 = {
"Flag",
"Flag",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Flag_16P0_tags_1,
sizeof(asn_DEF_Flag_16P0_tags_1)
/sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
asn_DEF_Flag_16P0_tags_1, /* Same as above */
sizeof(asn_DEF_Flag_16P0_tags_1)
/sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Flag_16P0_1,
1, /* Elements count */
&asn_SPC_Flag_16P0_specs_1 /* Additional specs */
};
static int asn_DFL_7_set_5(void **sptr) {
ENUMERATED_t *st = *sptr;
if(!st) {
st = (*sptr = CALLOC(1, sizeof(*st)));
if(!st) return -1;
}
/* Install default value 5 */
return asn_long2INTEGER(st, 5);
}
static asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
{ 3, 3, "red" },
{ 4, 5, "green" },
{ 5, 4, "blue" }
};
static unsigned int asn_MAP_field_enum2value_7[] = {
2, /* blue(5) */
1, /* green(4) */
0 /* red(3) */
};
static asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1 /* Strict enumeration */
};
static ber_tlv_tag_t asn_DEF_field_tags_7[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_field_7 = {
"field",
"field",
field_7_free,
field_7_print,
field_7_constraint,
field_7_decode_ber,
field_7_encode_der,
field_7_decode_xer,
field_7_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_field_tags_7,
sizeof(asn_DEF_field_tags_7)
/sizeof(asn_DEF_field_tags_7[0]), /* 1 */
asn_DEF_field_tags_7, /* Same as above */
sizeof(asn_DEF_field_tags_7)
/sizeof(asn_DEF_field_tags_7[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
&asn_SPC_field_specs_7 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
{ ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
.tag_mode = 0,
.type = &asn_DEF_field_7,
.memb_constraints = 0, /* Defer constraints checking to the member type */
.per_constraints = 0, /* PER is not compiled, use -gen-PER */
.default_value = asn_DFL_7_set_5, /* DEFAULT 5 */
.name = "field"
},
};
static ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field at 19 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
sizeof(struct Flag_16P1),
offsetof(struct Flag_16P1, _asn_ctx),
asn_MAP_Flag_16P1_tag2el_6,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_Flag_16P1 = {
"Flag",
"Flag",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_Flag_16P1_tags_6,
sizeof(asn_DEF_Flag_16P1_tags_6)
/sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
asn_DEF_Flag_16P1_tags_6, /* Same as above */
sizeof(asn_DEF_Flag_16P1_tags_6)
/sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Flag_16P1_6,
1, /* Elements count */
&asn_SPC_Flag_16P1_specs_6 /* Additional specs */
};
/*** <<< INCLUDES [IntegerColorFlag] >>> ***/
#include <Flag.h>
/*** <<< TYPE-DECLS [IntegerColorFlag] >>> ***/
typedef Flag_16P0_t IntegerColorFlag_t;
/*** <<< FUNC-DECLS [IntegerColorFlag] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag;
asn_struct_free_f IntegerColorFlag_free;
asn_struct_print_f IntegerColorFlag_print;
asn_constr_check_f IntegerColorFlag_constraint;
ber_type_decoder_f IntegerColorFlag_decode_ber;
der_type_encoder_f IntegerColorFlag_encode_der;
xer_type_decoder_f IntegerColorFlag_decode_xer;
xer_type_encoder_f IntegerColorFlag_encode_xer;
/*** <<< CODE [IntegerColorFlag] >>> ***/
int
IntegerColorFlag_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_Flag_16P0.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using Flag_16P0,
* so here we adjust the DEF accordingly.
*/
static void
IntegerColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Flag_16P0.free_struct;
td->print_struct = asn_DEF_Flag_16P0.print_struct;
td->ber_decoder = asn_DEF_Flag_16P0.ber_decoder;
td->der_encoder = asn_DEF_Flag_16P0.der_encoder;
td->xer_decoder = asn_DEF_Flag_16P0.xer_decoder;
td->xer_encoder = asn_DEF_Flag_16P0.xer_encoder;
td->uper_decoder = asn_DEF_Flag_16P0.uper_decoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Flag_16P0.per_constraints;
td->elements = asn_DEF_Flag_16P0.elements;
td->elements_count = asn_DEF_Flag_16P0.elements_count;
td->specifics = asn_DEF_Flag_16P0.specifics;
}
void
IntegerColorFlag_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
IntegerColorFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
IntegerColorFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
IntegerColorFlag_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) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
IntegerColorFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
IntegerColorFlag_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) {
IntegerColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
static ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
"IntegerColorFlag",
"IntegerColorFlag",
IntegerColorFlag_free,
IntegerColorFlag_print,
IntegerColorFlag_constraint,
IntegerColorFlag_decode_ber,
IntegerColorFlag_encode_der,
IntegerColorFlag_decode_xer,
IntegerColorFlag_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_IntegerColorFlag_tags_1,
sizeof(asn_DEF_IntegerColorFlag_tags_1)
/sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
asn_DEF_IntegerColorFlag_tags_1, /* Same as above */
sizeof(asn_DEF_IntegerColorFlag_tags_1)
/sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
/*** <<< INCLUDES [EnumeratedColorFlag] >>> ***/
#include <Flag.h>
/*** <<< TYPE-DECLS [EnumeratedColorFlag] >>> ***/
typedef Flag_16P1_t EnumeratedColorFlag_t;
/*** <<< FUNC-DECLS [EnumeratedColorFlag] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag;
asn_struct_free_f EnumeratedColorFlag_free;
asn_struct_print_f EnumeratedColorFlag_print;
asn_constr_check_f EnumeratedColorFlag_constraint;
ber_type_decoder_f EnumeratedColorFlag_decode_ber;
der_type_encoder_f EnumeratedColorFlag_encode_der;
xer_type_decoder_f EnumeratedColorFlag_decode_xer;
xer_type_encoder_f EnumeratedColorFlag_encode_xer;
/*** <<< CODE [EnumeratedColorFlag] >>> ***/
int
EnumeratedColorFlag_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_Flag_16P1.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using Flag_16P1,
* so here we adjust the DEF accordingly.
*/
static void
EnumeratedColorFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Flag_16P1.free_struct;
td->print_struct = asn_DEF_Flag_16P1.print_struct;
td->ber_decoder = asn_DEF_Flag_16P1.ber_decoder;
td->der_encoder = asn_DEF_Flag_16P1.der_encoder;
td->xer_decoder = asn_DEF_Flag_16P1.xer_decoder;
td->xer_encoder = asn_DEF_Flag_16P1.xer_encoder;
td->uper_decoder = asn_DEF_Flag_16P1.uper_decoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Flag_16P1.per_constraints;
td->elements = asn_DEF_Flag_16P1.elements;
td->elements_count = asn_DEF_Flag_16P1.elements_count;
td->specifics = asn_DEF_Flag_16P1.specifics;
}
void
EnumeratedColorFlag_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
EnumeratedColorFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
EnumeratedColorFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
EnumeratedColorFlag_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) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
EnumeratedColorFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
EnumeratedColorFlag_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) {
EnumeratedColorFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
static ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
"EnumeratedColorFlag",
"EnumeratedColorFlag",
EnumeratedColorFlag_free,
EnumeratedColorFlag_print,
EnumeratedColorFlag_constraint,
EnumeratedColorFlag_decode_ber,
EnumeratedColorFlag_encode_der,
EnumeratedColorFlag_decode_xer,
EnumeratedColorFlag_encode_xer,
0, /* No PER decoder, -gen-PER to enable */
0, /* Use generic outmost tag fetcher */
asn_DEF_EnumeratedColorFlag_tags_1,
sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
/sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
asn_DEF_EnumeratedColorFlag_tags_1, /* Same as above */
sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
/sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
tests/111-param-4-SE.asn1
0 → 100644
View file @
171487e6
-- SE: Semantic error
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .111
ModuleParameterization4
{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 111 }
DEFINITIONS ::=
BEGIN
Flag{Color} ::= SEQUENCE {
field Color DEFAULT cyan
}
IntegerColorFlag ::= Flag{INTEGER{ red(0), green(1), blue(5) }}
EnumeratedColorFlag ::= Flag{ENUMERATED{ red(3), green, blue }}
END
tests/42-real-life-OK.asn1.-PR
View file @
171487e6
...
@@ -604,7 +604,7 @@ typedef enum accept_as {
...
@@ -604,7 +604,7 @@ typedef enum accept_as {
/*
/*
* Enumeration is extensible
* Enumeration is extensible
*/
*/
}
accept_as_e
;
}
e_accept_as
;
/*** <<< TYPE-DECLS [ActionItem] >>> ***/
/*** <<< TYPE-DECLS [ActionItem] >>> ***/
...
...
tests/50-constraint-OK.asn1.-P
View file @
171487e6
...
@@ -3484,7 +3484,7 @@ typedef enum enum_c {
...
@@ -3484,7 +3484,7 @@ typedef enum enum_c {
* Enumeration is extensible
* Enumeration is extensible
*/
*/
enum_c_three = 3
enum_c_three = 3
} e
num_c_e
;
} e
_enum_c
;
/*** <<< TYPE-DECLS [Sequence] >>> ***/
/*** <<< TYPE-DECLS [Sequence] >>> ***/
...
@@ -3941,7 +3941,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
...
@@ -3941,7 +3941,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
typedef enum Enum0 {
typedef enum Enum0 {
Enum0_one = 0,
Enum0_one = 0,
Enum0_two = 1
Enum0_two = 1
}
Enum0_e
;
}
e_Enum0
;
/*** <<< TYPE-DECLS [Enum0] >>> ***/
/*** <<< TYPE-DECLS [Enum0] >>> ***/
...
@@ -4086,7 +4086,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum0 = {
...
@@ -4086,7 +4086,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum0 = {
typedef enum Enum1 {
typedef enum Enum1 {
Enum1_one = 0,
Enum1_one = 0,
Enum1_two = 1
Enum1_two = 1
}
Enum1_e
;
}
e_Enum1
;
/*** <<< TYPE-DECLS [Enum1] >>> ***/
/*** <<< TYPE-DECLS [Enum1] >>> ***/
...
...
tests/50-constraint-OK.asn1.-Pgen-PER
View file @
171487e6
...
@@ -3744,7 +3744,7 @@ typedef enum enum_c {
...
@@ -3744,7 +3744,7 @@ typedef enum enum_c {
* Enumeration is extensible
* Enumeration is extensible
*/
*/
enum_c_three = 3
enum_c_three = 3
} e
num_c_e
;
} e
_enum_c
;
/*** <<< TYPE-DECLS [Sequence] >>> ***/
/*** <<< TYPE-DECLS [Sequence] >>> ***/
...
@@ -4234,7 +4234,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
...
@@ -4234,7 +4234,7 @@ asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
typedef enum Enum0 {
typedef enum Enum0 {
Enum0_one = 0,
Enum0_one = 0,
Enum0_two = 1
Enum0_two = 1
}
Enum0_e
;
}
e_Enum0
;
/*** <<< TYPE-DECLS [Enum0] >>> ***/
/*** <<< TYPE-DECLS [Enum0] >>> ***/
...
@@ -4391,7 +4391,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum0 = {
...
@@ -4391,7 +4391,7 @@ asn_TYPE_descriptor_t asn_DEF_Enum0 = {
typedef enum Enum1 {
typedef enum Enum1 {
Enum1_one = 0,
Enum1_one = 0,
Enum1_two = 1
Enum1_two = 1
}
Enum1_e
;
}
e_Enum1
;
/*** <<< TYPE-DECLS [Enum1] >>> ***/
/*** <<< TYPE-DECLS [Enum1] >>> ***/
...
...
tests/66-ref-simple-OK.asn1.-P
View file @
171487e6
...
@@ -74,7 +74,7 @@ typedef enum SimpleType {
...
@@ -74,7 +74,7 @@ typedef enum SimpleType {
SimpleType_one = 0,
SimpleType_one = 0,
SimpleType_two = 1,
SimpleType_two = 1,
SimpleType_three = 2
SimpleType_three = 2
}
SimpleType_
e;
}
e_SimpleTyp
e;
/*** <<< TYPE-DECLS [SimpleType] >>> ***/
/*** <<< TYPE-DECLS [SimpleType] >>> ***/
...
...
tests/70-xer-test-OK.asn1.-P
View file @
171487e6
...
@@ -499,7 +499,7 @@ typedef enum ExtensibleSet_PR {
...
@@ -499,7 +499,7 @@ typedef enum ExtensibleSet_PR {
typedef enum Enum {
typedef enum Enum {
enum_b = 0,
enum_b = 0,
enum_a = 1
enum_a = 1
} e
num_e
;
} e
_enum
;
/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/
/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/
...
@@ -1037,7 +1037,7 @@ asn_TYPE_descriptor_t asn_DEF_SetOfREAL = {
...
@@ -1037,7 +1037,7 @@ asn_TYPE_descriptor_t asn_DEF_SetOfREAL = {
typedef enum Member {
typedef enum Member {
Member_one = 0,
Member_one = 0,
Member_oneMore = 1
Member_oneMore = 1
}
Member_e
;
}
e_Member
;
/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/
...
@@ -1357,7 +1357,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = {
...
@@ -1357,7 +1357,7 @@ asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = {
typedef enum name {
typedef enum name {
name_one = 0,
name_one = 0,
name_oneMore = 1
name_oneMore = 1
}
name_
e;
}
e_nam
e;
/*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/
/*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/
...
...
tests/72-same-names-OK.asn1.-P
View file @
171487e6
...
@@ -352,7 +352,7 @@ typedef enum Type2_PR {
...
@@ -352,7 +352,7 @@ typedef enum Type2_PR {
} Type2_PR;
} Type2_PR;
typedef enum a {
typedef enum a {
a_one = 0
a_one = 0
}
a_e
;
}
e_a
;
/*
/*
* Method of determining the components presence
* Method of determining the components presence
...
@@ -362,7 +362,7 @@ typedef enum two_name_PR {
...
@@ -362,7 +362,7 @@ typedef enum two_name_PR {
} two_name_PR;
} two_name_PR;
typedef enum a {
typedef enum a {
a_one = 0
a_one = 0
}
a_e
;
}
e_a
;
/*** <<< TYPE-DECLS [Type2] >>> ***/
/*** <<< TYPE-DECLS [Type2] >>> ***/
...
...
tests/73-circular-OK.asn1.-P
View file @
171487e6
...
@@ -703,7 +703,7 @@ asn_TYPE_descriptor_t asn_DEF_Ypet = {
...
@@ -703,7 +703,7 @@ asn_TYPE_descriptor_t asn_DEF_Ypet = {
typedef enum EnumType {
typedef enum EnumType {
EnumType_one = 0,
EnumType_one = 0,
EnumType_two = 1
EnumType_two = 1
}
EnumType_
e;
}
e_EnumTyp
e;
/*** <<< TYPE-DECLS [EnumType] >>> ***/
/*** <<< TYPE-DECLS [EnumType] >>> ***/
...
...
tests/84-param-tags-OK.asn1
View file @
171487e6
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
-- .84 1
-- .84 1
-- .84 2
-- .84 2
ModuleTestParametrizationTags1
ModuleTestParamet
e
rizationTags1
{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 84 1 }
spelio(9363) software(1) asn1c(5) test(1) 84 1 }
DEFINITIONS ::=
DEFINITIONS ::=
...
@@ -23,7 +23,7 @@ BEGIN
...
@@ -23,7 +23,7 @@ BEGIN
END
END
ModuleTestParametrizationTagsAuto2
ModuleTestParamet
e
rizationTagsAuto2
{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 84 2 }
spelio(9363) software(1) asn1c(5) test(1) 84 2 }
DEFINITIONS AUTOMATIC TAGS ::=
DEFINITIONS AUTOMATIC TAGS ::=
...
...
tests/84-param-tags-OK.asn1.-EF
View file @
171487e6
ModuleTestParametrizationTags1 { iso org(3) dod(6) internet(1) private(4)
ModuleTestParamet
e
rizationTags1 { iso org(3) dod(6) internet(1) private(4)
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 84 1 }
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 84 1 }
DEFINITIONS ::=
DEFINITIONS ::=
BEGIN
BEGIN
...
@@ -14,7 +14,7 @@ TestChoice ::= CHOICE {
...
@@ -14,7 +14,7 @@ TestChoice ::= CHOICE {
END
END
ModuleTestParametrizationTagsAuto2 { iso org(3) dod(6) internet(1) private(4)
ModuleTestParamet
e
rizationTagsAuto2 { iso org(3) dod(6) internet(1) private(4)
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 84 2 }
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 84 2 }
DEFINITIONS AUTOMATIC TAGS ::=
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
BEGIN
...
...
tests/88-integer-enum-OK.asn1.-P
View file @
171487e6
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
typedef enum T {
typedef enum T {
T_a = 1,
T_a = 1,
T_b = 2
T_b = 2
}
T_e
;
}
e_T
;
/*** <<< TYPE-DECLS [T] >>> ***/
/*** <<< TYPE-DECLS [T] >>> ***/
...
...
tests/89-bit-string-enum-OK.asn1.-P
View file @
171487e6
...
@@ -13,7 +13,7 @@ typedef enum T_PR {
...
@@ -13,7 +13,7 @@ typedef enum T_PR {
typedef enum bs {
typedef enum bs {
bs_a = 1,
bs_a = 1,
bs_b = 2
bs_b = 2
}
bs_e
;
}
e_bs
;
/*** <<< TYPE-DECLS [T] >>> ***/
/*** <<< TYPE-DECLS [T] >>> ***/
...
...
tests/89-bit-string-enum-OK.asn1.-Pfcompound-names
View file @
171487e6
...
@@ -13,7 +13,7 @@ typedef enum T_PR {
...
@@ -13,7 +13,7 @@ typedef enum T_PR {
typedef enum T__bs {
typedef enum T__bs {
T__bs_a = 1,
T__bs_a = 1,
T__bs_b = 2
T__bs_b = 2
}
T__bs_e
;
}
e_T__bs
;
/*** <<< TYPE-DECLS [T] >>> ***/
/*** <<< TYPE-DECLS [T] >>> ***/
...
...
tests/90-cond-int-type-OK.asn1.-P
View file @
171487e6
...
@@ -2288,7 +2288,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
...
@@ -2288,7 +2288,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
typedef enum CN_IntegerEnumerated1 {
typedef enum CN_IntegerEnumerated1 {
CN_IntegerEnumerated1_a = 1,
CN_IntegerEnumerated1_a = 1,
CN_IntegerEnumerated1_b = 2
CN_IntegerEnumerated1_b = 2
}
CN_IntegerEnumerated1_e
;
}
e_CN_IntegerEnumerated1
;
/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/
/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/
...
@@ -2418,7 +2418,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
...
@@ -2418,7 +2418,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
typedef enum NO_IntegerEnumerated2 {
typedef enum NO_IntegerEnumerated2 {
NO_IntegerEnumerated2_a = 1,
NO_IntegerEnumerated2_a = 1,
NO_IntegerEnumerated2_b = 3000000000
NO_IntegerEnumerated2_b = 3000000000
}
NO_IntegerEnumerated2_e
;
}
e_NO_IntegerEnumerated2
;
/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/
/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/
...
...
tests/90-cond-int-type-OK.asn1.-Pfnative-types
View file @
171487e6
...
@@ -2269,7 +2269,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
...
@@ -2269,7 +2269,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
typedef enum CN_IntegerEnumerated1 {
typedef enum CN_IntegerEnumerated1 {
CN_IntegerEnumerated1_a = 1,
CN_IntegerEnumerated1_a = 1,
CN_IntegerEnumerated1_b = 2
CN_IntegerEnumerated1_b = 2
}
CN_IntegerEnumerated1_e
;
}
e_CN_IntegerEnumerated1
;
/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/
/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/
...
@@ -2399,7 +2399,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
...
@@ -2399,7 +2399,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
typedef enum NO_IntegerEnumerated2 {
typedef enum NO_IntegerEnumerated2 {
NO_IntegerEnumerated2_a = 1,
NO_IntegerEnumerated2_a = 1,
NO_IntegerEnumerated2_b = 3000000000
NO_IntegerEnumerated2_b = 3000000000
}
NO_IntegerEnumerated2_e
;
}
e_NO_IntegerEnumerated2
;
/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/
/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/
...
...
tests/90-cond-int-type-OK.asn1.-Pgen-PER
View file @
171487e6
...
@@ -2476,7 +2476,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
...
@@ -2476,7 +2476,7 @@ asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = {
typedef enum CN_IntegerEnumerated1 {
typedef enum CN_IntegerEnumerated1 {
CN_IntegerEnumerated1_a = 1,
CN_IntegerEnumerated1_a = 1,
CN_IntegerEnumerated1_b = 2
CN_IntegerEnumerated1_b = 2
}
CN_IntegerEnumerated1_e
;
}
e_CN_IntegerEnumerated1
;
/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/
/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/
...
@@ -2614,7 +2614,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
...
@@ -2614,7 +2614,7 @@ asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = {
typedef enum NO_IntegerEnumerated2 {
typedef enum NO_IntegerEnumerated2 {
NO_IntegerEnumerated2_a = 1,
NO_IntegerEnumerated2_a = 1,
NO_IntegerEnumerated2_b = 3000000000
NO_IntegerEnumerated2_b = 3000000000
}
NO_IntegerEnumerated2_e
;
}
e_NO_IntegerEnumerated2
;
/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/
/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/
...
...
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