add asn1c generated RUA c+header files

This commit is contained in:
Harald Welte 2015-09-10 10:20:56 +02:00
parent 3ca78c8607
commit 019830c460
71 changed files with 7380 additions and 2 deletions

View File

@ -78,7 +78,7 @@ libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
# Remove the lines below to convert it into a pure .am file
CFLAGS += -I. `pkg-config --cflags libasn1c`
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
OBJS=${ASN_MODULE_SOURCES:.c=.o}
all: libosmo-asn1-rua.a
@ -95,8 +95,13 @@ clean:
rm -f libosmo-asn1-rua.a
rm -f $(OBJS)
clean-srcs:
@rm -f *.c *.h Makefile.am.sample
regen: regenerate-from-asn1-source
regenerate-from-asn1-source:
regenerate-from-asn1-source: clean clean-srcs
ASN1C_PREFIX="RUA_" asn1c -gen-PER ../../asn1/rua/RUA-CommonDataTypes.asn ../../asn1/rua/RUA-Constants.asn ../../asn1/rua/RUA-IEs.asn ../../asn1/rua/RUA-PDU.asn
# remove the local copy of the runtime code
@rm ANY.* BOOLEAN.* INTEGER.* NativeEnumerated.* NativeInteger.* OBJECT_IDENTIFIER.* asn_* OCTET_STRING.* converter-sample.c per_* xer_* constr* der_* ber_* BIT_STRING.*

171
src/rua/RUA_Ansi-41-IDNNS.c Normal file
View File

