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
caf0d5a7
Commit
caf0d5a7
authored
Mar 04, 2005
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
proper handling of reserved identifiers
parent
6938d044
Changes
9
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
981 additions
and
114 deletions
+981
-114
libasn1compiler/asn1c_C.c
libasn1compiler/asn1c_C.c
+52
-50
libasn1compiler/asn1c_out.h
libasn1compiler/asn1c_out.h
+1
-1
tests/19-param-OK.asn1.-P
tests/19-param-OK.asn1.-P
+4
-4
tests/46-redefine-OK.asn1.-PR
tests/46-redefine-OK.asn1.-PR
+103
-3
tests/50-constraint-OK.asn1.-P
tests/50-constraint-OK.asn1.-P
+493
-46
tests/65-multi-tag-OK.asn1.-P
tests/65-multi-tag-OK.asn1.-P
+103
-3
tests/65-multi-tag-OK.asn1.-Pfnative-types
tests/65-multi-tag-OK.asn1.-Pfnative-types
+103
-3
tests/73-circular-OK.asn1
tests/73-circular-OK.asn1
+2
-2
tests/73-circular-OK.asn1.-P
tests/73-circular-OK.asn1.-P
+120
-2
No files found.
libasn1compiler/asn1c_C.c
View file @
caf0d5a7
This diff is collapsed.
Click to expand it.
libasn1compiler/asn1c_out.h
View file @
caf0d5a7
...
...
@@ -101,7 +101,7 @@ int asn1c_compiled_output(arg_t *arg, const char *fmt, ...);
REDIR(OT_FUNC_DECLS); \
OUT_NOINDENT("extern asn_TYPE_descriptor_t " \
"asn_DEF_%s;\n", \
MKID
_nc
(expr->Identifier)); \
MKID(expr->Identifier)); \
REDIR(saved_target); \
} while(0)
...
...
tests/19-param-OK.asn1.-P
View file @
caf0d5a7
...
...
@@ -278,7 +278,7 @@ extern asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName;
/*** <<< CTABLES [RelativeDistinguishedName] >>> ***/
static int permitted_alphabet_table_
1
[256] = {
static int permitted_alphabet_table_
0
[256] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0, /* ,-. */
...
...
@@ -289,8 +289,8 @@ static int permitted_alphabet_table_1[256] = {
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, /* pqrstuvwxyz */
};
static int check_permitted_alphabet_
1
(const void *sptr) {
int *table = permitted_alphabet_table_
1
;
static int check_permitted_alphabet_
0
(const void *sptr) {
int *table = permitted_alphabet_table_
0
;
/* The underlying type is IA5String */
const IA5String_t *st = (const IA5String_t *)sptr;
const uint8_t *ch = st->buf;
...
...
@@ -319,7 +319,7 @@ memb_IA5String_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
}
if(!check_permitted_alphabet_
1(sptr
)) {
if(!check_permitted_alphabet_
0(st
)) {
/* Constraint check succeeded */
return 0;
} else {
...
...
tests/46-redefine-OK.asn1.-PR
View file @
caf0d5a7
...
...
@@ -9,12 +9,112 @@ typedef OCTET_STRING_t PrimitiveType_t;
/*** <<< FUNC-DECLS [PrimitiveType] >>> ***/
/* This type is equivalent to OCTET_STRING */
#define asn_DEF_PrimitiveType asn_DEF_OCTET_STRING
extern asn_TYPE_descriptor_t asn_DEF_PrimitiveType;
asn_struct_free_f PrimitiveType_free;
asn_struct_print_f PrimitiveType_print;
asn_constr_check_f PrimitiveType_constraint;
ber_type_decoder_f PrimitiveType_decode_ber;
der_type_encoder_f PrimitiveType_encode_der;
xer_type_decoder_f PrimitiveType_decode_xer;
xer_type_encoder_f PrimitiveType_encode_xer;
/*** <<< CODE [PrimitiveType] >>> ***/
/* This type is equivalent to OCTET_STRING */
int
PrimitiveType_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_OCTET_STRING.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
static void
PrimitiveType_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
td->elements = asn_DEF_OCTET_STRING.elements;
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
td->specifics = asn_DEF_OCTET_STRING.specifics;
}
void
PrimitiveType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
PrimitiveType_0_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
PrimitiveType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
PrimitiveType_0_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
PrimitiveType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
PrimitiveType_0_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
PrimitiveType_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) {
PrimitiveType_0_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
PrimitiveType_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) {
PrimitiveType_0_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
PrimitiveType_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) {
PrimitiveType_0_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [PrimitiveType] >>> ***/
static ber_tlv_tag_t asn_DEF_PrimitiveType_0_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_PrimitiveType = {
"PrimitiveType",
"PrimitiveType",
PrimitiveType_free,
PrimitiveType_print,
PrimitiveType_constraint,
PrimitiveType_decode_ber,
PrimitiveType_encode_der,
PrimitiveType_decode_xer,
PrimitiveType_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_PrimitiveType_0_tags,
sizeof(asn_DEF_PrimitiveType_0_tags)
/sizeof(asn_DEF_PrimitiveType_0_tags[0]), /* 1 */
asn_DEF_PrimitiveType_0_tags, /* Same as above */
sizeof(asn_DEF_PrimitiveType_0_tags)
/sizeof(asn_DEF_PrimitiveType_0_tags[0]), /* 1 */
0, 0, /* No members */
0 /* No specifics */
};
/*** <<< INCLUDES [ConstructedType] >>> ***/
...
...
tests/50-constraint-OK.asn1.-P
View file @
caf0d5a7
This diff is collapsed.
Click to expand it.
tests/65-multi-tag-OK.asn1.-P
View file @
caf0d5a7
...
...
@@ -629,12 +629,112 @@ typedef REAL_t T6_t;
/*** <<< FUNC-DECLS [T6] >>> ***/
/* This type is equivalent to REAL */
#define asn_DEF_T6 asn_DEF_REAL
extern asn_TYPE_descriptor_t asn_DEF_T6;
asn_struct_free_f T6_free;
asn_struct_print_f T6_print;
asn_constr_check_f T6_constraint;
ber_type_decoder_f T6_decode_ber;
der_type_encoder_f T6_encode_der;
xer_type_decoder_f T6_decode_xer;
xer_type_encoder_f T6_encode_xer;
/*** <<< CODE [T6] >>> ***/
/* This type is equivalent to REAL */
int
T6_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_REAL.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using REAL,
* so here we adjust the DEF accordingly.
*/
static void
T6_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_REAL.free_struct;
td->print_struct = asn_DEF_REAL.print_struct;
td->ber_decoder = asn_DEF_REAL.ber_decoder;
td->der_encoder = asn_DEF_REAL.der_encoder;
td->xer_decoder = asn_DEF_REAL.xer_decoder;
td->xer_encoder = asn_DEF_REAL.xer_encoder;
td->elements = asn_DEF_REAL.elements;
td->elements_count = asn_DEF_REAL.elements_count;
td->specifics = asn_DEF_REAL.specifics;
}
void
T6_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T6_0_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T6_0_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
T6_0_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T6_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) {
T6_0_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T6_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) {
T6_0_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T6_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) {
T6_0_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T6] >>> ***/
static ber_tlv_tag_t asn_DEF_T6_0_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
asn_TYPE_descriptor_t asn_DEF_T6 = {
"T6",
"T6",
T6_free,
T6_print,
T6_constraint,
T6_decode_ber,
T6_encode_der,
T6_decode_xer,
T6_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_T6_0_tags,
sizeof(asn_DEF_T6_0_tags)
/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
asn_DEF_T6_0_tags, /* Same as above */
sizeof(asn_DEF_T6_0_tags)
/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
0, 0, /* No members */
0 /* No specifics */
};
/*** <<< INCLUDES [T] >>> ***/
...
...
tests/65-multi-tag-OK.asn1.-Pfnative-types
View file @
caf0d5a7
...
...
@@ -629,12 +629,112 @@ typedef double T6_t;
/*** <<< FUNC-DECLS [T6] >>> ***/
/* This type is equivalent to NativeReal */
#define asn_DEF_T6 asn_DEF_NativeReal
extern asn_TYPE_descriptor_t asn_DEF_T6;
asn_struct_free_f T6_free;
asn_struct_print_f T6_print;
asn_constr_check_f T6_constraint;
ber_type_decoder_f T6_decode_ber;
der_type_encoder_f T6_encode_der;
xer_type_decoder_f T6_decode_xer;
xer_type_encoder_f T6_encode_xer;
/*** <<< CODE [T6] >>> ***/
/* This type is equivalent to NativeReal */
int
T6_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_NativeReal.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using NativeReal,
* so here we adjust the DEF accordingly.
*/
static void
T6_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeReal.free_struct;
td->print_struct = asn_DEF_NativeReal.print_struct;
td->ber_decoder = asn_DEF_NativeReal.ber_decoder;
td->der_encoder = asn_DEF_NativeReal.der_encoder;
td->xer_decoder = asn_DEF_NativeReal.xer_decoder;
td->xer_encoder = asn_DEF_NativeReal.xer_encoder;
td->elements = asn_DEF_NativeReal.elements;
td->elements_count = asn_DEF_NativeReal.elements_count;
td->specifics = asn_DEF_NativeReal.specifics;
}
void
T6_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
T6_0_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
T6_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
T6_0_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
T6_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
T6_0_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
T6_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) {
T6_0_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
T6_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) {
T6_0_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
T6_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) {
T6_0_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [T6] >>> ***/
static ber_tlv_tag_t asn_DEF_T6_0_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (9 << 2))
};
asn_TYPE_descriptor_t asn_DEF_T6 = {
"T6",
"T6",
T6_free,
T6_print,
T6_constraint,
T6_decode_ber,
T6_encode_der,
T6_decode_xer,
T6_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_T6_0_tags,
sizeof(asn_DEF_T6_0_tags)
/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
asn_DEF_T6_0_tags, /* Same as above */
sizeof(asn_DEF_T6_0_tags)
/sizeof(asn_DEF_T6_0_tags[0]), /* 1 */
0, 0, /* No members */
0 /* No specifics */
};
/*** <<< INCLUDES [T] >>> ***/
...
...
tests/73-circular-OK.asn1
View file @
caf0d5a7
...
...
@@ -12,10 +12,10 @@ ModuleTestCircularReferences
BEGIN
Type ::= SEQUENCE {
data SEQUENCE OF Epyt
data SEQUENCE OF Epyt
Ref
}
--
EpytRef ::= Epyt
EpytRef ::= Epyt
Epyt ::= SEQUENCE {
stype SET OF Type,
...
...
tests/73-circular-OK.asn1.-P
View file @
caf0d5a7
...
...
@@ -29,7 +29,7 @@ extern asn_TYPE_descriptor_t asn_DEF_Type;
/*** <<< POST-INCLUDE [Type] >>> ***/
#include <Epyt.h>
#include <Epyt
Ref
.h>
/*** <<< STAT-DEFS [Type] >>> ***/
...
...
@@ -37,7 +37,7 @@ static asn_TYPE_member_t asn_MBR_data_2[] = {
{ ATF_NOFLAGS, 0, 0,
.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
.tag_mode = 0,
.type = (void *)&asn_DEF_Epyt,
.type = (void *)&asn_DEF_Epyt
Ref
,
.memb_constraints = 0, /* Defer constraints checking to the member type */
.name = ""
},
...
...
@@ -119,6 +119,124 @@ asn_TYPE_descriptor_t asn_DEF_Type = {
};
/*** <<< INCLUDES [EpytRef] >>> ***/
#include <Epyt.h>
/*** <<< TYPE-DECLS [EpytRef] >>> ***/
typedef Epyt_t EpytRef_t;
/*** <<< FUNC-DECLS [EpytRef] >>> ***/
extern asn_TYPE_descriptor_t asn_DEF_EpytRef;
asn_struct_free_f EpytRef_free;
asn_struct_print_f EpytRef_print;
asn_constr_check_f EpytRef_constraint;
ber_type_decoder_f EpytRef_decode_ber;
der_type_encoder_f EpytRef_encode_der;
xer_type_decoder_f EpytRef_decode_xer;
xer_type_encoder_f EpytRef_encode_xer;
/*** <<< CODE [EpytRef] >>> ***/
int
EpytRef_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_Epyt.check_constraints;
return td->check_constraints(td, sptr, app_errlog, app_key);
}
/*
* This type is implemented using Epyt,
* so here we adjust the DEF accordingly.
*/
static void
EpytRef_0_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Epyt.free_struct;
td->print_struct = asn_DEF_Epyt.print_struct;
td->ber_decoder = asn_DEF_Epyt.ber_decoder;
td->der_encoder = asn_DEF_Epyt.der_encoder;
td->xer_decoder = asn_DEF_Epyt.xer_decoder;
td->xer_encoder = asn_DEF_Epyt.xer_encoder;
td->elements = asn_DEF_Epyt.elements;
td->elements_count = asn_DEF_Epyt.elements_count;
td->specifics = asn_DEF_Epyt.specifics;
}
void
EpytRef_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
EpytRef_0_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
EpytRef_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
EpytRef_0_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
EpytRef_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, void *bufptr, size_t size, int tag_mode) {
EpytRef_0_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
EpytRef_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) {
EpytRef_0_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
EpytRef_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) {
EpytRef_0_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
EpytRef_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) {
EpytRef_0_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
/*** <<< STAT-DEFS [EpytRef] >>> ***/
static ber_tlv_tag_t asn_DEF_EpytRef_0_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_EpytRef = {
"EpytRef",
"EpytRef",
EpytRef_free,
EpytRef_print,
EpytRef_constraint,
EpytRef_decode_ber,
EpytRef_encode_der,
EpytRef_decode_xer,
EpytRef_encode_xer,
0, /* Use generic outmost tag fetcher */
asn_DEF_EpytRef_0_tags,
sizeof(asn_DEF_EpytRef_0_tags)
/sizeof(asn_DEF_EpytRef_0_tags[0]), /* 1 */
asn_DEF_EpytRef_0_tags, /* Same as above */
sizeof(asn_DEF_EpytRef_0_tags)
/sizeof(asn_DEF_EpytRef_0_tags[0]), /* 1 */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
/*** <<< INCLUDES [Epyt] >>> ***/
#include <asn_SET_OF.h>
...
...
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