@ -0,0 +1,171 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_Ansi-41-IDNNS.h"
int
RUA_Ansi_41_IDNNS_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 14l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
static void
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_BIT_STRING.free_struct;
td->print_struct = asn_DEF_BIT_STRING.print_struct;
td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
td->elements = asn_DEF_BIT_STRING.elements;
td->elements_count = asn_DEF_BIT_STRING.elements_count;
td->specifics = asn_DEF_BIT_STRING.specifics;
}
void
RUA_Ansi_41_IDNNS_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_Ansi_41_IDNNS_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_Ansi_41_IDNNS_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) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_Ansi_41_IDNNS_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) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_Ansi_41_IDNNS_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) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_Ansi_41_IDNNS_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) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_Ansi_41_IDNNS_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_Ansi_41_IDNNS_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_Ansi_41_IDNNS_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_Ansi_41_IDNNS_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Ansi_41_IDNNS_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_Ansi_41_IDNNS_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 14l, 14l } /* (SIZE(14..14)) */,
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_RUA_Ansi_41_IDNNS_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_Ansi_41_IDNNS = {
"RUA_Ansi-41-IDNNS",
"RUA_Ansi-41-IDNNS",
RUA_Ansi_41_IDNNS_free,
RUA_Ansi_41_IDNNS_print,
RUA_Ansi_41_IDNNS_constraint,
RUA_Ansi_41_IDNNS_decode_ber,
RUA_Ansi_41_IDNNS_encode_der,
RUA_Ansi_41_IDNNS_decode_xer,
RUA_Ansi_41_IDNNS_encode_xer,
RUA_Ansi_41_IDNNS_decode_uper,
RUA_Ansi_41_IDNNS_encode_uper,
RUA_Ansi_41_IDNNS_decode_aper,
RUA_Ansi_41_IDNNS_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Ansi_41_IDNNS_tags_1,
sizeof(asn_DEF_RUA_Ansi_41_IDNNS_tags_1)
/sizeof(asn_DEF_RUA_Ansi_41_IDNNS_tags_1[0]), /* 1 */
asn_DEF_RUA_Ansi_41_IDNNS_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Ansi_41_IDNNS_tags_1)
/sizeof(asn_DEF_RUA_Ansi_41_IDNNS_tags_1[0]), /* 1 */
&asn_PER_type_RUA_Ansi_41_IDNNS_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_Ansi_41_IDNNS_H_
#define _RUA_Ansi_41_IDNNS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_Ansi-41-IDNNS */
typedef BIT_STRING_t RUA_Ansi_41_IDNNS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Ansi_41_IDNNS;
asn_struct_free_f RUA_Ansi_41_IDNNS_free;
asn_struct_print_f RUA_Ansi_41_IDNNS_print;
asn_constr_check_f RUA_Ansi_41_IDNNS_constraint;
ber_type_decoder_f RUA_Ansi_41_IDNNS_decode_ber;
der_type_encoder_f RUA_Ansi_41_IDNNS_encode_der;
xer_type_decoder_f RUA_Ansi_41_IDNNS_decode_xer;
xer_type_encoder_f RUA_Ansi_41_IDNNS_encode_xer;
per_type_decoder_f RUA_Ansi_41_IDNNS_decode_uper;
per_type_encoder_f RUA_Ansi_41_IDNNS_encode_uper;
per_type_decoder_f RUA_Ansi_41_IDNNS_decode_aper;
per_type_encoder_f RUA_Ansi_41_IDNNS_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Ansi_41_IDNNS_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,165 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CN-DomainIndicator.h"
int
RUA_CN_DomainIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_CN_DomainIndicator_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_CN_DomainIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_CN_DomainIndicator_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) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_CN_DomainIndicator_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) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_CN_DomainIndicator_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) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_CN_DomainIndicator_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) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_CN_DomainIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_CN_DomainIndicator_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_CN_DomainIndicator_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_CN_DomainIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_CN_DomainIndicator_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_CN_DomainIndicator_value2enum_1[] = {
{ 0, 9, "cs-domain" },
{ 1, 9, "ps-domain" }
};
static const unsigned int asn_MAP_RUA_CN_DomainIndicator_enum2value_1[] = {
0, /* cs-domain(0) */
1 /* ps-domain(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_CN_DomainIndicator_specs_1 = {
asn_MAP_RUA_CN_DomainIndicator_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_CN_DomainIndicator_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_CN_DomainIndicator_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_CN_DomainIndicator = {
"RUA_CN-DomainIndicator",
"RUA_CN-DomainIndicator",
RUA_CN_DomainIndicator_free,
RUA_CN_DomainIndicator_print,
RUA_CN_DomainIndicator_constraint,
RUA_CN_DomainIndicator_decode_ber,
RUA_CN_DomainIndicator_encode_der,
RUA_CN_DomainIndicator_decode_xer,
RUA_CN_DomainIndicator_encode_xer,
RUA_CN_DomainIndicator_decode_uper,
RUA_CN_DomainIndicator_encode_uper,
RUA_CN_DomainIndicator_decode_aper,
RUA_CN_DomainIndicator_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CN_DomainIndicator_tags_1,
sizeof(asn_DEF_RUA_CN_DomainIndicator_tags_1)
/sizeof(asn_DEF_RUA_CN_DomainIndicator_tags_1[0]), /* 1 */
asn_DEF_RUA_CN_DomainIndicator_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CN_DomainIndicator_tags_1)
/sizeof(asn_DEF_RUA_CN_DomainIndicator_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CN_DomainIndicator_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_CN_DomainIndicator_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CN_DomainIndicator_H_
#define _RUA_CN_DomainIndicator_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_CN_DomainIndicator {
RUA_CN_DomainIndicator_cs_domain = 0,
RUA_CN_DomainIndicator_ps_domain = 1
} e_RUA_CN_DomainIndicator;
/* RUA_CN-DomainIndicator */
typedef long RUA_CN_DomainIndicator_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CN_DomainIndicator;
asn_struct_free_f RUA_CN_DomainIndicator_free;
asn_struct_print_f RUA_CN_DomainIndicator_print;
asn_constr_check_f RUA_CN_DomainIndicator_constraint;
ber_type_decoder_f RUA_CN_DomainIndicator_decode_ber;
der_type_encoder_f RUA_CN_DomainIndicator_encode_der;
xer_type_decoder_f RUA_CN_DomainIndicator_decode_xer;
xer_type_encoder_f RUA_CN_DomainIndicator_encode_xer;
per_type_decoder_f RUA_CN_DomainIndicator_decode_uper;
per_type_encoder_f RUA_CN_DomainIndicator_encode_uper;
per_type_decoder_f RUA_CN_DomainIndicator_decode_aper;
per_type_encoder_f RUA_CN_DomainIndicator_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CN_DomainIndicator_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CSGMembershipStatus.h"
int
RUA_CSGMembershipStatus_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_CSGMembershipStatus_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_CSGMembershipStatus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_CSGMembershipStatus_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) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_CSGMembershipStatus_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) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_CSGMembershipStatus_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) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_CSGMembershipStatus_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) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_CSGMembershipStatus_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_CSGMembershipStatus_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_CSGMembershipStatus_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_CSGMembershipStatus_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CSGMembershipStatus_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_CSGMembershipStatus_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_CSGMembershipStatus_value2enum_1[] = {
{ 0, 6, "member" },
{ 1, 10, "non-member" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_CSGMembershipStatus_enum2value_1[] = {
0, /* member(0) */
1 /* non-member(1) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_CSGMembershipStatus_specs_1 = {
asn_MAP_RUA_CSGMembershipStatus_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_CSGMembershipStatus_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_CSGMembershipStatus_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_CSGMembershipStatus = {
"RUA_CSGMembershipStatus",
"RUA_CSGMembershipStatus",
RUA_CSGMembershipStatus_free,
RUA_CSGMembershipStatus_print,
RUA_CSGMembershipStatus_constraint,
RUA_CSGMembershipStatus_decode_ber,
RUA_CSGMembershipStatus_encode_der,
RUA_CSGMembershipStatus_decode_xer,
RUA_CSGMembershipStatus_encode_xer,
RUA_CSGMembershipStatus_decode_uper,
RUA_CSGMembershipStatus_encode_uper,
RUA_CSGMembershipStatus_decode_aper,
RUA_CSGMembershipStatus_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CSGMembershipStatus_tags_1,
sizeof(asn_DEF_RUA_CSGMembershipStatus_tags_1)
/sizeof(asn_DEF_RUA_CSGMembershipStatus_tags_1[0]), /* 1 */
asn_DEF_RUA_CSGMembershipStatus_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CSGMembershipStatus_tags_1)
/sizeof(asn_DEF_RUA_CSGMembershipStatus_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CSGMembershipStatus_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_CSGMembershipStatus_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CSGMembershipStatus_H_
#define _RUA_CSGMembershipStatus_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_CSGMembershipStatus {
RUA_CSGMembershipStatus_member = 0,
RUA_CSGMembershipStatus_non_member = 1
/*
* Enumeration is extensible
*/
} e_RUA_CSGMembershipStatus;
/* RUA_CSGMembershipStatus */
typedef long RUA_CSGMembershipStatus_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CSGMembershipStatus;
asn_struct_free_f RUA_CSGMembershipStatus_free;
asn_struct_print_f RUA_CSGMembershipStatus_print;
asn_constr_check_f RUA_CSGMembershipStatus_constraint;
ber_type_decoder_f RUA_CSGMembershipStatus_decode_ber;
der_type_encoder_f RUA_CSGMembershipStatus_encode_der;
xer_type_decoder_f RUA_CSGMembershipStatus_decode_xer;
xer_type_encoder_f RUA_CSGMembershipStatus_encode_xer;
per_type_decoder_f RUA_CSGMembershipStatus_decode_uper;
per_type_encoder_f RUA_CSGMembershipStatus_encode_uper;
per_type_decoder_f RUA_CSGMembershipStatus_decode_aper;
per_type_encoder_f RUA_CSGMembershipStatus_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CSGMembershipStatus_H_ */
#include <asn_internal.h>

92
src/rua/RUA_Cause.c Normal file
View File

@ -0,0 +1,92 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_Cause.h"
static asn_per_constraints_t asn_PER_type_RUA_Cause_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RUA_Cause_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Cause, choice.radioNetwork),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_CauseRadioNetwork,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"radioNetwork"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Cause, choice.transport),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_CauseTransport,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"transport"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Cause, choice.protocol),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_CauseProtocol,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"protocol"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Cause, choice.misc),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_CauseMisc,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"misc"
},
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_Cause_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* misc */
};
static asn_CHOICE_specifics_t asn_SPC_RUA_Cause_specs_1 = {
sizeof(struct RUA_Cause),
offsetof(struct RUA_Cause, _asn_ctx),
offsetof(struct RUA_Cause, present),
sizeof(((struct RUA_Cause *)0)->present),
asn_MAP_RUA_Cause_tag2el_1,
4, /* Count of tags in the map */
0,
4 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_RUA_Cause = {
"RUA_Cause",
"RUA_Cause",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_decode_aper,
CHOICE_encode_aper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_RUA_Cause_constr_1,
asn_MBR_RUA_Cause_1,
4, /* Elements count */
&asn_SPC_RUA_Cause_specs_1 /* Additional specs */
};

61
src/rua/RUA_Cause.h Normal file
View File

@ -0,0 +1,61 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_Cause_H_
#define _RUA_Cause_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_CauseRadioNetwork.h"
#include "RUA_CauseTransport.h"
#include "RUA_CauseProtocol.h"
#include "RUA_CauseMisc.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_Cause_PR {
RUA_Cause_PR_NOTHING, /* No components present */
RUA_Cause_PR_radioNetwork,
RUA_Cause_PR_transport,
RUA_Cause_PR_protocol,
RUA_Cause_PR_misc,
/* Extensions may appear below */
} RUA_Cause_PR;
/* RUA_Cause */
typedef struct RUA_Cause {
RUA_Cause_PR present;
union RUA_Cause_u {
RUA_CauseRadioNetwork_t radioNetwork;
RUA_CauseTransport_t transport;
RUA_CauseProtocol_t protocol;
RUA_CauseMisc_t misc;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_Cause_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Cause;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Cause_H_ */
#include <asn_internal.h>

171
src/rua/RUA_CauseMisc.c Normal file
View File

@ -0,0 +1,171 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CauseMisc.h"
int
RUA_CauseMisc_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_CauseMisc_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_CauseMisc_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_CauseMisc_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_CauseMisc_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) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_CauseMisc_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) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_CauseMisc_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) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_CauseMisc_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) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_CauseMisc_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_CauseMisc_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_CauseMisc_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_CauseMisc_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseMisc_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_CauseMisc_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_CauseMisc_value2enum_1[] = {
{ 0, 19, "processing-overload" },
{ 1, 16, "hardware-failure" },
{ 2, 20, "o-and-m-intervention" },
{ 3, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_CauseMisc_enum2value_1[] = {
1, /* hardware-failure(1) */
2, /* o-and-m-intervention(2) */
0, /* processing-overload(0) */
3 /* unspecified(3) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_CauseMisc_specs_1 = {
asn_MAP_RUA_CauseMisc_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_CauseMisc_enum2value_1, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
5, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_CauseMisc_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_CauseMisc = {
"RUA_CauseMisc",
"RUA_CauseMisc",
RUA_CauseMisc_free,
RUA_CauseMisc_print,
RUA_CauseMisc_constraint,
RUA_CauseMisc_decode_ber,
RUA_CauseMisc_encode_der,
RUA_CauseMisc_decode_xer,
RUA_CauseMisc_encode_xer,
RUA_CauseMisc_decode_uper,
RUA_CauseMisc_encode_uper,
RUA_CauseMisc_decode_aper,
RUA_CauseMisc_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CauseMisc_tags_1,
sizeof(asn_DEF_RUA_CauseMisc_tags_1)
/sizeof(asn_DEF_RUA_CauseMisc_tags_1[0]), /* 1 */
asn_DEF_RUA_CauseMisc_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CauseMisc_tags_1)
/sizeof(asn_DEF_RUA_CauseMisc_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CauseMisc_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_CauseMisc_specs_1 /* Additional specs */
};

53
src/rua/RUA_CauseMisc.h Normal file
View File

@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CauseMisc_H_
#define _RUA_CauseMisc_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_CauseMisc {
RUA_CauseMisc_processing_overload = 0,
RUA_CauseMisc_hardware_failure = 1,
RUA_CauseMisc_o_and_m_intervention = 2,
RUA_CauseMisc_unspecified = 3
/*
* Enumeration is extensible
*/
} e_RUA_CauseMisc;
/* RUA_CauseMisc */
typedef long RUA_CauseMisc_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CauseMisc;
asn_struct_free_f RUA_CauseMisc_free;
asn_struct_print_f RUA_CauseMisc_print;
asn_constr_check_f RUA_CauseMisc_constraint;
ber_type_decoder_f RUA_CauseMisc_decode_ber;
der_type_encoder_f RUA_CauseMisc_encode_der;
xer_type_decoder_f RUA_CauseMisc_decode_xer;
xer_type_encoder_f RUA_CauseMisc_encode_xer;
per_type_decoder_f RUA_CauseMisc_decode_uper;
per_type_encoder_f RUA_CauseMisc_encode_uper;
per_type_decoder_f RUA_CauseMisc_decode_aper;
per_type_encoder_f RUA_CauseMisc_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CauseMisc_H_ */
#include <asn_internal.h>

177
src/rua/RUA_CauseProtocol.c Normal file
View File

@ -0,0 +1,177 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CauseProtocol.h"
int
RUA_CauseProtocol_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_CauseProtocol_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_CauseProtocol_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_CauseProtocol_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_CauseProtocol_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) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_CauseProtocol_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) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_CauseProtocol_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) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_CauseProtocol_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) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_CauseProtocol_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_CauseProtocol_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_CauseProtocol_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_CauseProtocol_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseProtocol_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_CauseProtocol_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 6l } /* (0..6,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_CauseProtocol_value2enum_1[] = {
{ 0, 21, "transfer-syntax-error" },
{ 1, 28, "abstract-syntax-error-reject" },
{ 2, 39, "abstract-syntax-error-ignore-and-notify" },
{ 3, 42, "message-not-compatible-with-receiver-state" },
{ 4, 14, "semantic-error" },
{ 5, 11, "unspecified" },
{ 6, 49, "abstract-syntax-error-falsely-constructed-message" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_CauseProtocol_enum2value_1[] = {
6, /* abstract-syntax-error-falsely-constructed-message(6) */
2, /* abstract-syntax-error-ignore-and-notify(2) */
1, /* abstract-syntax-error-reject(1) */
3, /* message-not-compatible-with-receiver-state(3) */
4, /* semantic-error(4) */
0, /* transfer-syntax-error(0) */
5 /* unspecified(5) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_CauseProtocol_specs_1 = {
asn_MAP_RUA_CauseProtocol_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_CauseProtocol_enum2value_1, /* N => "tag"; sorted by N */
7, /* Number of elements in the maps */
8, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_CauseProtocol_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_CauseProtocol = {
"RUA_CauseProtocol",
"RUA_CauseProtocol",
RUA_CauseProtocol_free,
RUA_CauseProtocol_print,
RUA_CauseProtocol_constraint,
RUA_CauseProtocol_decode_ber,
RUA_CauseProtocol_encode_der,
RUA_CauseProtocol_decode_xer,
RUA_CauseProtocol_encode_xer,
RUA_CauseProtocol_decode_uper,
RUA_CauseProtocol_encode_uper,
RUA_CauseProtocol_decode_aper,
RUA_CauseProtocol_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CauseProtocol_tags_1,
sizeof(asn_DEF_RUA_CauseProtocol_tags_1)
/sizeof(asn_DEF_RUA_CauseProtocol_tags_1[0]), /* 1 */
asn_DEF_RUA_CauseProtocol_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CauseProtocol_tags_1)
/sizeof(asn_DEF_RUA_CauseProtocol_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CauseProtocol_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_CauseProtocol_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,56 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CauseProtocol_H_
#define _RUA_CauseProtocol_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_CauseProtocol {
RUA_CauseProtocol_transfer_syntax_error = 0,
RUA_CauseProtocol_abstract_syntax_error_reject = 1,
RUA_CauseProtocol_abstract_syntax_error_ignore_and_notify = 2,
RUA_CauseProtocol_message_not_compatible_with_receiver_state = 3,
RUA_CauseProtocol_semantic_error = 4,
RUA_CauseProtocol_unspecified = 5,
RUA_CauseProtocol_abstract_syntax_error_falsely_constructed_message = 6
/*
* Enumeration is extensible
*/
} e_RUA_CauseProtocol;
/* RUA_CauseProtocol */
typedef long RUA_CauseProtocol_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CauseProtocol;
asn_struct_free_f RUA_CauseProtocol_free;
asn_struct_print_f RUA_CauseProtocol_print;
asn_constr_check_f RUA_CauseProtocol_constraint;
ber_type_decoder_f RUA_CauseProtocol_decode_ber;
der_type_encoder_f RUA_CauseProtocol_encode_der;
xer_type_decoder_f RUA_CauseProtocol_decode_xer;
xer_type_encoder_f RUA_CauseProtocol_encode_xer;
per_type_decoder_f RUA_CauseProtocol_decode_uper;
per_type_encoder_f RUA_CauseProtocol_encode_uper;
per_type_decoder_f RUA_CauseProtocol_decode_aper;
per_type_encoder_f RUA_CauseProtocol_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CauseProtocol_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,171 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CauseRadioNetwork.h"
int
RUA_CauseRadioNetwork_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_CauseRadioNetwork_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_CauseRadioNetwork_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_CauseRadioNetwork_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) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_CauseRadioNetwork_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) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_CauseRadioNetwork_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) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_CauseRadioNetwork_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) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_CauseRadioNetwork_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_CauseRadioNetwork_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_CauseRadioNetwork_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_CauseRadioNetwork_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_CauseRadioNetwork_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_CauseRadioNetwork_value2enum_1[] = {
{ 0, 6, "normal" },
{ 1, 14, "connect-failed" },
{ 2, 15, "network-release" },
{ 3, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_CauseRadioNetwork_enum2value_1[] = {
1, /* connect-failed(1) */
2, /* network-release(2) */
0, /* normal(0) */
3 /* unspecified(3) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_CauseRadioNetwork_specs_1 = {
asn_MAP_RUA_CauseRadioNetwork_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_CauseRadioNetwork_enum2value_1, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
5, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_CauseRadioNetwork_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_CauseRadioNetwork = {
"RUA_CauseRadioNetwork",
"RUA_CauseRadioNetwork",
RUA_CauseRadioNetwork_free,
RUA_CauseRadioNetwork_print,
RUA_CauseRadioNetwork_constraint,
RUA_CauseRadioNetwork_decode_ber,
RUA_CauseRadioNetwork_encode_der,
RUA_CauseRadioNetwork_decode_xer,
RUA_CauseRadioNetwork_encode_xer,
RUA_CauseRadioNetwork_decode_uper,
RUA_CauseRadioNetwork_encode_uper,
RUA_CauseRadioNetwork_decode_aper,
RUA_CauseRadioNetwork_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CauseRadioNetwork_tags_1,
sizeof(asn_DEF_RUA_CauseRadioNetwork_tags_1)
/sizeof(asn_DEF_RUA_CauseRadioNetwork_tags_1[0]), /* 1 */
asn_DEF_RUA_CauseRadioNetwork_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CauseRadioNetwork_tags_1)
/sizeof(asn_DEF_RUA_CauseRadioNetwork_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CauseRadioNetwork_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_CauseRadioNetwork_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CauseRadioNetwork_H_
#define _RUA_CauseRadioNetwork_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_CauseRadioNetwork {
RUA_CauseRadioNetwork_normal = 0,
RUA_CauseRadioNetwork_connect_failed = 1,
RUA_CauseRadioNetwork_network_release = 2,
RUA_CauseRadioNetwork_unspecified = 3
/*
* Enumeration is extensible
*/
} e_RUA_CauseRadioNetwork;
/* RUA_CauseRadioNetwork */
typedef long RUA_CauseRadioNetwork_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CauseRadioNetwork;
asn_struct_free_f RUA_CauseRadioNetwork_free;
asn_struct_print_f RUA_CauseRadioNetwork_print;
asn_constr_check_f RUA_CauseRadioNetwork_constraint;
ber_type_decoder_f RUA_CauseRadioNetwork_decode_ber;
der_type_encoder_f RUA_CauseRadioNetwork_encode_der;
xer_type_decoder_f RUA_CauseRadioNetwork_decode_xer;
xer_type_encoder_f RUA_CauseRadioNetwork_encode_xer;
per_type_decoder_f RUA_CauseRadioNetwork_decode_uper;
per_type_encoder_f RUA_CauseRadioNetwork_encode_uper;
per_type_decoder_f RUA_CauseRadioNetwork_decode_aper;
per_type_encoder_f RUA_CauseRadioNetwork_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CauseRadioNetwork_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CauseTransport.h"
int
RUA_CauseTransport_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_CauseTransport_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_CauseTransport_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_CauseTransport_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_CauseTransport_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) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_CauseTransport_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) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_CauseTransport_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) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_CauseTransport_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) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_CauseTransport_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_CauseTransport_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_CauseTransport_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_CauseTransport_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_CauseTransport_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_CauseTransport_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_CauseTransport_value2enum_1[] = {
{ 0, 30, "transport-resource-unavailable" },
{ 1, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_CauseTransport_enum2value_1[] = {
0, /* transport-resource-unavailable(0) */
1 /* unspecified(1) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_CauseTransport_specs_1 = {
asn_MAP_RUA_CauseTransport_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_CauseTransport_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_CauseTransport_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_CauseTransport = {
"RUA_CauseTransport",
"RUA_CauseTransport",
RUA_CauseTransport_free,
RUA_CauseTransport_print,
RUA_CauseTransport_constraint,
RUA_CauseTransport_decode_ber,
RUA_CauseTransport_encode_der,
RUA_CauseTransport_decode_xer,
RUA_CauseTransport_encode_xer,
RUA_CauseTransport_decode_uper,
RUA_CauseTransport_encode_uper,
RUA_CauseTransport_decode_aper,
RUA_CauseTransport_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CauseTransport_tags_1,
sizeof(asn_DEF_RUA_CauseTransport_tags_1)
/sizeof(asn_DEF_RUA_CauseTransport_tags_1[0]), /* 1 */
asn_DEF_RUA_CauseTransport_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CauseTransport_tags_1)
/sizeof(asn_DEF_RUA_CauseTransport_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CauseTransport_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_CauseTransport_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CauseTransport_H_
#define _RUA_CauseTransport_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_CauseTransport {
RUA_CauseTransport_transport_resource_unavailable = 0,
RUA_CauseTransport_unspecified = 1
/*
* Enumeration is extensible
*/
} e_RUA_CauseTransport;
/* RUA_CauseTransport */
typedef long RUA_CauseTransport_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CauseTransport;
asn_struct_free_f RUA_CauseTransport_free;
asn_struct_print_f RUA_CauseTransport_print;
asn_constr_check_f RUA_CauseTransport_constraint;
ber_type_decoder_f RUA_CauseTransport_decode_ber;
der_type_encoder_f RUA_CauseTransport_encode_der;
xer_type_decoder_f RUA_CauseTransport_decode_xer;
xer_type_encoder_f RUA_CauseTransport_encode_xer;
per_type_decoder_f RUA_CauseTransport_decode_uper;
per_type_encoder_f RUA_CauseTransport_encode_uper;
per_type_decoder_f RUA_CauseTransport_decode_aper;
per_type_encoder_f RUA_CauseTransport_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CauseTransport_H_ */
#include <asn_internal.h>

145
src/rua/RUA_Connect.c Normal file
View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_Connect.h"
static int
memb_connect_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size <= 65535l)) {
/* Perform validation of the inner elements */
return td->check_constraints(td, sptr, ctfailcb, app_key);
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_connect_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_connect_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_connect_ies_2[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_connect_ies_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_connect_ies_specs_2 = {
sizeof(struct connect_ies),
offsetof(struct connect_ies, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_connect_ies_2 = {
"connect-ies",
"connect-ies",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_connect_ies_tags_2,
sizeof(asn_DEF_connect_ies_tags_2)
/sizeof(asn_DEF_connect_ies_tags_2[0]) - 1, /* 1 */
asn_DEF_connect_ies_tags_2, /* Same as above */
sizeof(asn_DEF_connect_ies_tags_2)
/sizeof(asn_DEF_connect_ies_tags_2[0]), /* 2 */
&asn_PER_type_connect_ies_constr_2,
asn_MBR_connect_ies_2,
1, /* Single element */
&asn_SPC_connect_ies_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_Connect_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Connect, connect_ies),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_connect_ies_2,
memb_connect_ies_constraint_1,
&asn_PER_memb_connect_ies_constr_2,
0,
"connect-ies"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_Connect_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_Connect_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* connect-ies */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_Connect_specs_1 = {
sizeof(struct RUA_Connect),
offsetof(struct RUA_Connect, _asn_ctx),
asn_MAP_RUA_Connect_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
0, /* Start extensions */
2 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_Connect = {
"RUA_Connect",
"RUA_Connect",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Connect_tags_1,
sizeof(asn_DEF_RUA_Connect_tags_1)
/sizeof(asn_DEF_RUA_Connect_tags_1[0]), /* 1 */
asn_DEF_RUA_Connect_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Connect_tags_1)
/sizeof(asn_DEF_RUA_Connect_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_Connect_1,
1, /* Elements count */
&asn_SPC_RUA_Connect_specs_1 /* Additional specs */
};

48
src/rua/RUA_Connect.h Normal file
View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_Connect_H_
#define _RUA_Connect_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_Connect */
typedef struct RUA_Connect {
struct connect_ies {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} connect_ies;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_Connect_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Connect;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Connect_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_ConnectionlessTransfer.h"
static int
memb_connectionlessTransfer_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size <= 65535l)) {
/* Perform validation of the inner elements */
return td->check_constraints(td, sptr, ctfailcb, app_key);
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_connectionlessTransfer_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_connectionlessTransfer_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_connectionlessTransfer_ies_2[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_connectionlessTransfer_ies_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_connectionlessTransfer_ies_specs_2 = {
sizeof(struct connectionlessTransfer_ies),
offsetof(struct connectionlessTransfer_ies, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_connectionlessTransfer_ies_2 = {
"connectionlessTransfer-ies",
"connectionlessTransfer-ies",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_connectionlessTransfer_ies_tags_2,
sizeof(asn_DEF_connectionlessTransfer_ies_tags_2)
/sizeof(asn_DEF_connectionlessTransfer_ies_tags_2[0]) - 1, /* 1 */
asn_DEF_connectionlessTransfer_ies_tags_2, /* Same as above */
sizeof(asn_DEF_connectionlessTransfer_ies_tags_2)
/sizeof(asn_DEF_connectionlessTransfer_ies_tags_2[0]), /* 2 */
&asn_PER_type_connectionlessTransfer_ies_constr_2,
asn_MBR_connectionlessTransfer_ies_2,
1, /* Single element */
&asn_SPC_connectionlessTransfer_ies_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_ConnectionlessTransfer_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_ConnectionlessTransfer, connectionlessTransfer_ies),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_connectionlessTransfer_ies_2,
memb_connectionlessTransfer_ies_constraint_1,
&asn_PER_memb_connectionlessTransfer_ies_constr_2,
0,
"connectionlessTransfer-ies"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_ConnectionlessTransfer_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_ConnectionlessTransfer_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* connectionlessTransfer-ies */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_ConnectionlessTransfer_specs_1 = {
sizeof(struct RUA_ConnectionlessTransfer),
offsetof(struct RUA_ConnectionlessTransfer, _asn_ctx),
asn_MAP_RUA_ConnectionlessTransfer_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
0, /* Start extensions */
2 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_ConnectionlessTransfer = {
"RUA_ConnectionlessTransfer",
"RUA_ConnectionlessTransfer",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_ConnectionlessTransfer_tags_1,
sizeof(asn_DEF_RUA_ConnectionlessTransfer_tags_1)
/sizeof(asn_DEF_RUA_ConnectionlessTransfer_tags_1[0]), /* 1 */
asn_DEF_RUA_ConnectionlessTransfer_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_ConnectionlessTransfer_tags_1)
/sizeof(asn_DEF_RUA_ConnectionlessTransfer_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_ConnectionlessTransfer_1,
1, /* Elements count */
&asn_SPC_RUA_ConnectionlessTransfer_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_ConnectionlessTransfer_H_
#define _RUA_ConnectionlessTransfer_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_ConnectionlessTransfer */
typedef struct RUA_ConnectionlessTransfer {
struct connectionlessTransfer_ies {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} connectionlessTransfer_ies;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_ConnectionlessTransfer_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_ConnectionlessTransfer;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_ConnectionlessTransfer_H_ */
#include <asn_internal.h>

171
src/rua/RUA_Context-ID.c Normal file
View File

@ -0,0 +1,171 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_Context-ID.h"
int
RUA_Context_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 24l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
static void
RUA_Context_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_BIT_STRING.free_struct;
td->print_struct = asn_DEF_BIT_STRING.print_struct;
td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
td->elements = asn_DEF_BIT_STRING.elements;
td->elements_count = asn_DEF_BIT_STRING.elements_count;
td->specifics = asn_DEF_BIT_STRING.specifics;
}
void
RUA_Context_ID_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_Context_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_Context_ID_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) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_Context_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) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_Context_ID_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) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_Context_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) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_Context_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_Context_ID_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_Context_ID_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_Context_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Context_ID_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_Context_ID_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 24l, 24l } /* (SIZE(24..24)) */,
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_RUA_Context_ID_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_Context_ID = {
"RUA_Context-ID",
"RUA_Context-ID",
RUA_Context_ID_free,
RUA_Context_ID_print,
RUA_Context_ID_constraint,
RUA_Context_ID_decode_ber,
RUA_Context_ID_encode_der,
RUA_Context_ID_decode_xer,
RUA_Context_ID_encode_xer,
RUA_Context_ID_decode_uper,
RUA_Context_ID_encode_uper,
RUA_Context_ID_decode_aper,
RUA_Context_ID_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Context_ID_tags_1,
sizeof(asn_DEF_RUA_Context_ID_tags_1)
/sizeof(asn_DEF_RUA_Context_ID_tags_1[0]), /* 1 */
asn_DEF_RUA_Context_ID_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Context_ID_tags_1)
/sizeof(asn_DEF_RUA_Context_ID_tags_1[0]), /* 1 */
&asn_PER_type_RUA_Context_ID_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

42
src/rua/RUA_Context-ID.h Normal file
View File

@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_Context_ID_H_
#define _RUA_Context_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_Context-ID */
typedef BIT_STRING_t RUA_Context_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Context_ID;
asn_struct_free_f RUA_Context_ID_free;
asn_struct_print_f RUA_Context_ID_print;
asn_constr_check_f RUA_Context_ID_constraint;
ber_type_decoder_f RUA_Context_ID_decode_ber;
der_type_encoder_f RUA_Context_ID_encode_der;
xer_type_decoder_f RUA_Context_ID_decode_xer;
xer_type_encoder_f RUA_Context_ID_encode_xer;
per_type_decoder_f RUA_Context_ID_decode_uper;
per_type_encoder_f RUA_Context_ID_encode_uper;
per_type_decoder_f RUA_Context_ID_decode_aper;
per_type_encoder_f RUA_Context_ID_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Context_ID_H_ */
#include <asn_internal.h>

167
src/rua/RUA_Criticality.c Normal file
View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#include "RUA_Criticality.h"
int
RUA_Criticality_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_Criticality_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_Criticality_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_Criticality_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_Criticality_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) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_Criticality_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) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_Criticality_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) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_Criticality_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) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_Criticality_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_Criticality_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_Criticality_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_Criticality_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Criticality_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_Criticality_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_Criticality_value2enum_1[] = {
{ 0, 6, "reject" },
{ 1, 6, "ignore" },
{ 2, 6, "notify" }
};
static const unsigned int asn_MAP_RUA_Criticality_enum2value_1[] = {
1, /* ignore(1) */
2, /* notify(2) */
0 /* reject(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_Criticality_specs_1 = {
asn_MAP_RUA_Criticality_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_Criticality_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_Criticality_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_Criticality = {
"RUA_Criticality",
"RUA_Criticality",
RUA_Criticality_free,
RUA_Criticality_print,
RUA_Criticality_constraint,
RUA_Criticality_decode_ber,
RUA_Criticality_encode_der,
RUA_Criticality_decode_xer,
RUA_Criticality_encode_xer,
RUA_Criticality_decode_uper,
RUA_Criticality_encode_uper,
RUA_Criticality_decode_aper,
RUA_Criticality_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Criticality_tags_1,
sizeof(asn_DEF_RUA_Criticality_tags_1)
/sizeof(asn_DEF_RUA_Criticality_tags_1[0]), /* 1 */
asn_DEF_RUA_Criticality_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Criticality_tags_1)
/sizeof(asn_DEF_RUA_Criticality_tags_1[0]), /* 1 */
&asn_PER_type_RUA_Criticality_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_Criticality_specs_1 /* Additional specs */
};

49
src/rua/RUA_Criticality.h Normal file
View File

@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#ifndef _RUA_Criticality_H_
#define _RUA_Criticality_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_Criticality {
RUA_Criticality_reject = 0,
RUA_Criticality_ignore = 1,
RUA_Criticality_notify = 2
} e_RUA_Criticality;
/* RUA_Criticality */
typedef long RUA_Criticality_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Criticality;
asn_struct_free_f RUA_Criticality_free;
asn_struct_print_f RUA_Criticality_print;
asn_constr_check_f RUA_Criticality_constraint;
ber_type_decoder_f RUA_Criticality_decode_ber;
der_type_encoder_f RUA_Criticality_encode_der;
xer_type_decoder_f RUA_Criticality_decode_xer;
xer_type_encoder_f RUA_Criticality_encode_xer;
per_type_decoder_f RUA_Criticality_decode_uper;
per_type_encoder_f RUA_Criticality_encode_uper;
per_type_decoder_f RUA_Criticality_decode_aper;
per_type_encoder_f RUA_Criticality_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Criticality_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CriticalityDiagnostics-IE-List.h"
static asn_per_constraints_t asn_PER_type_RUA_CriticalityDiagnostics_IE_List_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_Member_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Member, iECriticality),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Criticality,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iECriticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct Member, iE_ID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_ProtocolIE_ID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iE-ID"
},
{ ATF_NOFLAGS, 0, offsetof(struct Member, typeOfError),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_TypeOfError,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"typeOfError"
},
{ ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_IE_Extensions,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iE-Extensions"
},
};
static const int asn_MAP_Member_oms_2[] = { 3 };
static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iECriticality */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-ID */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* typeOfError */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
};
static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
sizeof(struct Member),
offsetof(struct Member, _asn_ctx),
asn_MAP_Member_tag2el_2,
4, /* Count of tags in the map */
asn_MAP_Member_oms_2, /* Optional members */
1, 0, /* Root/Additions */
3, /* Start extensions */
5 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_Member_2 = {
"SEQUENCE",
"SEQUENCE",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Member_tags_2,
sizeof(asn_DEF_Member_tags_2)
/sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
asn_DEF_Member_tags_2, /* Same as above */
sizeof(asn_DEF_Member_tags_2)
/sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Member_2,
4, /* Elements count */
&asn_SPC_Member_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_CriticalityDiagnostics_IE_List_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_Member_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_RUA_CriticalityDiagnostics_IE_List_specs_1 = {
sizeof(struct RUA_CriticalityDiagnostics_IE_List),
offsetof(struct RUA_CriticalityDiagnostics_IE_List, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_RUA_CriticalityDiagnostics_IE_List = {
"RUA_CriticalityDiagnostics-IE-List",
"RUA_CriticalityDiagnostics-IE-List",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1,
sizeof(asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1)
/sizeof(asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1)
/sizeof(asn_DEF_RUA_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
&asn_PER_type_RUA_CriticalityDiagnostics_IE_List_constr_1,
asn_MBR_RUA_CriticalityDiagnostics_IE_List_1,
1, /* Single element */
&asn_SPC_RUA_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,54 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CriticalityDiagnostics_IE_List_H_
#define _RUA_CriticalityDiagnostics_IE_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include "RUA_Criticality.h"
#include "RUA_ProtocolIE-ID.h"
#include "RUA_TypeOfError.h"
#include "RUA_IE-Extensions.h"
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_CriticalityDiagnostics-IE-List */
typedef struct RUA_CriticalityDiagnostics_IE_List {
A_SEQUENCE_OF(struct Member {
RUA_Criticality_t iECriticality;
RUA_ProtocolIE_ID_t iE_ID;
RUA_TypeOfError_t typeOfError;
RUA_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_CriticalityDiagnostics_IE_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CriticalityDiagnostics_IE_List;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CriticalityDiagnostics_IE_List_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,103 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_CriticalityDiagnostics.h"
static asn_TYPE_member_t asn_MBR_RUA_CriticalityDiagnostics_1[] = {
{ ATF_POINTER, 5, offsetof(struct RUA_CriticalityDiagnostics, procedureCode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_ProcedureCode,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"procedureCode"
},
{ ATF_POINTER, 4, offsetof(struct RUA_CriticalityDiagnostics, triggeringMessage),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_TriggeringMessage,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"triggeringMessage"
},
{ ATF_POINTER, 3, offsetof(struct RUA_CriticalityDiagnostics, procedureCriticality),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Criticality,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"procedureCriticality"
},
{ ATF_POINTER, 2, offsetof(struct RUA_CriticalityDiagnostics, iEsCriticalityDiagnostics),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_CriticalityDiagnostics_IE_List,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iEsCriticalityDiagnostics"
},
{ ATF_POINTER, 1, offsetof(struct RUA_CriticalityDiagnostics, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_IE_Extensions,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iE-Extensions"
},
};
static const int asn_MAP_RUA_CriticalityDiagnostics_oms_1[] = { 0, 1, 2, 3, 4 };
static const ber_tlv_tag_t asn_DEF_RUA_CriticalityDiagnostics_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_CriticalityDiagnostics_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggeringMessage */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* procedureCriticality */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iEsCriticalityDiagnostics */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_CriticalityDiagnostics_specs_1 = {
sizeof(struct RUA_CriticalityDiagnostics),
offsetof(struct RUA_CriticalityDiagnostics, _asn_ctx),
asn_MAP_RUA_CriticalityDiagnostics_tag2el_1,
5, /* Count of tags in the map */
asn_MAP_RUA_CriticalityDiagnostics_oms_1, /* Optional members */
5, 0, /* Root/Additions */
4, /* Start extensions */
6 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_CriticalityDiagnostics = {
"RUA_CriticalityDiagnostics",
"RUA_CriticalityDiagnostics",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_CriticalityDiagnostics_tags_1,
sizeof(asn_DEF_RUA_CriticalityDiagnostics_tags_1)
/sizeof(asn_DEF_RUA_CriticalityDiagnostics_tags_1[0]), /* 1 */
asn_DEF_RUA_CriticalityDiagnostics_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_CriticalityDiagnostics_tags_1)
/sizeof(asn_DEF_RUA_CriticalityDiagnostics_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_CriticalityDiagnostics_1,
5, /* Elements count */
&asn_SPC_RUA_CriticalityDiagnostics_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_CriticalityDiagnostics_H_
#define _RUA_CriticalityDiagnostics_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_ProcedureCode.h"
#include "RUA_TriggeringMessage.h"
#include "RUA_Criticality.h"
#include "RUA_CriticalityDiagnostics-IE-List.h"
#include "RUA_IE-Extensions.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_CriticalityDiagnostics */
typedef struct RUA_CriticalityDiagnostics {
RUA_ProcedureCode_t *procedureCode /* OPTIONAL */;
RUA_TriggeringMessage_t *triggeringMessage /* OPTIONAL */;
RUA_Criticality_t *procedureCriticality /* OPTIONAL */;
RUA_CriticalityDiagnostics_IE_List_t *iEsCriticalityDiagnostics /* OPTIONAL */;
RUA_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_CriticalityDiagnostics_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CriticalityDiagnostics;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_CriticalityDiagnostics_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_DirectTransfer.h"
static int
memb_directTransfer_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size <= 65535l)) {
/* Perform validation of the inner elements */
return td->check_constraints(td, sptr, ctfailcb, app_key);
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_directTransfer_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_directTransfer_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_directTransfer_ies_2[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_directTransfer_ies_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_directTransfer_ies_specs_2 = {
sizeof(struct directTransfer_ies),
offsetof(struct directTransfer_ies, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_directTransfer_ies_2 = {
"directTransfer-ies",
"directTransfer-ies",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_directTransfer_ies_tags_2,
sizeof(asn_DEF_directTransfer_ies_tags_2)
/sizeof(asn_DEF_directTransfer_ies_tags_2[0]) - 1, /* 1 */
asn_DEF_directTransfer_ies_tags_2, /* Same as above */
sizeof(asn_DEF_directTransfer_ies_tags_2)
/sizeof(asn_DEF_directTransfer_ies_tags_2[0]), /* 2 */
&asn_PER_type_directTransfer_ies_constr_2,
asn_MBR_directTransfer_ies_2,
1, /* Single element */
&asn_SPC_directTransfer_ies_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_DirectTransfer_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_DirectTransfer, directTransfer_ies),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_directTransfer_ies_2,
memb_directTransfer_ies_constraint_1,
&asn_PER_memb_directTransfer_ies_constr_2,
0,
"directTransfer-ies"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_DirectTransfer_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_DirectTransfer_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* directTransfer-ies */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_DirectTransfer_specs_1 = {
sizeof(struct RUA_DirectTransfer),
offsetof(struct RUA_DirectTransfer, _asn_ctx),
asn_MAP_RUA_DirectTransfer_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
0, /* Start extensions */
2 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_DirectTransfer = {
"RUA_DirectTransfer",
"RUA_DirectTransfer",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_DirectTransfer_tags_1,
sizeof(asn_DEF_RUA_DirectTransfer_tags_1)
/sizeof(asn_DEF_RUA_DirectTransfer_tags_1[0]), /* 1 */
asn_DEF_RUA_DirectTransfer_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_DirectTransfer_tags_1)
/sizeof(asn_DEF_RUA_DirectTransfer_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_DirectTransfer_1,
1, /* Elements count */
&asn_SPC_RUA_DirectTransfer_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_DirectTransfer_H_
#define _RUA_DirectTransfer_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_DirectTransfer */
typedef struct RUA_DirectTransfer {
struct directTransfer_ies {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} directTransfer_ies;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_DirectTransfer_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_DirectTransfer;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_DirectTransfer_H_ */
#include <asn_internal.h>

145
src/rua/RUA_Disconnect.c Normal file
View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_Disconnect.h"
static int
memb_disconnect_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size <= 65535l)) {
/* Perform validation of the inner elements */
return td->check_constraints(td, sptr, ctfailcb, app_key);
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_disconnect_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_disconnect_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_disconnect_ies_2[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_disconnect_ies_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_disconnect_ies_specs_2 = {
sizeof(struct disconnect_ies),
offsetof(struct disconnect_ies, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_disconnect_ies_2 = {
"disconnect-ies",
"disconnect-ies",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_disconnect_ies_tags_2,
sizeof(asn_DEF_disconnect_ies_tags_2)
/sizeof(asn_DEF_disconnect_ies_tags_2[0]) - 1, /* 1 */
asn_DEF_disconnect_ies_tags_2, /* Same as above */
sizeof(asn_DEF_disconnect_ies_tags_2)
/sizeof(asn_DEF_disconnect_ies_tags_2[0]), /* 2 */
&asn_PER_type_disconnect_ies_constr_2,
asn_MBR_disconnect_ies_2,
1, /* Single element */
&asn_SPC_disconnect_ies_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_Disconnect_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Disconnect, disconnect_ies),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_disconnect_ies_2,
memb_disconnect_ies_constraint_1,
&asn_PER_memb_disconnect_ies_constr_2,
0,
"disconnect-ies"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_Disconnect_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_Disconnect_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* disconnect-ies */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_Disconnect_specs_1 = {
sizeof(struct RUA_Disconnect),
offsetof(struct RUA_Disconnect, _asn_ctx),
asn_MAP_RUA_Disconnect_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
0, /* Start extensions */
2 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_Disconnect = {
"RUA_Disconnect",
"RUA_Disconnect",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Disconnect_tags_1,
sizeof(asn_DEF_RUA_Disconnect_tags_1)
/sizeof(asn_DEF_RUA_Disconnect_tags_1[0]), /* 1 */
asn_DEF_RUA_Disconnect_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Disconnect_tags_1)
/sizeof(asn_DEF_RUA_Disconnect_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_Disconnect_1,
1, /* Elements count */
&asn_SPC_RUA_Disconnect_specs_1 /* Additional specs */
};

48
src/rua/RUA_Disconnect.h Normal file
View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_Disconnect_H_
#define _RUA_Disconnect_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_Disconnect */
typedef struct RUA_Disconnect {
struct disconnect_ies {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} disconnect_ies;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_Disconnect_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Disconnect;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Disconnect_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_ErrorIndication.h"
static int
memb_errorIndication_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size <= 65535l)) {
/* Perform validation of the inner elements */
return td->check_constraints(td, sptr, ctfailcb, app_key);
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_errorIndication_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_errorIndication_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_errorIndication_ies_2[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_errorIndication_ies_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_errorIndication_ies_specs_2 = {
sizeof(struct errorIndication_ies),
offsetof(struct errorIndication_ies, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_errorIndication_ies_2 = {
"errorIndication-ies",
"errorIndication-ies",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_errorIndication_ies_tags_2,
sizeof(asn_DEF_errorIndication_ies_tags_2)
/sizeof(asn_DEF_errorIndication_ies_tags_2[0]) - 1, /* 1 */
asn_DEF_errorIndication_ies_tags_2, /* Same as above */
sizeof(asn_DEF_errorIndication_ies_tags_2)
/sizeof(asn_DEF_errorIndication_ies_tags_2[0]), /* 2 */
&asn_PER_type_errorIndication_ies_constr_2,
asn_MBR_errorIndication_ies_2,
1, /* Single element */
&asn_SPC_errorIndication_ies_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_ErrorIndication_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_ErrorIndication, errorIndication_ies),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_errorIndication_ies_2,
memb_errorIndication_ies_constraint_1,
&asn_PER_memb_errorIndication_ies_constr_2,
0,
"errorIndication-ies"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_ErrorIndication_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_ErrorIndication_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* errorIndication-ies */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_ErrorIndication_specs_1 = {
sizeof(struct RUA_ErrorIndication),
offsetof(struct RUA_ErrorIndication, _asn_ctx),
asn_MAP_RUA_ErrorIndication_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
0, /* Start extensions */
2 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_ErrorIndication = {
"RUA_ErrorIndication",
"RUA_ErrorIndication",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_ErrorIndication_tags_1,
sizeof(asn_DEF_RUA_ErrorIndication_tags_1)
/sizeof(asn_DEF_RUA_ErrorIndication_tags_1[0]), /* 1 */
asn_DEF_RUA_ErrorIndication_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_ErrorIndication_tags_1)
/sizeof(asn_DEF_RUA_ErrorIndication_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_ErrorIndication_1,
1, /* Elements count */
&asn_SPC_RUA_ErrorIndication_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_ErrorIndication_H_
#define _RUA_ErrorIndication_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_ErrorIndication */
typedef struct RUA_ErrorIndication {
struct errorIndication_ies {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} errorIndication_ies;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_ErrorIndication_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_ErrorIndication;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_ErrorIndication_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_Establishment-Cause.h"
int
RUA_Establishment_Cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_Establishment_Cause_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_Establishment_Cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_Establishment_Cause_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) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_Establishment_Cause_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) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_Establishment_Cause_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) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_Establishment_Cause_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) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_Establishment_Cause_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_Establishment_Cause_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_Establishment_Cause_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_Establishment_Cause_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Establishment_Cause_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_Establishment_Cause_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_Establishment_Cause_value2enum_1[] = {
{ 0, 14, "emergency-call" },
{ 1, 11, "normal-call" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_Establishment_Cause_enum2value_1[] = {
0, /* emergency-call(0) */
1 /* normal-call(1) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_Establishment_Cause_specs_1 = {
asn_MAP_RUA_Establishment_Cause_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_Establishment_Cause_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_Establishment_Cause_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_Establishment_Cause = {
"RUA_Establishment-Cause",
"RUA_Establishment-Cause",
RUA_Establishment_Cause_free,
RUA_Establishment_Cause_print,
RUA_Establishment_Cause_constraint,
RUA_Establishment_Cause_decode_ber,
RUA_Establishment_Cause_encode_der,
RUA_Establishment_Cause_decode_xer,
RUA_Establishment_Cause_encode_xer,
RUA_Establishment_Cause_decode_uper,
RUA_Establishment_Cause_encode_uper,
RUA_Establishment_Cause_decode_aper,
RUA_Establishment_Cause_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Establishment_Cause_tags_1,
sizeof(asn_DEF_RUA_Establishment_Cause_tags_1)
/sizeof(asn_DEF_RUA_Establishment_Cause_tags_1[0]), /* 1 */
asn_DEF_RUA_Establishment_Cause_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Establishment_Cause_tags_1)
/sizeof(asn_DEF_RUA_Establishment_Cause_tags_1[0]), /* 1 */
&asn_PER_type_RUA_Establishment_Cause_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_Establishment_Cause_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_Establishment_Cause_H_
#define _RUA_Establishment_Cause_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_Establishment_Cause {
RUA_Establishment_Cause_emergency_call = 0,
RUA_Establishment_Cause_normal_call = 1
/*
* Enumeration is extensible
*/
} e_RUA_Establishment_Cause;
/* RUA_Establishment-Cause */
typedef long RUA_Establishment_Cause_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Establishment_Cause;
asn_struct_free_f RUA_Establishment_Cause_free;
asn_struct_print_f RUA_Establishment_Cause_print;
asn_constr_check_f RUA_Establishment_Cause_constraint;
ber_type_decoder_f RUA_Establishment_Cause_decode_ber;
der_type_encoder_f RUA_Establishment_Cause_encode_der;
xer_type_decoder_f RUA_Establishment_Cause_decode_xer;
xer_type_encoder_f RUA_Establishment_Cause_encode_xer;
per_type_decoder_f RUA_Establishment_Cause_decode_uper;
per_type_encoder_f RUA_Establishment_Cause_encode_uper;
per_type_decoder_f RUA_Establishment_Cause_decode_aper;
per_type_encoder_f RUA_Establishment_Cause_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Establishment_Cause_H_ */
#include <asn_internal.h>

636
src/rua/RUA_Gsm-map-IDNNS.c Normal file
View File

@ -0,0 +1,636 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_Gsm-map-IDNNS.h"
static asn_per_constraints_t asn_PER_type_routingbasis_constr_2 GCC_NOTUSED = {
{ APC_CONSTRAINED, 3, 3, 0l, 7l } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_localPTMSI_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct localPTMSI, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_localPTMSI_tags_3[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_localPTMSI_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_localPTMSI_specs_3 = {
sizeof(struct localPTMSI),
offsetof(struct localPTMSI, _asn_ctx),
asn_MAP_localPTMSI_tag2el_3,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_localPTMSI_3 = {
"localPTMSI",
"localPTMSI",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_localPTMSI_tags_3,
sizeof(asn_DEF_localPTMSI_tags_3)
/sizeof(asn_DEF_localPTMSI_tags_3[0]) - 1, /* 1 */
asn_DEF_localPTMSI_tags_3, /* Same as above */
sizeof(asn_DEF_localPTMSI_tags_3)
/sizeof(asn_DEF_localPTMSI_tags_3[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_localPTMSI_3,
1, /* Elements count */
&asn_SPC_localPTMSI_specs_3 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_tMSIofsamePLMN_5[] = {
{ ATF_NOFLAGS, 0, offsetof(struct tMSIofsamePLMN, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_tMSIofsamePLMN_tags_5[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_tMSIofsamePLMN_tag2el_5[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_tMSIofsamePLMN_specs_5 = {
sizeof(struct tMSIofsamePLMN),
offsetof(struct tMSIofsamePLMN, _asn_ctx),
asn_MAP_tMSIofsamePLMN_tag2el_5,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_tMSIofsamePLMN_5 = {
"tMSIofsamePLMN",
"tMSIofsamePLMN",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_tMSIofsamePLMN_tags_5,
sizeof(asn_DEF_tMSIofsamePLMN_tags_5)
/sizeof(asn_DEF_tMSIofsamePLMN_tags_5[0]) - 1, /* 1 */
asn_DEF_tMSIofsamePLMN_tags_5, /* Same as above */
sizeof(asn_DEF_tMSIofsamePLMN_tags_5)
/sizeof(asn_DEF_tMSIofsamePLMN_tags_5[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_tMSIofsamePLMN_5,
1, /* Elements count */
&asn_SPC_tMSIofsamePLMN_specs_5 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_tMSIofdifferentPLMN_7[] = {
{ ATF_NOFLAGS, 0, offsetof(struct tMSIofdifferentPLMN, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_tMSIofdifferentPLMN_tags_7[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_tMSIofdifferentPLMN_tag2el_7[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_tMSIofdifferentPLMN_specs_7 = {
sizeof(struct tMSIofdifferentPLMN),
offsetof(struct tMSIofdifferentPLMN, _asn_ctx),
asn_MAP_tMSIofdifferentPLMN_tag2el_7,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_tMSIofdifferentPLMN_7 = {
"tMSIofdifferentPLMN",
"tMSIofdifferentPLMN",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_tMSIofdifferentPLMN_tags_7,
sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7)
/sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7[0]) - 1, /* 1 */
asn_DEF_tMSIofdifferentPLMN_tags_7, /* Same as above */
sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7)
/sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_tMSIofdifferentPLMN_7,
1, /* Elements count */
&asn_SPC_tMSIofdifferentPLMN_specs_7 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_iMSIresponsetopaging_9[] = {
{ ATF_NOFLAGS, 0, offsetof(struct iMSIresponsetopaging, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_iMSIresponsetopaging_tags_9[] = {
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_iMSIresponsetopaging_tag2el_9[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_iMSIresponsetopaging_specs_9 = {
sizeof(struct iMSIresponsetopaging),
offsetof(struct iMSIresponsetopaging, _asn_ctx),
asn_MAP_iMSIresponsetopaging_tag2el_9,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_iMSIresponsetopaging_9 = {
"iMSIresponsetopaging",
"iMSIresponsetopaging",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_iMSIresponsetopaging_tags_9,
sizeof(asn_DEF_iMSIresponsetopaging_tags_9)
/sizeof(asn_DEF_iMSIresponsetopaging_tags_9[0]) - 1, /* 1 */
asn_DEF_iMSIresponsetopaging_tags_9, /* Same as above */
sizeof(asn_DEF_iMSIresponsetopaging_tags_9)
/sizeof(asn_DEF_iMSIresponsetopaging_tags_9[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_iMSIresponsetopaging_9,
1, /* Elements count */
&asn_SPC_iMSIresponsetopaging_specs_9 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_iMSIcauseUEinitiatedEvent_11[] = {
{ ATF_NOFLAGS, 0, offsetof(struct iMSIcauseUEinitiatedEvent, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_iMSIcauseUEinitiatedEvent_tags_11[] = {
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_iMSIcauseUEinitiatedEvent_tag2el_11[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_iMSIcauseUEinitiatedEvent_specs_11 = {
sizeof(struct iMSIcauseUEinitiatedEvent),
offsetof(struct iMSIcauseUEinitiatedEvent, _asn_ctx),
asn_MAP_iMSIcauseUEinitiatedEvent_tag2el_11,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_iMSIcauseUEinitiatedEvent_11 = {
"iMSIcauseUEinitiatedEvent",
"iMSIcauseUEinitiatedEvent",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_iMSIcauseUEinitiatedEvent_tags_11,
sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11)
/sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11[0]) - 1, /* 1 */
asn_DEF_iMSIcauseUEinitiatedEvent_tags_11, /* Same as above */
sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11)
/sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_iMSIcauseUEinitiatedEvent_11,
1, /* Elements count */
&asn_SPC_iMSIcauseUEinitiatedEvent_specs_11 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_iMEI_13[] = {
{ ATF_NOFLAGS, 0, offsetof(struct iMEI, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_iMEI_tags_13[] = {
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_iMEI_tag2el_13[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_iMEI_specs_13 = {
sizeof(struct iMEI),
offsetof(struct iMEI, _asn_ctx),
asn_MAP_iMEI_tag2el_13,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_iMEI_13 = {
"iMEI",
"iMEI",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_iMEI_tags_13,
sizeof(asn_DEF_iMEI_tags_13)
/sizeof(asn_DEF_iMEI_tags_13[0]) - 1, /* 1 */
asn_DEF_iMEI_tags_13, /* Same as above */
sizeof(asn_DEF_iMEI_tags_13)
/sizeof(asn_DEF_iMEI_tags_13[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_iMEI_13,
1, /* Elements count */
&asn_SPC_iMEI_specs_13 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_spare2_15[] = {
{ ATF_NOFLAGS, 0, offsetof(struct spare2, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_spare2_tags_15[] = {
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_spare2_tag2el_15[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_spare2_specs_15 = {
sizeof(struct spare2),
offsetof(struct spare2, _asn_ctx),
asn_MAP_spare2_tag2el_15,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_spare2_15 = {
"spare2",
"spare2",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_spare2_tags_15,
sizeof(asn_DEF_spare2_tags_15)
/sizeof(asn_DEF_spare2_tags_15[0]) - 1, /* 1 */
asn_DEF_spare2_tags_15, /* Same as above */
sizeof(asn_DEF_spare2_tags_15)
/sizeof(asn_DEF_spare2_tags_15[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_spare2_15,
1, /* Elements count */
&asn_SPC_spare2_specs_15 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_spare1_17[] = {
{ ATF_NOFLAGS, 0, offsetof(struct spare1, routingparameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_RoutingParameter,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingparameter"
},
};
static const ber_tlv_tag_t asn_DEF_spare1_tags_17[] = {
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_spare1_tag2el_17[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_spare1_specs_17 = {
sizeof(struct spare1),
offsetof(struct spare1, _asn_ctx),
asn_MAP_spare1_tag2el_17,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_spare1_17 = {
"spare1",
"spare1",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_spare1_tags_17,
sizeof(asn_DEF_spare1_tags_17)
/sizeof(asn_DEF_spare1_tags_17[0]) - 1, /* 1 */
asn_DEF_spare1_tags_17, /* Same as above */
sizeof(asn_DEF_spare1_tags_17)
/sizeof(asn_DEF_spare1_tags_17[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_spare1_17,
1, /* Elements count */
&asn_SPC_spare1_specs_17 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_routingbasis_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.localPTMSI),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_localPTMSI_3,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"localPTMSI"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.tMSIofsamePLMN),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_tMSIofsamePLMN_5,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"tMSIofsamePLMN"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.tMSIofdifferentPLMN),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
0,
&asn_DEF_tMSIofdifferentPLMN_7,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"tMSIofdifferentPLMN"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.iMSIresponsetopaging),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
0,
&asn_DEF_iMSIresponsetopaging_9,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iMSIresponsetopaging"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.iMSIcauseUEinitiatedEvent),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
0,
&asn_DEF_iMSIcauseUEinitiatedEvent_11,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iMSIcauseUEinitiatedEvent"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.iMEI),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
0,
&asn_DEF_iMEI_13,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"iMEI"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.spare2),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
0,
&asn_DEF_spare2_15,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare2"
},
{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.spare1),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
0,
&asn_DEF_spare1_17,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"spare1"
},
};
static const asn_TYPE_tag2member_t asn_MAP_routingbasis_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* localPTMSI */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tMSIofsamePLMN */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tMSIofdifferentPLMN */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iMSIresponsetopaging */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* iMSIcauseUEinitiatedEvent */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* iMEI */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* spare2 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* spare1 */
};
static asn_CHOICE_specifics_t asn_SPC_routingbasis_specs_2 = {
sizeof(struct routingbasis),
offsetof(struct routingbasis, _asn_ctx),
offsetof(struct routingbasis, present),
sizeof(((struct routingbasis *)0)->present),
asn_MAP_routingbasis_tag2el_2,
8, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_routingbasis_2 = {
"routingbasis",
"routingbasis",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_decode_aper,
CHOICE_encode_aper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_routingbasis_constr_2,
asn_MBR_routingbasis_2,
8, /* Elements count */
&asn_SPC_routingbasis_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_Gsm_map_IDNNS_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Gsm_map_IDNNS, routingbasis),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_routingbasis_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"routingbasis"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_Gsm_map_IDNNS, dummy),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BOOLEAN,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"dummy"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_Gsm_map_IDNNS_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_Gsm_map_IDNNS_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* routingbasis */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* dummy */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_Gsm_map_IDNNS_specs_1 = {
sizeof(struct RUA_Gsm_map_IDNNS),
offsetof(struct RUA_Gsm_map_IDNNS, _asn_ctx),
asn_MAP_RUA_Gsm_map_IDNNS_tag2el_1,
2, /* 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_RUA_Gsm_map_IDNNS = {
"RUA_Gsm-map-IDNNS",
"RUA_Gsm-map-IDNNS",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Gsm_map_IDNNS_tags_1,
sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1)
/sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1[0]), /* 1 */
asn_DEF_RUA_Gsm_map_IDNNS_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1)
/sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_Gsm_map_IDNNS_1,
2, /* Elements count */
&asn_SPC_RUA_Gsm_map_IDNNS_specs_1 /* Additional specs */
};

108
src/rua/RUA_Gsm-map-IDNNS.h Normal file
View File

@ -0,0 +1,108 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_Gsm_map_IDNNS_H_
#define _RUA_Gsm_map_IDNNS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BOOLEAN.h>
#include "RUA_RoutingParameter.h"
#include <constr_SEQUENCE.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum routingbasis_PR {
routingbasis_PR_NOTHING, /* No components present */
routingbasis_PR_localPTMSI,
routingbasis_PR_tMSIofsamePLMN,
routingbasis_PR_tMSIofdifferentPLMN,
routingbasis_PR_iMSIresponsetopaging,
routingbasis_PR_iMSIcauseUEinitiatedEvent,
routingbasis_PR_iMEI,
routingbasis_PR_spare2,
routingbasis_PR_spare1
} routingbasis_PR;
/* RUA_Gsm-map-IDNNS */
typedef struct RUA_Gsm_map_IDNNS {
struct routingbasis {
routingbasis_PR present;
union RUA_Gsm_map_IDNNS__routingbasis_u {
struct localPTMSI {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} localPTMSI;
struct tMSIofsamePLMN {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} tMSIofsamePLMN;
struct tMSIofdifferentPLMN {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} tMSIofdifferentPLMN;
struct iMSIresponsetopaging {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} iMSIresponsetopaging;
struct iMSIcauseUEinitiatedEvent {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} iMSIcauseUEinitiatedEvent;
struct iMEI {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} iMEI;
struct spare2 {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} spare2;
struct spare1 {
RUA_RoutingParameter_t routingparameter;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} spare1;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} routingbasis;
BOOLEAN_t dummy;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_Gsm_map_IDNNS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Gsm_map_IDNNS;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Gsm_map_IDNNS_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,59 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_IE-Extensions.h"
static asn_per_constraints_t asn_PER_type_RUA_IE_Extensions_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 1l, 65535l } /* (SIZE(1..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RUA_IE_Extensions_1[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_RUA_IE_Extensions_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_RUA_IE_Extensions_specs_1 = {
sizeof(struct RUA_IE_Extensions),
offsetof(struct RUA_IE_Extensions, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_RUA_IE_Extensions = {
"RUA_IE-Extensions",
"RUA_IE-Extensions",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_IE_Extensions_tags_1,
sizeof(asn_DEF_RUA_IE_Extensions_tags_1)
/sizeof(asn_DEF_RUA_IE_Extensions_tags_1[0]), /* 1 */
asn_DEF_RUA_IE_Extensions_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_IE_Extensions_tags_1)
/sizeof(asn_DEF_RUA_IE_Extensions_tags_1[0]), /* 1 */
&asn_PER_type_RUA_IE_Extensions_constr_1,
asn_MBR_RUA_IE_Extensions_1,
1, /* Single element */
&asn_SPC_RUA_IE_Extensions_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_IE_Extensions_H_
#define _RUA_IE_Extensions_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_IE-Extensions */
typedef struct RUA_IE_Extensions {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_IE_Extensions_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_IE_Extensions;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_IE_Extensions_H_ */
#include <asn_internal.h>

81
src/rua/RUA_IE.c Normal file
View File

@ -0,0 +1,81 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_IE.h"
static asn_TYPE_member_t asn_MBR_RUA_IE_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_IE, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_ProtocolIE_ID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"id"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_IE, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Criticality,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"criticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_IE, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"value"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_IE_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_IE_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_IE_specs_1 = {
sizeof(struct RUA_IE),
offsetof(struct RUA_IE, _asn_ctx),
asn_MAP_RUA_IE_tag2el_1,
3, /* 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_RUA_IE = {
"RUA_IE",
"RUA_IE",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_IE_tags_1,
sizeof(asn_DEF_RUA_IE_tags_1)
/sizeof(asn_DEF_RUA_IE_tags_1[0]), /* 1 */
asn_DEF_RUA_IE_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_IE_tags_1)
/sizeof(asn_DEF_RUA_IE_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_IE_1,
3, /* Elements count */
&asn_SPC_RUA_IE_specs_1 /* Additional specs */
};

41
src/rua/RUA_IE.h Normal file
View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_IE_H_
#define _RUA_IE_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_ProtocolIE-ID.h"
#include "RUA_Criticality.h"
#include <ANY.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_IE */
typedef struct RUA_IE {
RUA_ProtocolIE_ID_t id;
RUA_Criticality_t criticality;
ANY_t value;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_IE_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_IE;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_IE_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,81 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_InitiatingMessage.h"
static asn_TYPE_member_t asn_MBR_RUA_InitiatingMessage_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_InitiatingMessage, procedureCode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_ProcedureCode,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"procedureCode"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_InitiatingMessage, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Criticality,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"criticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_InitiatingMessage, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"value"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_InitiatingMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_InitiatingMessage_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_InitiatingMessage_specs_1 = {
sizeof(struct RUA_InitiatingMessage),
offsetof(struct RUA_InitiatingMessage, _asn_ctx),
asn_MAP_RUA_InitiatingMessage_tag2el_1,
3, /* 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_RUA_InitiatingMessage = {
"RUA_InitiatingMessage",
"RUA_InitiatingMessage",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_InitiatingMessage_tags_1,
sizeof(asn_DEF_RUA_InitiatingMessage_tags_1)
/sizeof(asn_DEF_RUA_InitiatingMessage_tags_1[0]), /* 1 */
asn_DEF_RUA_InitiatingMessage_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_InitiatingMessage_tags_1)
/sizeof(asn_DEF_RUA_InitiatingMessage_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_InitiatingMessage_1,
3, /* Elements count */
&asn_SPC_RUA_InitiatingMessage_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_InitiatingMessage_H_
#define _RUA_InitiatingMessage_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_ProcedureCode.h"
#include "RUA_Criticality.h"
#include <ANY.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_InitiatingMessage */
typedef struct RUA_InitiatingMessage {
RUA_ProcedureCode_t procedureCode;
RUA_Criticality_t criticality;
ANY_t value;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_InitiatingMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_InitiatingMessage;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_InitiatingMessage_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,337 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_IntraDomainNasNodeSelector.h"
static int
memb_futurecoding_constraint_7(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 15l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_cn_Type_constr_4 GCC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_futurecoding_constr_8 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 15l, 15l } /* (SIZE(15..15)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_version_constr_2 GCC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_cn_Type_4[] = {
{ ATF_NOFLAGS, 0, offsetof(struct cn_Type, choice.gsm_Map_IDNNS),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Gsm_map_IDNNS,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"gsm-Map-IDNNS"
},
{ ATF_NOFLAGS, 0, offsetof(struct cn_Type, choice.ansi_41_IDNNS),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Ansi_41_IDNNS,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ansi-41-IDNNS"
},
};
static const asn_TYPE_tag2member_t asn_MAP_cn_Type_tag2el_4[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gsm-Map-IDNNS */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ansi-41-IDNNS */
};
static asn_CHOICE_specifics_t asn_SPC_cn_Type_specs_4 = {
sizeof(struct cn_Type),
offsetof(struct cn_Type, _asn_ctx),
offsetof(struct cn_Type, present),
sizeof(((struct cn_Type *)0)->present),
asn_MAP_cn_Type_tag2el_4,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_cn_Type_4 = {
"cn-Type",
"cn-Type",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_decode_aper,
CHOICE_encode_aper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_cn_Type_constr_4,
asn_MBR_cn_Type_4,
2, /* Elements count */
&asn_SPC_cn_Type_specs_4 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_release99_3[] = {
{ ATF_NOFLAGS, 0, offsetof(struct release99, cn_Type),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_cn_Type_4,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"cn-Type"
},
};
static const ber_tlv_tag_t asn_DEF_release99_tags_3[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_release99_tag2el_3[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cn-Type */
};
static asn_SEQUENCE_specifics_t asn_SPC_release99_specs_3 = {
sizeof(struct release99),
offsetof(struct release99, _asn_ctx),
asn_MAP_release99_tag2el_3,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_release99_3 = {
"release99",
"release99",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_release99_tags_3,
sizeof(asn_DEF_release99_tags_3)
/sizeof(asn_DEF_release99_tags_3[0]) - 1, /* 1 */
asn_DEF_release99_tags_3, /* Same as above */
sizeof(asn_DEF_release99_tags_3)
/sizeof(asn_DEF_release99_tags_3[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_release99_3,
1, /* Elements count */
&asn_SPC_release99_specs_3 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_later_7[] = {
{ ATF_NOFLAGS, 0, offsetof(struct later, futurecoding),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_futurecoding_constraint_7,
&asn_PER_memb_futurecoding_constr_8,
0,
"futurecoding"
},
};
static const ber_tlv_tag_t asn_DEF_later_tags_7[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_later_tag2el_7[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* futurecoding */
};
static asn_SEQUENCE_specifics_t asn_SPC_later_specs_7 = {
sizeof(struct later),
offsetof(struct later, _asn_ctx),
asn_MAP_later_tag2el_7,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_later_7 = {
"later",
"later",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_later_tags_7,
sizeof(asn_DEF_later_tags_7)
/sizeof(asn_DEF_later_tags_7[0]) - 1, /* 1 */
asn_DEF_later_tags_7, /* Same as above */
sizeof(asn_DEF_later_tags_7)
/sizeof(asn_DEF_later_tags_7[0]), /* 2 */
0, /* No PER visible constraints */
asn_MBR_later_7,
1, /* Elements count */
&asn_SPC_later_specs_7 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_version_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct version, choice.release99),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_release99_3,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"release99"
},
{ ATF_NOFLAGS, 0, offsetof(struct version, choice.later),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_later_7,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"later"
},
};
static const asn_TYPE_tag2member_t asn_MAP_version_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release99 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* later */
};
static asn_CHOICE_specifics_t asn_SPC_version_specs_2 = {
sizeof(struct version),
offsetof(struct version, _asn_ctx),
offsetof(struct version, present),
sizeof(((struct version *)0)->present),
asn_MAP_version_tag2el_2,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_version_2 = {
"version",
"version",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_decode_aper,
CHOICE_encode_aper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_version_constr_2,
asn_MBR_version_2,
2, /* Elements count */
&asn_SPC_version_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_IntraDomainNasNodeSelector_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_IntraDomainNasNodeSelector, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_version_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"version"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_IntraDomainNasNodeSelector_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* version */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_IntraDomainNasNodeSelector_specs_1 = {
sizeof(struct RUA_IntraDomainNasNodeSelector),
offsetof(struct RUA_IntraDomainNasNodeSelector, _asn_ctx),
asn_MAP_RUA_IntraDomainNasNodeSelector_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_RUA_IntraDomainNasNodeSelector = {
"RUA_IntraDomainNasNodeSelector",
"RUA_IntraDomainNasNodeSelector",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1,
sizeof(asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1)
/sizeof(asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1[0]), /* 1 */
asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1)
/sizeof(asn_DEF_RUA_IntraDomainNasNodeSelector_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_IntraDomainNasNodeSelector_1,
1, /* Elements count */
&asn_SPC_RUA_IntraDomainNasNodeSelector_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,80 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_IntraDomainNasNodeSelector_H_
#define _RUA_IntraDomainNasNodeSelector_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_Gsm-map-IDNNS.h"
#include "RUA_Ansi-41-IDNNS.h"
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum version_PR {
version_PR_NOTHING, /* No components present */
version_PR_release99,
version_PR_later
} version_PR;
typedef enum cn_Type_PR {
cn_Type_PR_NOTHING, /* No components present */
cn_Type_PR_gsm_Map_IDNNS,
cn_Type_PR_ansi_41_IDNNS
} cn_Type_PR;
/* RUA_IntraDomainNasNodeSelector */
typedef struct RUA_IntraDomainNasNodeSelector {
struct version {
version_PR present;
union RUA_IntraDomainNasNodeSelector__version_u {
struct release99 {
struct cn_Type {
cn_Type_PR present;
union RUA_IntraDomainNasNodeSelector__version__release99__cn_Type_u {
RUA_Gsm_map_IDNNS_t gsm_Map_IDNNS;
RUA_Ansi_41_IDNNS_t ansi_41_IDNNS;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} cn_Type;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} release99;
struct later {
BIT_STRING_t futurecoding;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} later;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} version;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_IntraDomainNasNodeSelector_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_IntraDomainNasNodeSelector;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_IntraDomainNasNodeSelector_H_ */
#include <asn_internal.h>

167
src/rua/RUA_Presence.c Normal file
View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#include "RUA_Presence.h"
int
RUA_Presence_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_Presence_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_Presence_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_Presence_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_Presence_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) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_Presence_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) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_Presence_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) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_Presence_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) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_Presence_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_Presence_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_Presence_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_Presence_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_Presence_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_Presence_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_Presence_value2enum_1[] = {
{ 0, 8, "optional" },
{ 1, 11, "conditional" },
{ 2, 9, "mandatory" }
};
static const unsigned int asn_MAP_RUA_Presence_enum2value_1[] = {
1, /* conditional(1) */
2, /* mandatory(2) */
0 /* optional(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_Presence_specs_1 = {
asn_MAP_RUA_Presence_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_Presence_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_Presence_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_Presence = {
"RUA_Presence",
"RUA_Presence",
RUA_Presence_free,
RUA_Presence_print,
RUA_Presence_constraint,
RUA_Presence_decode_ber,
RUA_Presence_encode_der,
RUA_Presence_decode_xer,
RUA_Presence_encode_xer,
RUA_Presence_decode_uper,
RUA_Presence_encode_uper,
RUA_Presence_decode_aper,
RUA_Presence_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_Presence_tags_1,
sizeof(asn_DEF_RUA_Presence_tags_1)
/sizeof(asn_DEF_RUA_Presence_tags_1[0]), /* 1 */
asn_DEF_RUA_Presence_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_Presence_tags_1)
/sizeof(asn_DEF_RUA_Presence_tags_1[0]), /* 1 */
&asn_PER_type_RUA_Presence_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_Presence_specs_1 /* Additional specs */
};

49
src/rua/RUA_Presence.h Normal file
View File

@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#ifndef _RUA_Presence_H_
#define _RUA_Presence_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_Presence {
RUA_Presence_optional = 0,
RUA_Presence_conditional = 1,
RUA_Presence_mandatory = 2
} e_RUA_Presence;
/* RUA_Presence */
typedef long RUA_Presence_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Presence;
asn_struct_free_f RUA_Presence_free;
asn_struct_print_f RUA_Presence_print;
asn_constr_check_f RUA_Presence_constraint;
ber_type_decoder_f RUA_Presence_decode_ber;
der_type_encoder_f RUA_Presence_encode_der;
xer_type_decoder_f RUA_Presence_decode_xer;
xer_type_encoder_f RUA_Presence_encode_xer;
per_type_decoder_f RUA_Presence_decode_uper;
per_type_encoder_f RUA_Presence_encode_uper;
per_type_decoder_f RUA_Presence_decode_aper;
per_type_encoder_f RUA_Presence_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_Presence_H_ */
#include <asn_internal.h>

102
src/rua/RUA_PrivateIE-ID.c Normal file
View File

@ -0,0 +1,102 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#include "RUA_PrivateIE-ID.h"
static int
memb_local_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0l && value <= 65535l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_memb_local_constr_2 GCC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_RUA_PrivateIE_ID_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RUA_PrivateIE_ID_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_PrivateIE_ID, choice.local),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_local_constraint_1,
&asn_PER_memb_local_constr_2,
0,
"local"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_PrivateIE_ID, choice.global),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OBJECT_IDENTIFIER,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"global"
},
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_PrivateIE_ID_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* local */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global */
};
static asn_CHOICE_specifics_t asn_SPC_RUA_PrivateIE_ID_specs_1 = {
sizeof(struct RUA_PrivateIE_ID),
offsetof(struct RUA_PrivateIE_ID, _asn_ctx),
offsetof(struct RUA_PrivateIE_ID, present),
sizeof(((struct RUA_PrivateIE_ID *)0)->present),
asn_MAP_RUA_PrivateIE_ID_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_RUA_PrivateIE_ID = {
"RUA_PrivateIE-ID",
"RUA_PrivateIE-ID",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_decode_aper,
CHOICE_encode_aper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_RUA_PrivateIE_ID_constr_1,
asn_MBR_RUA_PrivateIE_ID_1,
2, /* Elements count */
&asn_SPC_RUA_PrivateIE_ID_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#ifndef _RUA_PrivateIE_ID_H_
#define _RUA_PrivateIE_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <OBJECT_IDENTIFIER.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_PrivateIE_ID_PR {
RUA_PrivateIE_ID_PR_NOTHING, /* No components present */
RUA_PrivateIE_ID_PR_local,
RUA_PrivateIE_ID_PR_global
} RUA_PrivateIE_ID_PR;
/* RUA_PrivateIE-ID */
typedef struct RUA_PrivateIE_ID {
RUA_PrivateIE_ID_PR present;
union RUA_PrivateIE_ID_u {
long local;
OBJECT_IDENTIFIER_t global;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_PrivateIE_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_PrivateIE_ID;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_PrivateIE_ID_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,145 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_PrivateMessage.h"
static int
memb_privateMessage_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
if((size <= 65535l)) {
/* Perform validation of the inner elements */
return td->check_constraints(td, sptr, ctfailcb, app_key);
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_privateMessage_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_privateMessage_ies_constr_2 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_privateMessage_ies_2[] = {
{ ATF_POINTER, 0, 0,
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_RUA_IE,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_privateMessage_ies_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_privateMessage_ies_specs_2 = {
sizeof(struct privateMessage_ies),
offsetof(struct privateMessage_ies, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_privateMessage_ies_2 = {
"privateMessage-ies",
"privateMessage-ies",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
SEQUENCE_OF_decode_aper,
SEQUENCE_OF_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_privateMessage_ies_tags_2,
sizeof(asn_DEF_privateMessage_ies_tags_2)
/sizeof(asn_DEF_privateMessage_ies_tags_2[0]) - 1, /* 1 */
asn_DEF_privateMessage_ies_tags_2, /* Same as above */
sizeof(asn_DEF_privateMessage_ies_tags_2)
/sizeof(asn_DEF_privateMessage_ies_tags_2[0]), /* 2 */
&asn_PER_type_privateMessage_ies_constr_2,
asn_MBR_privateMessage_ies_2,
1, /* Single element */
&asn_SPC_privateMessage_ies_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RUA_PrivateMessage_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_PrivateMessage, privateMessage_ies),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_privateMessage_ies_2,
memb_privateMessage_ies_constraint_1,
&asn_PER_memb_privateMessage_ies_constr_2,
0,
"privateMessage-ies"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_PrivateMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_PrivateMessage_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* privateMessage-ies */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_PrivateMessage_specs_1 = {
sizeof(struct RUA_PrivateMessage),
offsetof(struct RUA_PrivateMessage, _asn_ctx),
asn_MAP_RUA_PrivateMessage_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
0, /* Start extensions */
2 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_PrivateMessage = {
"RUA_PrivateMessage",
"RUA_PrivateMessage",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_PrivateMessage_tags_1,
sizeof(asn_DEF_RUA_PrivateMessage_tags_1)
/sizeof(asn_DEF_RUA_PrivateMessage_tags_1[0]), /* 1 */
asn_DEF_RUA_PrivateMessage_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_PrivateMessage_tags_1)
/sizeof(asn_DEF_RUA_PrivateMessage_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_PrivateMessage_1,
1, /* Elements count */
&asn_SPC_RUA_PrivateMessage_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_PrivateMessage_H_
#define _RUA_PrivateMessage_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_IE.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_PrivateMessage */
typedef struct RUA_PrivateMessage {
struct privateMessage_ies {
A_SEQUENCE_OF(RUA_IE_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} privateMessage_ies;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_PrivateMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_PrivateMessage;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_PrivateMessage_H_ */
#include <asn_internal.h>

165
src/rua/RUA_ProcedureCode.c Normal file
View File

@ -0,0 +1,165 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#include "RUA_ProcedureCode.h"
int
RUA_ProcedureCode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0l && value <= 255l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
RUA_ProcedureCode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
RUA_ProcedureCode_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_ProcedureCode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_ProcedureCode_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) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_ProcedureCode_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) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_ProcedureCode_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) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_ProcedureCode_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) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_ProcedureCode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_ProcedureCode_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_ProcedureCode_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_ProcedureCode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_ProcedureCode_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_ProcedureCode_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_RUA_ProcedureCode_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_ProcedureCode = {
"RUA_ProcedureCode",
"RUA_ProcedureCode",
RUA_ProcedureCode_free,
RUA_ProcedureCode_print,
RUA_ProcedureCode_constraint,
RUA_ProcedureCode_decode_ber,
RUA_ProcedureCode_encode_der,
RUA_ProcedureCode_decode_xer,
RUA_ProcedureCode_encode_xer,
RUA_ProcedureCode_decode_uper,
RUA_ProcedureCode_encode_uper,
RUA_ProcedureCode_decode_aper,
RUA_ProcedureCode_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_ProcedureCode_tags_1,
sizeof(asn_DEF_RUA_ProcedureCode_tags_1)
/sizeof(asn_DEF_RUA_ProcedureCode_tags_1[0]), /* 1 */
asn_DEF_RUA_ProcedureCode_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_ProcedureCode_tags_1)
/sizeof(asn_DEF_RUA_ProcedureCode_tags_1[0]), /* 1 */
&asn_PER_type_RUA_ProcedureCode_constr_1,
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

View File

@ -0,0 +1,52 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#ifndef _RUA_ProcedureCode_H_
#define _RUA_ProcedureCode_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_ProcedureCode {
RUA_ProcedureCode_id_Connect = 1,
RUA_ProcedureCode_id_DirectTransfer = 2,
RUA_ProcedureCode_id_Disconnect = 3,
RUA_ProcedureCode_id_ConnectionlessTransfer = 4,
RUA_ProcedureCode_id_ErrorIndication = 5,
RUA_ProcedureCode_id_privateMessage = 6
} e_RUA_ProcedureCode;
/* RUA_ProcedureCode */
typedef long RUA_ProcedureCode_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_ProcedureCode;
asn_struct_free_f RUA_ProcedureCode_free;
asn_struct_print_f RUA_ProcedureCode_print;
asn_constr_check_f RUA_ProcedureCode_constraint;
ber_type_decoder_f RUA_ProcedureCode_decode_ber;
der_type_encoder_f RUA_ProcedureCode_encode_der;
xer_type_decoder_f RUA_ProcedureCode_decode_xer;
xer_type_encoder_f RUA_ProcedureCode_encode_xer;
per_type_decoder_f RUA_ProcedureCode_decode_uper;
per_type_encoder_f RUA_ProcedureCode_encode_uper;
per_type_decoder_f RUA_ProcedureCode_decode_aper;
per_type_encoder_f RUA_ProcedureCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_ProcedureCode_H_ */
#include <asn_internal.h>

165
src/rua/RUA_ProtocolIE-ID.c Normal file
View File

@ -0,0 +1,165 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#include "RUA_ProtocolIE-ID.h"
int
RUA_ProtocolIE_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0l && value <= 65535l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
RUA_ProtocolIE_ID_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_ProtocolIE_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_ProtocolIE_ID_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) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_ProtocolIE_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) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_ProtocolIE_ID_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) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_ProtocolIE_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) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_ProtocolIE_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_ProtocolIE_ID_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_ProtocolIE_ID_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_ProtocolIE_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_ProtocolIE_ID_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_RUA_ProtocolIE_ID_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_ProtocolIE_ID = {
"RUA_ProtocolIE-ID",
"RUA_ProtocolIE-ID",
RUA_ProtocolIE_ID_free,
RUA_ProtocolIE_ID_print,
RUA_ProtocolIE_ID_constraint,
RUA_ProtocolIE_ID_decode_ber,
RUA_ProtocolIE_ID_encode_der,
RUA_ProtocolIE_ID_decode_xer,
RUA_ProtocolIE_ID_encode_xer,
RUA_ProtocolIE_ID_decode_uper,
RUA_ProtocolIE_ID_encode_uper,
RUA_ProtocolIE_ID_decode_aper,
RUA_ProtocolIE_ID_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_ProtocolIE_ID_tags_1,
sizeof(asn_DEF_RUA_ProtocolIE_ID_tags_1)
/sizeof(asn_DEF_RUA_ProtocolIE_ID_tags_1[0]), /* 1 */
asn_DEF_RUA_ProtocolIE_ID_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_ProtocolIE_ID_tags_1)
/sizeof(asn_DEF_RUA_ProtocolIE_ID_tags_1[0]), /* 1 */
&asn_PER_type_RUA_ProtocolIE_ID_constr_1,
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

View File

@ -0,0 +1,54 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#ifndef _RUA_ProtocolIE_ID_H_
#define _RUA_ProtocolIE_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_ProtocolIE_ID {
RUA_ProtocolIE_ID_id_Cause = 1,
RUA_ProtocolIE_ID_id_CriticalityDiagnostics = 2,
RUA_ProtocolIE_ID_id_Context_ID = 3,
RUA_ProtocolIE_ID_id_RANAP_Message = 4,
RUA_ProtocolIE_ID_id_IntraDomainNasNodeSelector = 5,
RUA_ProtocolIE_ID_id_Establishment_Cause = 6,
RUA_ProtocolIE_ID_id_CN_DomainIndicator = 7,
RUA_ProtocolIE_ID_id_CSGMembershipStatus = 9
} e_RUA_ProtocolIE_ID;
/* RUA_ProtocolIE-ID */
typedef long RUA_ProtocolIE_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_ProtocolIE_ID;
asn_struct_free_f RUA_ProtocolIE_ID_free;
asn_struct_print_f RUA_ProtocolIE_ID_print;
asn_constr_check_f RUA_ProtocolIE_ID_constraint;
ber_type_decoder_f RUA_ProtocolIE_ID_decode_ber;
der_type_encoder_f RUA_ProtocolIE_ID_encode_der;
xer_type_decoder_f RUA_ProtocolIE_ID_decode_xer;
xer_type_encoder_f RUA_ProtocolIE_ID_encode_xer;
per_type_decoder_f RUA_ProtocolIE_ID_decode_uper;
per_type_encoder_f RUA_ProtocolIE_ID_encode_uper;
per_type_decoder_f RUA_ProtocolIE_ID_decode_aper;
per_type_encoder_f RUA_ProtocolIE_ID_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_ProtocolIE_ID_H_ */
#include <asn_internal.h>

143
src/rua/RUA_RANAP-Message.c Normal file
View File

@ -0,0 +1,143 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_RANAP-Message.h"
int
RUA_RANAP_Message_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
static void
RUA_RANAP_Message_1_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->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
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->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
td->elements = asn_DEF_OCTET_STRING.elements;
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
td->specifics = asn_DEF_OCTET_STRING.specifics;
}
void
RUA_RANAP_Message_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_RANAP_Message_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_RANAP_Message_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) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_RANAP_Message_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) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_RANAP_Message_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) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_RANAP_Message_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) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_RANAP_Message_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_RANAP_Message_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_RANAP_Message_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_RANAP_Message_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_RANAP_Message_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static const ber_tlv_tag_t asn_DEF_RUA_RANAP_Message_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_RANAP_Message = {
"RUA_RANAP-Message",
"RUA_RANAP-Message",
RUA_RANAP_Message_free,
RUA_RANAP_Message_print,
RUA_RANAP_Message_constraint,
RUA_RANAP_Message_decode_ber,
RUA_RANAP_Message_encode_der,
RUA_RANAP_Message_decode_xer,
RUA_RANAP_Message_encode_xer,
RUA_RANAP_Message_decode_uper,
RUA_RANAP_Message_encode_uper,
RUA_RANAP_Message_decode_aper,
RUA_RANAP_Message_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_RANAP_Message_tags_1,
sizeof(asn_DEF_RUA_RANAP_Message_tags_1)
/sizeof(asn_DEF_RUA_RANAP_Message_tags_1[0]), /* 1 */
asn_DEF_RUA_RANAP_Message_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_RANAP_Message_tags_1)
/sizeof(asn_DEF_RUA_RANAP_Message_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_RANAP_Message_H_
#define _RUA_RANAP_Message_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_RANAP-Message */
typedef OCTET_STRING_t RUA_RANAP_Message_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_RANAP_Message;
asn_struct_free_f RUA_RANAP_Message_free;
asn_struct_print_f RUA_RANAP_Message_print;
asn_constr_check_f RUA_RANAP_Message_constraint;
ber_type_decoder_f RUA_RANAP_Message_decode_ber;
der_type_encoder_f RUA_RANAP_Message_encode_der;
xer_type_decoder_f RUA_RANAP_Message_decode_xer;
xer_type_encoder_f RUA_RANAP_Message_encode_xer;
per_type_decoder_f RUA_RANAP_Message_decode_uper;
per_type_encoder_f RUA_RANAP_Message_encode_uper;
per_type_decoder_f RUA_RANAP_Message_decode_aper;
per_type_encoder_f RUA_RANAP_Message_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_RANAP_Message_H_ */
#include <asn_internal.h>

82
src/rua/RUA_RUA-PDU.c Normal file
View File

@ -0,0 +1,82 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_RUA-PDU.h"
static asn_per_constraints_t asn_PER_type_RUA_RUA_PDU_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RUA_RUA_PDU_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_RUA_PDU, choice.initiatingMessage),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_InitiatingMessage,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"initiatingMessage"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_RUA_PDU, choice.successfulOutcome),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_SuccessfulOutcome,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"successfulOutcome"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_RUA_PDU, choice.unsuccessfulOutcome),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_UnsuccessfulOutcome,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"unsuccessfulOutcome"
},
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_RUA_PDU_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initiatingMessage */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* successfulOutcome */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* unsuccessfulOutcome */
};
static asn_CHOICE_specifics_t asn_SPC_RUA_RUA_PDU_specs_1 = {
sizeof(struct RUA_RUA_PDU),
offsetof(struct RUA_RUA_PDU, _asn_ctx),
offsetof(struct RUA_RUA_PDU, present),
sizeof(((struct RUA_RUA_PDU *)0)->present),
asn_MAP_RUA_RUA_PDU_tag2el_1,
3, /* Count of tags in the map */
0,
3 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_RUA_RUA_PDU = {
"RUA_RUA-PDU",
"RUA_RUA-PDU",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_decode_aper,
CHOICE_encode_aper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_RUA_RUA_PDU_constr_1,
asn_MBR_RUA_RUA_PDU_1,
3, /* Elements count */
&asn_SPC_RUA_RUA_PDU_specs_1 /* Additional specs */
};

58
src/rua/RUA_RUA-PDU.h Normal file
View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_RUA_PDU_H_
#define _RUA_RUA_PDU_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_InitiatingMessage.h"
#include "RUA_SuccessfulOutcome.h"
#include "RUA_UnsuccessfulOutcome.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_RUA_PDU_PR {
RUA_RUA_PDU_PR_NOTHING, /* No components present */
RUA_RUA_PDU_PR_initiatingMessage,
RUA_RUA_PDU_PR_successfulOutcome,
RUA_RUA_PDU_PR_unsuccessfulOutcome,
/* Extensions may appear below */
} RUA_RUA_PDU_PR;
/* RUA_RUA-PDU */
typedef struct RUA_RUA_PDU {
RUA_RUA_PDU_PR present;
union RUA_RUA_PDU_u {
RUA_InitiatingMessage_t initiatingMessage;
RUA_SuccessfulOutcome_t successfulOutcome;
RUA_UnsuccessfulOutcome_t unsuccessfulOutcome;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_RUA_PDU_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_RUA_PDU;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_RUA_PDU_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,171 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_RoutingParameter.h"
int
RUA_RoutingParameter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 10l)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
static void
RUA_RoutingParameter_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_BIT_STRING.free_struct;
td->print_struct = asn_DEF_BIT_STRING.print_struct;
td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
td->elements = asn_DEF_BIT_STRING.elements;
td->elements_count = asn_DEF_BIT_STRING.elements_count;
td->specifics = asn_DEF_BIT_STRING.specifics;
}
void
RUA_RoutingParameter_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_RoutingParameter_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_RoutingParameter_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) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_RoutingParameter_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) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_RoutingParameter_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) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_RoutingParameter_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) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_RoutingParameter_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_RoutingParameter_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_RoutingParameter_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_RoutingParameter_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_RoutingParameter_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_RoutingParameter_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 10l, 10l } /* (SIZE(10..10)) */,
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_RUA_RoutingParameter_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_RoutingParameter = {
"RUA_RoutingParameter",
"RUA_RoutingParameter",
RUA_RoutingParameter_free,
RUA_RoutingParameter_print,
RUA_RoutingParameter_constraint,
RUA_RoutingParameter_decode_ber,
RUA_RoutingParameter_encode_der,
RUA_RoutingParameter_decode_xer,
RUA_RoutingParameter_encode_xer,
RUA_RoutingParameter_decode_uper,
RUA_RoutingParameter_encode_uper,
RUA_RoutingParameter_decode_aper,
RUA_RoutingParameter_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_RoutingParameter_tags_1,
sizeof(asn_DEF_RUA_RoutingParameter_tags_1)
/sizeof(asn_DEF_RUA_RoutingParameter_tags_1[0]), /* 1 */
asn_DEF_RUA_RoutingParameter_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_RoutingParameter_tags_1)
/sizeof(asn_DEF_RUA_RoutingParameter_tags_1[0]), /* 1 */
&asn_PER_type_RUA_RoutingParameter_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_RoutingParameter_H_
#define _RUA_RoutingParameter_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_RoutingParameter */
typedef BIT_STRING_t RUA_RoutingParameter_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_RoutingParameter;
asn_struct_free_f RUA_RoutingParameter_free;
asn_struct_print_f RUA_RoutingParameter_print;
asn_constr_check_f RUA_RoutingParameter_constraint;
ber_type_decoder_f RUA_RoutingParameter_decode_ber;
der_type_encoder_f RUA_RoutingParameter_encode_der;
xer_type_decoder_f RUA_RoutingParameter_decode_xer;
xer_type_encoder_f RUA_RoutingParameter_encode_xer;
per_type_decoder_f RUA_RoutingParameter_decode_uper;
per_type_encoder_f RUA_RoutingParameter_encode_uper;
per_type_decoder_f RUA_RoutingParameter_decode_aper;
per_type_encoder_f RUA_RoutingParameter_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_RoutingParameter_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,81 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_SuccessfulOutcome.h"
static asn_TYPE_member_t asn_MBR_RUA_SuccessfulOutcome_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_SuccessfulOutcome, procedureCode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_ProcedureCode,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"procedureCode"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_SuccessfulOutcome, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Criticality,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"criticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_SuccessfulOutcome, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"value"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_SuccessfulOutcome_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_SuccessfulOutcome_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_SuccessfulOutcome_specs_1 = {
sizeof(struct RUA_SuccessfulOutcome),
offsetof(struct RUA_SuccessfulOutcome, _asn_ctx),
asn_MAP_RUA_SuccessfulOutcome_tag2el_1,
3, /* 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_RUA_SuccessfulOutcome = {
"RUA_SuccessfulOutcome",
"RUA_SuccessfulOutcome",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_SuccessfulOutcome_tags_1,
sizeof(asn_DEF_RUA_SuccessfulOutcome_tags_1)
/sizeof(asn_DEF_RUA_SuccessfulOutcome_tags_1[0]), /* 1 */
asn_DEF_RUA_SuccessfulOutcome_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_SuccessfulOutcome_tags_1)
/sizeof(asn_DEF_RUA_SuccessfulOutcome_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_SuccessfulOutcome_1,
3, /* Elements count */
&asn_SPC_RUA_SuccessfulOutcome_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_SuccessfulOutcome_H_
#define _RUA_SuccessfulOutcome_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_ProcedureCode.h"
#include "RUA_Criticality.h"
#include <ANY.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_SuccessfulOutcome */
typedef struct RUA_SuccessfulOutcome {
RUA_ProcedureCode_t procedureCode;
RUA_Criticality_t criticality;
ANY_t value;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_SuccessfulOutcome_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_SuccessfulOutcome;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_SuccessfulOutcome_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#include "RUA_TriggeringMessage.h"
int
RUA_TriggeringMessage_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_TriggeringMessage_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_TriggeringMessage_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_TriggeringMessage_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) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_TriggeringMessage_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) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_TriggeringMessage_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) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_TriggeringMessage_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) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_TriggeringMessage_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_TriggeringMessage_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_TriggeringMessage_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_TriggeringMessage_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_TriggeringMessage_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_TriggeringMessage_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_TriggeringMessage_value2enum_1[] = {
{ 0, 18, "initiating-message" },
{ 1, 18, "successful-outcome" },
{ 2, 20, "unsuccessful-outcome" }
};
static const unsigned int asn_MAP_RUA_TriggeringMessage_enum2value_1[] = {
0, /* initiating-message(0) */
1, /* successful-outcome(1) */
2 /* unsuccessful-outcome(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_TriggeringMessage_specs_1 = {
asn_MAP_RUA_TriggeringMessage_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_TriggeringMessage_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_TriggeringMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_TriggeringMessage = {
"RUA_TriggeringMessage",
"RUA_TriggeringMessage",
RUA_TriggeringMessage_free,
RUA_TriggeringMessage_print,
RUA_TriggeringMessage_constraint,
RUA_TriggeringMessage_decode_ber,
RUA_TriggeringMessage_encode_der,
RUA_TriggeringMessage_decode_xer,
RUA_TriggeringMessage_encode_xer,
RUA_TriggeringMessage_decode_uper,
RUA_TriggeringMessage_encode_uper,
RUA_TriggeringMessage_decode_aper,
RUA_TriggeringMessage_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_TriggeringMessage_tags_1,
sizeof(asn_DEF_RUA_TriggeringMessage_tags_1)
/sizeof(asn_DEF_RUA_TriggeringMessage_tags_1[0]), /* 1 */
asn_DEF_RUA_TriggeringMessage_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_TriggeringMessage_tags_1)
/sizeof(asn_DEF_RUA_TriggeringMessage_tags_1[0]), /* 1 */
&asn_PER_type_RUA_TriggeringMessage_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_TriggeringMessage_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-CommonDataTypes"
* found in "../../asn1/rua/RUA-CommonDataTypes.asn"
*/
#ifndef _RUA_TriggeringMessage_H_
#define _RUA_TriggeringMessage_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_TriggeringMessage {
RUA_TriggeringMessage_initiating_message = 0,
RUA_TriggeringMessage_successful_outcome = 1,
RUA_TriggeringMessage_unsuccessful_outcome = 2
} e_RUA_TriggeringMessage;
/* RUA_TriggeringMessage */
typedef long RUA_TriggeringMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_TriggeringMessage;
asn_struct_free_f RUA_TriggeringMessage_free;
asn_struct_print_f RUA_TriggeringMessage_print;
asn_constr_check_f RUA_TriggeringMessage_constraint;
ber_type_decoder_f RUA_TriggeringMessage_decode_ber;
der_type_encoder_f RUA_TriggeringMessage_encode_der;
xer_type_decoder_f RUA_TriggeringMessage_decode_xer;
xer_type_encoder_f RUA_TriggeringMessage_encode_xer;
per_type_decoder_f RUA_TriggeringMessage_decode_uper;
per_type_encoder_f RUA_TriggeringMessage_encode_uper;
per_type_decoder_f RUA_TriggeringMessage_decode_aper;
per_type_encoder_f RUA_TriggeringMessage_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_TriggeringMessage_H_ */
#include <asn_internal.h>

167
src/rua/RUA_TypeOfError.c Normal file
View File

@ -0,0 +1,167 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#include "RUA_TypeOfError.h"
int
RUA_TypeOfError_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
RUA_TypeOfError_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
RUA_TypeOfError_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
RUA_TypeOfError_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
RUA_TypeOfError_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) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
RUA_TypeOfError_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) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
RUA_TypeOfError_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) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
RUA_TypeOfError_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) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
RUA_TypeOfError_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
RUA_TypeOfError_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
asn_enc_rval_t
RUA_TypeOfError_encode_aper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->aper_encoder(td, constraints, structure, per_out);
}
asn_dec_rval_t
RUA_TypeOfError_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
RUA_TypeOfError_1_inherit_TYPE_descriptor(td);
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_per_constraints_t asn_PER_type_RUA_TypeOfError_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RUA_TypeOfError_value2enum_1[] = {
{ 0, 14, "not-understood" },
{ 1, 7, "missing" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RUA_TypeOfError_enum2value_1[] = {
1, /* missing(1) */
0 /* not-understood(0) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RUA_TypeOfError_specs_1 = {
asn_MAP_RUA_TypeOfError_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RUA_TypeOfError_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_RUA_TypeOfError_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_RUA_TypeOfError = {
"RUA_TypeOfError",
"RUA_TypeOfError",
RUA_TypeOfError_free,
RUA_TypeOfError_print,
RUA_TypeOfError_constraint,
RUA_TypeOfError_decode_ber,
RUA_TypeOfError_encode_der,
RUA_TypeOfError_decode_xer,
RUA_TypeOfError_encode_xer,
RUA_TypeOfError_decode_uper,
RUA_TypeOfError_encode_uper,
RUA_TypeOfError_decode_aper,
RUA_TypeOfError_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_TypeOfError_tags_1,
sizeof(asn_DEF_RUA_TypeOfError_tags_1)
/sizeof(asn_DEF_RUA_TypeOfError_tags_1[0]), /* 1 */
asn_DEF_RUA_TypeOfError_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_TypeOfError_tags_1)
/sizeof(asn_DEF_RUA_TypeOfError_tags_1[0]), /* 1 */
&asn_PER_type_RUA_TypeOfError_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_RUA_TypeOfError_specs_1 /* Additional specs */
};

51
src/rua/RUA_TypeOfError.h Normal file
View File

@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-IEs"
* found in "../../asn1/rua/RUA-IEs.asn"
*/
#ifndef _RUA_TypeOfError_H_
#define _RUA_TypeOfError_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum RUA_TypeOfError {
RUA_TypeOfError_not_understood = 0,
RUA_TypeOfError_missing = 1
/*
* Enumeration is extensible
*/
} e_RUA_TypeOfError;
/* RUA_TypeOfError */
typedef long RUA_TypeOfError_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_TypeOfError;
asn_struct_free_f RUA_TypeOfError_free;
asn_struct_print_f RUA_TypeOfError_print;
asn_constr_check_f RUA_TypeOfError_constraint;
ber_type_decoder_f RUA_TypeOfError_decode_ber;
der_type_encoder_f RUA_TypeOfError_encode_der;
xer_type_decoder_f RUA_TypeOfError_decode_xer;
xer_type_encoder_f RUA_TypeOfError_encode_xer;
per_type_decoder_f RUA_TypeOfError_decode_uper;
per_type_encoder_f RUA_TypeOfError_encode_uper;
per_type_decoder_f RUA_TypeOfError_decode_aper;
per_type_encoder_f RUA_TypeOfError_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_TypeOfError_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,81 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#include "RUA_UnsuccessfulOutcome.h"
static asn_TYPE_member_t asn_MBR_RUA_UnsuccessfulOutcome_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RUA_UnsuccessfulOutcome, procedureCode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_ProcedureCode,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"procedureCode"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_UnsuccessfulOutcome, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RUA_Criticality,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"criticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct RUA_UnsuccessfulOutcome, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ANY,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"value"
},
};
static const ber_tlv_tag_t asn_DEF_RUA_UnsuccessfulOutcome_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_UnsuccessfulOutcome_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_UnsuccessfulOutcome_specs_1 = {
sizeof(struct RUA_UnsuccessfulOutcome),
offsetof(struct RUA_UnsuccessfulOutcome, _asn_ctx),
asn_MAP_RUA_UnsuccessfulOutcome_tag2el_1,
3, /* 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_RUA_UnsuccessfulOutcome = {
"RUA_UnsuccessfulOutcome",
"RUA_UnsuccessfulOutcome",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
asn_DEF_RUA_UnsuccessfulOutcome_tags_1,
sizeof(asn_DEF_RUA_UnsuccessfulOutcome_tags_1)
/sizeof(asn_DEF_RUA_UnsuccessfulOutcome_tags_1[0]), /* 1 */
asn_DEF_RUA_UnsuccessfulOutcome_tags_1, /* Same as above */
sizeof(asn_DEF_RUA_UnsuccessfulOutcome_tags_1)
/sizeof(asn_DEF_RUA_UnsuccessfulOutcome_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_RUA_UnsuccessfulOutcome_1,
3, /* Elements count */
&asn_SPC_RUA_UnsuccessfulOutcome_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "RUA-PDU"
* found in "../../asn1/rua/RUA-PDU.asn"
*/
#ifndef _RUA_UnsuccessfulOutcome_H_
#define _RUA_UnsuccessfulOutcome_H_
#include <asn_application.h>
/* Including external dependencies */
#include "RUA_ProcedureCode.h"
#include "RUA_Criticality.h"
#include <ANY.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* RUA_UnsuccessfulOutcome */
typedef struct RUA_UnsuccessfulOutcome {
RUA_ProcedureCode_t procedureCode;
RUA_Criticality_t criticality;
ANY_t value;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RUA_UnsuccessfulOutcome_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_UnsuccessfulOutcome;
#ifdef __cplusplus
}
#endif
#endif /* _RUA_UnsuccessfulOutcome_H_ */
#include <asn_internal.h>