sabp: Generate C/H files for SABP; create libosmo-sabp
This uses the (modified) Osmocom asn1c on the (modified) SABP ASN.1 syntax to generate C code + header files for SABP parsing/encoding. It also adds some helper code for message encoding and decoding as well as a new libosmo-sabp shared library which can be used by programs to implement SABP related functionality. Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275
This commit is contained in:
parent
7095c7ed0c
commit
e844bf7828
|
@ -34,6 +34,7 @@ src/tests/testsuite.log
|
||||||
src/osmo-hnbgw
|
src/osmo-hnbgw
|
||||||
tags
|
tags
|
||||||
libosmo-ranap.pc
|
libosmo-ranap.pc
|
||||||
|
libosmo-sabp.pc
|
||||||
m4
|
m4
|
||||||
gen_hnbap.stamp
|
gen_hnbap.stamp
|
||||||
gen_rua.stamp
|
gen_rua.stamp
|
||||||
|
@ -41,3 +42,4 @@ gen_ranap.stamp
|
||||||
include/osmocom/hnbap/hnbap_ies_defs.h
|
include/osmocom/hnbap/hnbap_ies_defs.h
|
||||||
include/osmocom/rua/rua_ies_defs.h
|
include/osmocom/rua/rua_ies_defs.h
|
||||||
include/osmocom/ranap/ranap_ies_defs.h
|
include/osmocom/ranap/ranap_ies_defs.h
|
||||||
|
include/osmocom/sabp/sabp_ies_defs.h
|
||||||
|
|
|
@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2
|
||||||
SUBDIRS = src include doc contrib
|
SUBDIRS = src include doc contrib
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = libosmo-ranap.pc
|
pkgconfig_DATA = libosmo-ranap.pc libosmo-sabp.pc
|
||||||
|
|
||||||
EXTRA_DIST = asn1 .version README.md
|
EXTRA_DIST = asn1 .version README.md
|
||||||
|
|
||||||
|
|
|
@ -142,10 +142,12 @@ AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"])
|
||||||
|
|
||||||
AC_OUTPUT(
|
AC_OUTPUT(
|
||||||
libosmo-ranap.pc
|
libosmo-ranap.pc
|
||||||
|
libosmo-sabp.pc
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/hnbap/Makefile
|
src/hnbap/Makefile
|
||||||
src/ranap/Makefile
|
src/ranap/Makefile
|
||||||
src/rua/Makefile
|
src/rua/Makefile
|
||||||
|
src/sabp/Makefile
|
||||||
src/tests/Makefile
|
src/tests/Makefile
|
||||||
Makefile
|
Makefile
|
||||||
include/Makefile
|
include/Makefile
|
||||||
|
@ -153,6 +155,7 @@ AC_OUTPUT(
|
||||||
include/osmocom/hnbap/Makefile
|
include/osmocom/hnbap/Makefile
|
||||||
include/osmocom/ranap/Makefile
|
include/osmocom/ranap/Makefile
|
||||||
include/osmocom/rua/Makefile
|
include/osmocom/rua/Makefile
|
||||||
|
include/osmocom/sabp/Makefile
|
||||||
include/osmocom/iuh/Makefile
|
include/osmocom/iuh/Makefile
|
||||||
doc/Makefile
|
doc/Makefile
|
||||||
doc/examples/Makefile
|
doc/examples/Makefile
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
SUBDIRS = hnbap ranap rua iuh
|
SUBDIRS = hnbap ranap rua sabp iuh
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
# Ugly: sabp_ies_defs.h is generated from asn1tostruct.py at the same time as
|
||||||
|
# the sabp_*.c files in src/, but the sabp_ies_defs.h should live here. If
|
||||||
|
# the build process wants this header file, it should first build
|
||||||
|
# src/sabp_encoder.c and src/sabp_decoder.c.
|
||||||
|
# This rule sucks:
|
||||||
|
sabp_ies_defs.h:
|
||||||
|
$(MAKE) -C $(top_builddir)/src/ gen_sabp.stamp
|
||||||
|
|
||||||
|
sabp_HEADERS = \
|
||||||
|
sabp_ies_defs.h \
|
||||||
|
sabp_common.h \
|
||||||
|
SABP_InitiatingMessage.h \
|
||||||
|
SABP_SABP-PDU.h \
|
||||||
|
SABP_SuccessfulOutcome.h \
|
||||||
|
SABP_UnsuccessfulOutcome.h \
|
||||||
|
SABP_Criticality.h \
|
||||||
|
SABP_Presence.h \
|
||||||
|
SABP_ProcedureCode.h \
|
||||||
|
SABP_ProtocolExtensionID.h \
|
||||||
|
SABP_ProtocolIE-ID.h \
|
||||||
|
SABP_TriggeringMessage.h \
|
||||||
|
SABP_IE-Extensions.h \
|
||||||
|
SABP_Available-Bandwidth.h \
|
||||||
|
SABP_Broadcast-Message-Content.h \
|
||||||
|
SABP_Broadcast-Message-Content-Validity-Indicator.h \
|
||||||
|
SABP_Category.h \
|
||||||
|
SABP_Cause.h \
|
||||||
|
SABP_Criticality-Diagnostics.h \
|
||||||
|
SABP_CriticalityDiagnostics-IE-List.h \
|
||||||
|
SABP_MessageStructure.h \
|
||||||
|
SABP_Data-Coding-Scheme.h \
|
||||||
|
SABP_Failure-List.h \
|
||||||
|
SABP_Failure-List-Item.h \
|
||||||
|
SABP_Message-Identifier.h \
|
||||||
|
SABP_New-Serial-Number.h \
|
||||||
|
SABP_Number-of-Broadcasts-Completed-List.h \
|
||||||
|
SABP_Number-of-Broadcasts-Completed-List-Item.h \
|
||||||
|
SABP_Number-Of-Broadcasts-Completed-Info.h \
|
||||||
|
SABP_Number-of-Broadcasts-Requested.h \
|
||||||
|
SABP_Old-Serial-Number.h \
|
||||||
|
SABP_Paging-ETWS-Indicator.h \
|
||||||
|
SABP_Radio-Resource-Loading-List.h \
|
||||||
|
SABP_Radio-Resource-Loading-List-Item.h \
|
||||||
|
SABP_Recovery-Indication.h \
|
||||||
|
SABP_RepetitionNumber0.h \
|
||||||
|
SABP_RepetitionNumber1.h \
|
||||||
|
SABP_Repetition-Period.h \
|
||||||
|
SABP_Serial-Number.h \
|
||||||
|
SABP_Service-Area-Identifier.h \
|
||||||
|
SABP_Service-Areas-List.h \
|
||||||
|
SABP_TypeOfError.h \
|
||||||
|
SABP_WarningSecurityInfo.h \
|
||||||
|
SABP_Warning-Type.h \
|
||||||
|
SABP_Write-Replace.h \
|
||||||
|
SABP_Write-Replace-Complete.h \
|
||||||
|
SABP_Write-Replace-Failure.h \
|
||||||
|
SABP_Kill.h \
|
||||||
|
SABP_Kill-Complete.h \
|
||||||
|
SABP_Kill-Failure.h \
|
||||||
|
SABP_Load-Query.h \
|
||||||
|
SABP_Load-Query-Complete.h \
|
||||||
|
SABP_Load-Query-Failure.h \
|
||||||
|
SABP_Message-Status-Query.h \
|
||||||
|
SABP_Message-Status-Query-Complete.h \
|
||||||
|
SABP_Message-Status-Query-Failure.h \
|
||||||
|
SABP_Reset.h \
|
||||||
|
SABP_Reset-Complete.h \
|
||||||
|
SABP_Reset-Failure.h \
|
||||||
|
SABP_Restart.h \
|
||||||
|
SABP_Failure.h \
|
||||||
|
SABP_Error-Indication.h \
|
||||||
|
SABP_IE.h \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
sabpdir = $(includedir)/osmocom/sabp
|
||||||
|
|
||||||
|
DISTCLEANFILES = \
|
||||||
|
sabp_ies_defs.h
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Available_Bandwidth_H_
|
||||||
|
#define _SABP_Available_Bandwidth_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Available-Bandwidth */
|
||||||
|
typedef long SABP_Available_Bandwidth_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Available_Bandwidth;
|
||||||
|
asn_struct_free_f SABP_Available_Bandwidth_free;
|
||||||
|
asn_struct_print_f SABP_Available_Bandwidth_print;
|
||||||
|
asn_constr_check_f SABP_Available_Bandwidth_constraint;
|
||||||
|
ber_type_decoder_f SABP_Available_Bandwidth_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Available_Bandwidth_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Available_Bandwidth_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Available_Bandwidth_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Available_Bandwidth_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Available_Bandwidth_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Available_Bandwidth_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Available_Bandwidth_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Available_Bandwidth_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Broadcast_Message_Content_Validity_Indicator_H_
|
||||||
|
#define _SABP_Broadcast_Message_Content_Validity_Indicator_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Broadcast_Message_Content_Validity_Indicator {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_broadcast_Message_Content_not_valid = 0
|
||||||
|
/*
|
||||||
|
* Enumeration is extensible
|
||||||
|
*/
|
||||||
|
} e_SABP_Broadcast_Message_Content_Validity_Indicator;
|
||||||
|
|
||||||
|
/* SABP_Broadcast-Message-Content-Validity-Indicator */
|
||||||
|
typedef long SABP_Broadcast_Message_Content_Validity_Indicator_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator;
|
||||||
|
asn_struct_free_f SABP_Broadcast_Message_Content_Validity_Indicator_free;
|
||||||
|
asn_struct_print_f SABP_Broadcast_Message_Content_Validity_Indicator_print;
|
||||||
|
asn_constr_check_f SABP_Broadcast_Message_Content_Validity_Indicator_constraint;
|
||||||
|
ber_type_decoder_f SABP_Broadcast_Message_Content_Validity_Indicator_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Broadcast_Message_Content_Validity_Indicator_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Broadcast_Message_Content_Validity_Indicator_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Broadcast_Message_Content_Validity_Indicator_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Broadcast_Message_Content_Validity_Indicator_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Broadcast_Message_Content_Validity_Indicator_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Broadcast_Message_Content_Validity_Indicator_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Broadcast_Message_Content_Validity_Indicator_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Broadcast_Message_Content_Validity_Indicator_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Broadcast_Message_Content_H_
|
||||||
|
#define _SABP_Broadcast_Message_Content_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <BIT_STRING.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Broadcast-Message-Content */
|
||||||
|
typedef BIT_STRING_t SABP_Broadcast_Message_Content_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Broadcast_Message_Content;
|
||||||
|
asn_struct_free_f SABP_Broadcast_Message_Content_free;
|
||||||
|
asn_struct_print_f SABP_Broadcast_Message_Content_print;
|
||||||
|
asn_constr_check_f SABP_Broadcast_Message_Content_constraint;
|
||||||
|
ber_type_decoder_f SABP_Broadcast_Message_Content_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Broadcast_Message_Content_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Broadcast_Message_Content_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Broadcast_Message_Content_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Broadcast_Message_Content_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Broadcast_Message_Content_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Broadcast_Message_Content_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Broadcast_Message_Content_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Broadcast_Message_Content_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,53 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Category_H_
|
||||||
|
#define _SABP_Category_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Category {
|
||||||
|
SABP_Category_high_priority = 0,
|
||||||
|
SABP_Category_background_priority = 1,
|
||||||
|
SABP_Category_normal_priority = 2,
|
||||||
|
SABP_Category_default_priority = 3
|
||||||
|
/*
|
||||||
|
* Enumeration is extensible
|
||||||
|
*/
|
||||||
|
} e_SABP_Category;
|
||||||
|
|
||||||
|
/* SABP_Category */
|
||||||
|
typedef long SABP_Category_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Category;
|
||||||
|
asn_struct_free_f SABP_Category_free;
|
||||||
|
asn_struct_print_f SABP_Category_print;
|
||||||
|
asn_constr_check_f SABP_Category_constraint;
|
||||||
|
ber_type_decoder_f SABP_Category_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Category_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Category_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Category_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Category_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Category_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Category_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Category_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Category_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,64 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Cause_H_
|
||||||
|
#define _SABP_Cause_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Cause {
|
||||||
|
SABP_Cause_parameter_not_recognised = 0,
|
||||||
|
SABP_Cause_parameter_value_invalid = 1,
|
||||||
|
SABP_Cause_valid_CN_message_not_identified = 2,
|
||||||
|
SABP_Cause_service_area_identity_not_valid = 3,
|
||||||
|
SABP_Cause_unrecognised_message = 4,
|
||||||
|
SABP_Cause_missing_mandatory_element = 5,
|
||||||
|
SABP_Cause_rNC_capacity_exceeded = 6,
|
||||||
|
SABP_Cause_rNC_memory_exceeded = 7,
|
||||||
|
SABP_Cause_service_area_broadcast_not_supported = 8,
|
||||||
|
SABP_Cause_service_area_broadcast_not_operational = 9,
|
||||||
|
SABP_Cause_message_reference_already_used = 10,
|
||||||
|
SABP_Cause_unspecifed_error = 11,
|
||||||
|
SABP_Cause_transfer_syntax_error = 12,
|
||||||
|
SABP_Cause_semantic_error = 13,
|
||||||
|
SABP_Cause_message_not_compatible_with_receiver_state = 14,
|
||||||
|
SABP_Cause_abstract_syntax_error_reject = 15,
|
||||||
|
SABP_Cause_abstract_syntax_error_ignore_and_notify = 16,
|
||||||
|
SABP_Cause_abstract_syntax_error_falsely_constructed_message = 17
|
||||||
|
} e_SABP_Cause;
|
||||||
|
|
||||||
|
/* SABP_Cause */
|
||||||
|
typedef long SABP_Cause_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Cause;
|
||||||
|
asn_struct_free_f SABP_Cause_free;
|
||||||
|
asn_struct_print_f SABP_Cause_print;
|
||||||
|
asn_constr_check_f SABP_Cause_constraint;
|
||||||
|
ber_type_decoder_f SABP_Cause_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Cause_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Cause_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Cause_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Cause_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Cause_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Cause_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Cause_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Cause_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Criticality_Diagnostics_H_
|
||||||
|
#define _SABP_Criticality_Diagnostics_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_ProcedureCode.h>
|
||||||
|
#include <osmocom/sabp/SABP_TriggeringMessage.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Criticality-Diagnostics */
|
||||||
|
typedef struct SABP_Criticality_Diagnostics {
|
||||||
|
SABP_ProcedureCode_t *procedureCode /* OPTIONAL */;
|
||||||
|
SABP_TriggeringMessage_t *triggeringMessage /* OPTIONAL */;
|
||||||
|
SABP_Criticality_t *procedureCriticality /* OPTIONAL */;
|
||||||
|
SABP_CriticalityDiagnostics_IE_List_t *iEsCriticalityDiagnostics /* OPTIONAL */;
|
||||||
|
SABP_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;
|
||||||
|
} SABP_Criticality_Diagnostics_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Criticality_Diagnostics;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Criticality_Diagnostics_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Criticality_H_
|
||||||
|
#define _SABP_Criticality_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Criticality {
|
||||||
|
SABP_Criticality_reject = 0,
|
||||||
|
SABP_Criticality_ignore = 1,
|
||||||
|
SABP_Criticality_notify = 2
|
||||||
|
} e_SABP_Criticality;
|
||||||
|
|
||||||
|
/* SABP_Criticality */
|
||||||
|
typedef long SABP_Criticality_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Criticality;
|
||||||
|
asn_struct_free_f SABP_Criticality_free;
|
||||||
|
asn_struct_print_f SABP_Criticality_print;
|
||||||
|
asn_constr_check_f SABP_Criticality_constraint;
|
||||||
|
ber_type_decoder_f SABP_Criticality_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Criticality_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Criticality_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Criticality_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Criticality_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Criticality_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Criticality_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Criticality_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Criticality_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,54 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_CriticalityDiagnostics_IE_List_H_
|
||||||
|
#define _SABP_CriticalityDiagnostics_IE_List_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <osmocom/sabp/SABP_ProtocolIE-ID.h>
|
||||||
|
#include <osmocom/sabp/SABP_RepetitionNumber0.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_CriticalityDiagnostics-IE-List */
|
||||||
|
typedef struct SABP_CriticalityDiagnostics_IE_List {
|
||||||
|
A_SEQUENCE_OF(struct Member {
|
||||||
|
SABP_Criticality_t iECriticality;
|
||||||
|
SABP_ProtocolIE_ID_t iE_ID;
|
||||||
|
SABP_RepetitionNumber0_t *repetitionNumber /* OPTIONAL */;
|
||||||
|
SABP_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;
|
||||||
|
} SABP_CriticalityDiagnostics_IE_List_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_CriticalityDiagnostics_IE_List;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_CriticalityDiagnostics_IE_List_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Data_Coding_Scheme_H_
|
||||||
|
#define _SABP_Data_Coding_Scheme_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <BIT_STRING.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Data-Coding-Scheme */
|
||||||
|
typedef BIT_STRING_t SABP_Data_Coding_Scheme_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Data_Coding_Scheme;
|
||||||
|
asn_struct_free_f SABP_Data_Coding_Scheme_free;
|
||||||
|
asn_struct_print_f SABP_Data_Coding_Scheme_print;
|
||||||
|
asn_constr_check_f SABP_Data_Coding_Scheme_constraint;
|
||||||
|
ber_type_decoder_f SABP_Data_Coding_Scheme_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Data_Coding_Scheme_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Data_Coding_Scheme_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Data_Coding_Scheme_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Data_Coding_Scheme_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Data_Coding_Scheme_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Data_Coding_Scheme_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Data_Coding_Scheme_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Data_Coding_Scheme_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Error_Indication_H_
|
||||||
|
#define _SABP_Error_Indication_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Error-Indication */
|
||||||
|
typedef struct SABP_Error_Indication {
|
||||||
|
struct error_Indication_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} error_Indication_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Error_Indication_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Error_Indication;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Error_Indication_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Failure_List_Item_H_
|
||||||
|
#define _SABP_Failure_List_Item_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Service-Area-Identifier.h>
|
||||||
|
#include <osmocom/sabp/SABP_Cause.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Failure-List-Item */
|
||||||
|
typedef struct SABP_Failure_List_Item {
|
||||||
|
SABP_Service_Area_Identifier_t service_area_identifier;
|
||||||
|
SABP_Cause_t cause;
|
||||||
|
SABP_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;
|
||||||
|
} SABP_Failure_List_Item_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Failure_List_Item;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Failure_List_Item_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Failure_List_H_
|
||||||
|
#define _SABP_Failure_List_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Failure-List-Item.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Failure-List */
|
||||||
|
typedef struct SABP_Failure_List {
|
||||||
|
A_SEQUENCE_OF(SABP_Failure_List_Item_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Failure_List_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Failure_List;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Failure_List_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Failure_H_
|
||||||
|
#define _SABP_Failure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Failure */
|
||||||
|
typedef struct SABP_Failure {
|
||||||
|
struct failure_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} failure_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Failure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Failure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Failure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_IE_Extensions_H_
|
||||||
|
#define _SABP_IE_Extensions_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_IE-Extensions */
|
||||||
|
typedef struct SABP_IE_Extensions {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_IE_Extensions_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_IE_Extensions;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_IE_Extensions_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_IE_H_
|
||||||
|
#define _SABP_IE_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_ProtocolIE-ID.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <ANY.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_IE */
|
||||||
|
typedef struct SABP_IE {
|
||||||
|
SABP_ProtocolIE_ID_t id;
|
||||||
|
SABP_Criticality_t criticality;
|
||||||
|
ANY_t value;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_IE_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_IE;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_IE_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_InitiatingMessage_H_
|
||||||
|
#define _SABP_InitiatingMessage_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_ProcedureCode.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <ANY.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_InitiatingMessage */
|
||||||
|
typedef struct SABP_InitiatingMessage {
|
||||||
|
SABP_ProcedureCode_t procedureCode;
|
||||||
|
SABP_Criticality_t criticality;
|
||||||
|
ANY_t value;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_InitiatingMessage_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_InitiatingMessage;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_InitiatingMessage_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Kill_Complete_H_
|
||||||
|
#define _SABP_Kill_Complete_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Kill-Complete */
|
||||||
|
typedef struct SABP_Kill_Complete {
|
||||||
|
struct kill_Complete_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} kill_Complete_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Kill_Complete_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Kill_Complete;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Kill_Complete_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Kill_Failure_H_
|
||||||
|
#define _SABP_Kill_Failure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Kill-Failure */
|
||||||
|
typedef struct SABP_Kill_Failure {
|
||||||
|
struct kill_Failure_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} kill_Failure_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Kill_Failure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Kill_Failure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Kill_Failure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Kill_H_
|
||||||
|
#define _SABP_Kill_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Kill */
|
||||||
|
typedef struct SABP_Kill {
|
||||||
|
struct kill_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} kill_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Kill_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Kill;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Kill_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Load_Query_Complete_H_
|
||||||
|
#define _SABP_Load_Query_Complete_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Load-Query-Complete */
|
||||||
|
typedef struct SABP_Load_Query_Complete {
|
||||||
|
struct load_Query_Complete_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} load_Query_Complete_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Load_Query_Complete_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Load_Query_Complete;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Load_Query_Complete_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Load_Query_Failure_H_
|
||||||
|
#define _SABP_Load_Query_Failure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Load-Query-Failure */
|
||||||
|
typedef struct SABP_Load_Query_Failure {
|
||||||
|
struct load_Query_Failure_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} load_Query_Failure_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Load_Query_Failure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Load_Query_Failure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Load_Query_Failure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Load_Query_H_
|
||||||
|
#define _SABP_Load_Query_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Load-Query */
|
||||||
|
typedef struct SABP_Load_Query {
|
||||||
|
struct load_Query_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} load_Query_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Load_Query_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Load_Query;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Load_Query_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Message_Identifier_H_
|
||||||
|
#define _SABP_Message_Identifier_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <BIT_STRING.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Message-Identifier */
|
||||||
|
typedef BIT_STRING_t SABP_Message_Identifier_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Message_Identifier;
|
||||||
|
asn_struct_free_f SABP_Message_Identifier_free;
|
||||||
|
asn_struct_print_f SABP_Message_Identifier_print;
|
||||||
|
asn_constr_check_f SABP_Message_Identifier_constraint;
|
||||||
|
ber_type_decoder_f SABP_Message_Identifier_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Message_Identifier_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Message_Identifier_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Message_Identifier_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Message_Identifier_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Message_Identifier_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Message_Identifier_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Message_Identifier_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Message_Identifier_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Message_Status_Query_Complete_H_
|
||||||
|
#define _SABP_Message_Status_Query_Complete_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Message-Status-Query-Complete */
|
||||||
|
typedef struct SABP_Message_Status_Query_Complete {
|
||||||
|
struct message_Status_Query_Complete_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} message_Status_Query_Complete_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Message_Status_Query_Complete_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Message_Status_Query_Complete;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Message_Status_Query_Complete_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Message_Status_Query_Failure_H_
|
||||||
|
#define _SABP_Message_Status_Query_Failure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Message-Status-Query-Failure */
|
||||||
|
typedef struct SABP_Message_Status_Query_Failure {
|
||||||
|
struct message_Status_Query_Failure_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} message_Status_Query_Failure_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Message_Status_Query_Failure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Message_Status_Query_Failure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Message_Status_Query_Failure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Message_Status_Query_H_
|
||||||
|
#define _SABP_Message_Status_Query_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Message-Status-Query */
|
||||||
|
typedef struct SABP_Message_Status_Query {
|
||||||
|
struct message_Status_Query_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} message_Status_Query_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Message_Status_Query_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Message_Status_Query;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Message_Status_Query_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_MessageStructure_H_
|
||||||
|
#define _SABP_MessageStructure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <osmocom/sabp/SABP_ProtocolIE-ID.h>
|
||||||
|
#include <osmocom/sabp/SABP_RepetitionNumber1.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_MessageStructure */
|
||||||
|
typedef struct SABP_MessageStructure {
|
||||||
|
A_SEQUENCE_OF(struct MemberA {
|
||||||
|
SABP_ProtocolIE_ID_t iE_ID;
|
||||||
|
SABP_RepetitionNumber1_t *repetitionNumber /* OPTIONAL */;
|
||||||
|
SABP_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;
|
||||||
|
} SABP_MessageStructure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_MessageStructure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_MessageStructure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,43 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_New_Serial_Number_H_
|
||||||
|
#define _SABP_New_Serial_Number_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Serial-Number.h>
|
||||||
|
#include <constr_CHOICE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_New-Serial-Number */
|
||||||
|
typedef SABP_Serial_Number_t SABP_New_Serial_Number_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_New_Serial_Number;
|
||||||
|
asn_struct_free_f SABP_New_Serial_Number_free;
|
||||||
|
asn_struct_print_f SABP_New_Serial_Number_print;
|
||||||
|
asn_constr_check_f SABP_New_Serial_Number_constraint;
|
||||||
|
ber_type_decoder_f SABP_New_Serial_Number_decode_ber;
|
||||||
|
der_type_encoder_f SABP_New_Serial_Number_encode_der;
|
||||||
|
xer_type_decoder_f SABP_New_Serial_Number_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_New_Serial_Number_encode_xer;
|
||||||
|
per_type_decoder_f SABP_New_Serial_Number_decode_uper;
|
||||||
|
per_type_encoder_f SABP_New_Serial_Number_encode_uper;
|
||||||
|
per_type_decoder_f SABP_New_Serial_Number_decode_aper;
|
||||||
|
per_type_encoder_f SABP_New_Serial_Number_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_New_Serial_Number_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Number_Of_Broadcasts_Completed_Info_H_
|
||||||
|
#define _SABP_Number_Of_Broadcasts_Completed_Info_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Number_Of_Broadcasts_Completed_Info {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_overflow = 0,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_unknown = 1
|
||||||
|
/*
|
||||||
|
* Enumeration is extensible
|
||||||
|
*/
|
||||||
|
} e_SABP_Number_Of_Broadcasts_Completed_Info;
|
||||||
|
|
||||||
|
/* SABP_Number-Of-Broadcasts-Completed-Info */
|
||||||
|
typedef long SABP_Number_Of_Broadcasts_Completed_Info_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info;
|
||||||
|
asn_struct_free_f SABP_Number_Of_Broadcasts_Completed_Info_free;
|
||||||
|
asn_struct_print_f SABP_Number_Of_Broadcasts_Completed_Info_print;
|
||||||
|
asn_constr_check_f SABP_Number_Of_Broadcasts_Completed_Info_constraint;
|
||||||
|
ber_type_decoder_f SABP_Number_Of_Broadcasts_Completed_Info_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Number_Of_Broadcasts_Completed_Info_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Number_Of_Broadcasts_Completed_Info_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Number_Of_Broadcasts_Completed_Info_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Number_Of_Broadcasts_Completed_Info_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Number_Of_Broadcasts_Completed_Info_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Number_Of_Broadcasts_Completed_Info_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Number_Of_Broadcasts_Completed_Info_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Number_Of_Broadcasts_Completed_Info_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Number_of_Broadcasts_Completed_List_Item_H_
|
||||||
|
#define _SABP_Number_of_Broadcasts_Completed_List_Item_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Service-Area-Identifier.h>
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
#include <osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Number-of-Broadcasts-Completed-List-Item */
|
||||||
|
typedef struct SABP_Number_of_Broadcasts_Completed_List_Item {
|
||||||
|
SABP_Service_Area_Identifier_t service_area_identifier;
|
||||||
|
long number_of_broadcasts_completed;
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_t *number_of_broadcasts_completed_info /* OPTIONAL */;
|
||||||
|
SABP_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;
|
||||||
|
} SABP_Number_of_Broadcasts_Completed_List_Item_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Number_of_Broadcasts_Completed_List_Item;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Number_of_Broadcasts_Completed_List_Item_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Number_of_Broadcasts_Completed_List_H_
|
||||||
|
#define _SABP_Number_of_Broadcasts_Completed_List_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Number-of-Broadcasts-Completed-List */
|
||||||
|
typedef struct SABP_Number_of_Broadcasts_Completed_List {
|
||||||
|
A_SEQUENCE_OF(SABP_Number_of_Broadcasts_Completed_List_Item_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Number_of_Broadcasts_Completed_List_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Number_of_Broadcasts_Completed_List;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Number_of_Broadcasts_Completed_List_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Number_of_Broadcasts_Requested_H_
|
||||||
|
#define _SABP_Number_of_Broadcasts_Requested_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Number_of_Broadcasts_Requested {
|
||||||
|
SABP_Number_of_Broadcasts_Requested_broadcast_indefinitely = 0
|
||||||
|
} e_SABP_Number_of_Broadcasts_Requested;
|
||||||
|
|
||||||
|
/* SABP_Number-of-Broadcasts-Requested */
|
||||||
|
typedef long SABP_Number_of_Broadcasts_Requested_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Number_of_Broadcasts_Requested;
|
||||||
|
asn_struct_free_f SABP_Number_of_Broadcasts_Requested_free;
|
||||||
|
asn_struct_print_f SABP_Number_of_Broadcasts_Requested_print;
|
||||||
|
asn_constr_check_f SABP_Number_of_Broadcasts_Requested_constraint;
|
||||||
|
ber_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Number_of_Broadcasts_Requested_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,43 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Old_Serial_Number_H_
|
||||||
|
#define _SABP_Old_Serial_Number_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Serial-Number.h>
|
||||||
|
#include <constr_CHOICE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Old-Serial-Number */
|
||||||
|
typedef SABP_Serial_Number_t SABP_Old_Serial_Number_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Old_Serial_Number;
|
||||||
|
asn_struct_free_f SABP_Old_Serial_Number_free;
|
||||||
|
asn_struct_print_f SABP_Old_Serial_Number_print;
|
||||||
|
asn_constr_check_f SABP_Old_Serial_Number_constraint;
|
||||||
|
ber_type_decoder_f SABP_Old_Serial_Number_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Old_Serial_Number_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Old_Serial_Number_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Old_Serial_Number_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Old_Serial_Number_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Old_Serial_Number_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Old_Serial_Number_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Old_Serial_Number_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Old_Serial_Number_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Paging_ETWS_Indicator_H_
|
||||||
|
#define _SABP_Paging_ETWS_Indicator_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Paging_ETWS_Indicator {
|
||||||
|
SABP_Paging_ETWS_Indicator_paging = 0
|
||||||
|
/*
|
||||||
|
* Enumeration is extensible
|
||||||
|
*/
|
||||||
|
} e_SABP_Paging_ETWS_Indicator;
|
||||||
|
|
||||||
|
/* SABP_Paging-ETWS-Indicator */
|
||||||
|
typedef long SABP_Paging_ETWS_Indicator_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Paging_ETWS_Indicator;
|
||||||
|
asn_struct_free_f SABP_Paging_ETWS_Indicator_free;
|
||||||
|
asn_struct_print_f SABP_Paging_ETWS_Indicator_print;
|
||||||
|
asn_constr_check_f SABP_Paging_ETWS_Indicator_constraint;
|
||||||
|
ber_type_decoder_f SABP_Paging_ETWS_Indicator_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Paging_ETWS_Indicator_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Paging_ETWS_Indicator_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Paging_ETWS_Indicator_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Paging_ETWS_Indicator_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Paging_ETWS_Indicator_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Paging_ETWS_Indicator_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Paging_ETWS_Indicator_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Paging_ETWS_Indicator_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Presence_H_
|
||||||
|
#define _SABP_Presence_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Presence {
|
||||||
|
SABP_Presence_optional = 0,
|
||||||
|
SABP_Presence_conditional = 1,
|
||||||
|
SABP_Presence_mandatory = 2
|
||||||
|
} e_SABP_Presence;
|
||||||
|
|
||||||
|
/* SABP_Presence */
|
||||||
|
typedef long SABP_Presence_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Presence;
|
||||||
|
asn_struct_free_f SABP_Presence_free;
|
||||||
|
asn_struct_print_f SABP_Presence_print;
|
||||||
|
asn_constr_check_f SABP_Presence_constraint;
|
||||||
|
ber_type_decoder_f SABP_Presence_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Presence_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Presence_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Presence_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Presence_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Presence_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Presence_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Presence_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Presence_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,54 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_ProcedureCode_H_
|
||||||
|
#define _SABP_ProcedureCode_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_ProcedureCode {
|
||||||
|
SABP_ProcedureCode_id_Write_Replace = 0,
|
||||||
|
SABP_ProcedureCode_id_Kill = 1,
|
||||||
|
SABP_ProcedureCode_id_Load_Status_Enquiry = 2,
|
||||||
|
SABP_ProcedureCode_id_Message_Status_Query = 3,
|
||||||
|
SABP_ProcedureCode_id_Restart_Indication = 4,
|
||||||
|
SABP_ProcedureCode_id_Reset = 5,
|
||||||
|
SABP_ProcedureCode_id_Failure_Indication = 6,
|
||||||
|
SABP_ProcedureCode_id_Error_Indication = 7
|
||||||
|
} e_SABP_ProcedureCode;
|
||||||
|
|
||||||
|
/* SABP_ProcedureCode */
|
||||||
|
typedef long SABP_ProcedureCode_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_ProcedureCode;
|
||||||
|
asn_struct_free_f SABP_ProcedureCode_free;
|
||||||
|
asn_struct_print_f SABP_ProcedureCode_print;
|
||||||
|
asn_constr_check_f SABP_ProcedureCode_constraint;
|
||||||
|
ber_type_decoder_f SABP_ProcedureCode_decode_ber;
|
||||||
|
der_type_encoder_f SABP_ProcedureCode_encode_der;
|
||||||
|
xer_type_decoder_f SABP_ProcedureCode_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_ProcedureCode_encode_xer;
|
||||||
|
per_type_decoder_f SABP_ProcedureCode_decode_uper;
|
||||||
|
per_type_encoder_f SABP_ProcedureCode_encode_uper;
|
||||||
|
per_type_decoder_f SABP_ProcedureCode_decode_aper;
|
||||||
|
per_type_encoder_f SABP_ProcedureCode_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_ProcedureCode_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_ProtocolExtensionID_H_
|
||||||
|
#define _SABP_ProtocolExtensionID_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_ProtocolExtensionID */
|
||||||
|
typedef long SABP_ProtocolExtensionID_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_ProtocolExtensionID;
|
||||||
|
asn_struct_free_f SABP_ProtocolExtensionID_free;
|
||||||
|
asn_struct_print_f SABP_ProtocolExtensionID_print;
|
||||||
|
asn_constr_check_f SABP_ProtocolExtensionID_constraint;
|
||||||
|
ber_type_decoder_f SABP_ProtocolExtensionID_decode_ber;
|
||||||
|
der_type_encoder_f SABP_ProtocolExtensionID_encode_der;
|
||||||
|
xer_type_decoder_f SABP_ProtocolExtensionID_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_ProtocolExtensionID_encode_xer;
|
||||||
|
per_type_decoder_f SABP_ProtocolExtensionID_decode_uper;
|
||||||
|
per_type_encoder_f SABP_ProtocolExtensionID_encode_uper;
|
||||||
|
per_type_decoder_f SABP_ProtocolExtensionID_decode_aper;
|
||||||
|
per_type_encoder_f SABP_ProtocolExtensionID_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_ProtocolExtensionID_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_ProtocolIE_ID_H_
|
||||||
|
#define _SABP_ProtocolIE_ID_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_ProtocolIE_ID {
|
||||||
|
SABP_ProtocolIE_ID_id_Broadcast_Message_Content = 0,
|
||||||
|
SABP_ProtocolIE_ID_id_Category = 1,
|
||||||
|
SABP_ProtocolIE_ID_id_Cause = 2,
|
||||||
|
SABP_ProtocolIE_ID_id_Data_Coding_Scheme = 4,
|
||||||
|
SABP_ProtocolIE_ID_id_Failure_List = 5,
|
||||||
|
SABP_ProtocolIE_ID_id_Message_Identifier = 6,
|
||||||
|
SABP_ProtocolIE_ID_id_New_Serial_Number = 7,
|
||||||
|
SABP_ProtocolIE_ID_id_Number_of_Broadcasts_Completed_List = 8,
|
||||||
|
SABP_ProtocolIE_ID_id_Number_of_Broadcasts_Requested = 9,
|
||||||
|
SABP_ProtocolIE_ID_id_Old_Serial_Number = 10,
|
||||||
|
SABP_ProtocolIE_ID_id_Radio_Resource_Loading_List = 11,
|
||||||
|
SABP_ProtocolIE_ID_id_Recovery_Indication = 12,
|
||||||
|
SABP_ProtocolIE_ID_id_Repetition_Period = 13,
|
||||||
|
SABP_ProtocolIE_ID_id_Serial_Number = 14,
|
||||||
|
SABP_ProtocolIE_ID_id_Service_Areas_List = 15,
|
||||||
|
SABP_ProtocolIE_ID_id_MessageStructure = 16,
|
||||||
|
SABP_ProtocolIE_ID_id_TypeOfError = 17,
|
||||||
|
SABP_ProtocolIE_ID_id_Paging_ETWS_Indicator = 18,
|
||||||
|
SABP_ProtocolIE_ID_id_Warning_Type = 19,
|
||||||
|
SABP_ProtocolIE_ID_id_WarningSecurityInfo = 20,
|
||||||
|
SABP_ProtocolIE_ID_id_Broadcast_Message_Content_Validity_Indicator = 21
|
||||||
|
} e_SABP_ProtocolIE_ID;
|
||||||
|
|
||||||
|
/* SABP_ProtocolIE-ID */
|
||||||
|
typedef long SABP_ProtocolIE_ID_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_ProtocolIE_ID;
|
||||||
|
asn_struct_free_f SABP_ProtocolIE_ID_free;
|
||||||
|
asn_struct_print_f SABP_ProtocolIE_ID_print;
|
||||||
|
asn_constr_check_f SABP_ProtocolIE_ID_constraint;
|
||||||
|
ber_type_decoder_f SABP_ProtocolIE_ID_decode_ber;
|
||||||
|
der_type_encoder_f SABP_ProtocolIE_ID_encode_der;
|
||||||
|
xer_type_decoder_f SABP_ProtocolIE_ID_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_ProtocolIE_ID_encode_xer;
|
||||||
|
per_type_decoder_f SABP_ProtocolIE_ID_decode_uper;
|
||||||
|
per_type_encoder_f SABP_ProtocolIE_ID_encode_uper;
|
||||||
|
per_type_decoder_f SABP_ProtocolIE_ID_decode_aper;
|
||||||
|
per_type_encoder_f SABP_ProtocolIE_ID_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_ProtocolIE_ID_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Radio_Resource_Loading_List_Item_H_
|
||||||
|
#define _SABP_Radio_Resource_Loading_List_Item_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Service-Area-Identifier.h>
|
||||||
|
#include <osmocom/sabp/SABP_Available-Bandwidth.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Radio-Resource-Loading-List-Item */
|
||||||
|
typedef struct SABP_Radio_Resource_Loading_List_Item {
|
||||||
|
SABP_Service_Area_Identifier_t service_area_identifier;
|
||||||
|
SABP_Available_Bandwidth_t available_bandwidth;
|
||||||
|
SABP_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;
|
||||||
|
} SABP_Radio_Resource_Loading_List_Item_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Radio_Resource_Loading_List_Item;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Radio_Resource_Loading_List_Item_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Radio_Resource_Loading_List_H_
|
||||||
|
#define _SABP_Radio_Resource_Loading_List_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Radio-Resource-Loading-List */
|
||||||
|
typedef struct SABP_Radio_Resource_Loading_List {
|
||||||
|
A_SEQUENCE_OF(SABP_Radio_Resource_Loading_List_Item_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Radio_Resource_Loading_List_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Radio_Resource_Loading_List;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Radio_Resource_Loading_List_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Recovery_Indication_H_
|
||||||
|
#define _SABP_Recovery_Indication_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_Recovery_Indication {
|
||||||
|
SABP_Recovery_Indication_data_lost = 0,
|
||||||
|
SABP_Recovery_Indication_data_available = 1
|
||||||
|
} e_SABP_Recovery_Indication;
|
||||||
|
|
||||||
|
/* SABP_Recovery-Indication */
|
||||||
|
typedef long SABP_Recovery_Indication_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Recovery_Indication;
|
||||||
|
asn_struct_free_f SABP_Recovery_Indication_free;
|
||||||
|
asn_struct_print_f SABP_Recovery_Indication_print;
|
||||||
|
asn_constr_check_f SABP_Recovery_Indication_constraint;
|
||||||
|
ber_type_decoder_f SABP_Recovery_Indication_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Recovery_Indication_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Recovery_Indication_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Recovery_Indication_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Recovery_Indication_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Recovery_Indication_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Recovery_Indication_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Recovery_Indication_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Recovery_Indication_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Repetition_Period_H_
|
||||||
|
#define _SABP_Repetition_Period_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Repetition-Period */
|
||||||
|
typedef long SABP_Repetition_Period_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Repetition_Period;
|
||||||
|
asn_struct_free_f SABP_Repetition_Period_free;
|
||||||
|
asn_struct_print_f SABP_Repetition_Period_print;
|
||||||
|
asn_constr_check_f SABP_Repetition_Period_constraint;
|
||||||
|
ber_type_decoder_f SABP_Repetition_Period_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Repetition_Period_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Repetition_Period_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Repetition_Period_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Repetition_Period_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Repetition_Period_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Repetition_Period_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Repetition_Period_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Repetition_Period_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_RepetitionNumber0_H_
|
||||||
|
#define _SABP_RepetitionNumber0_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_RepetitionNumber0 */
|
||||||
|
typedef long SABP_RepetitionNumber0_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_RepetitionNumber0;
|
||||||
|
asn_struct_free_f SABP_RepetitionNumber0_free;
|
||||||
|
asn_struct_print_f SABP_RepetitionNumber0_print;
|
||||||
|
asn_constr_check_f SABP_RepetitionNumber0_constraint;
|
||||||
|
ber_type_decoder_f SABP_RepetitionNumber0_decode_ber;
|
||||||
|
der_type_encoder_f SABP_RepetitionNumber0_encode_der;
|
||||||
|
xer_type_decoder_f SABP_RepetitionNumber0_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_RepetitionNumber0_encode_xer;
|
||||||
|
per_type_decoder_f SABP_RepetitionNumber0_decode_uper;
|
||||||
|
per_type_encoder_f SABP_RepetitionNumber0_encode_uper;
|
||||||
|
per_type_decoder_f SABP_RepetitionNumber0_decode_aper;
|
||||||
|
per_type_encoder_f SABP_RepetitionNumber0_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_RepetitionNumber0_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_RepetitionNumber1_H_
|
||||||
|
#define _SABP_RepetitionNumber1_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeInteger.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_RepetitionNumber1 */
|
||||||
|
typedef long SABP_RepetitionNumber1_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_RepetitionNumber1;
|
||||||
|
asn_struct_free_f SABP_RepetitionNumber1_free;
|
||||||
|
asn_struct_print_f SABP_RepetitionNumber1_print;
|
||||||
|
asn_constr_check_f SABP_RepetitionNumber1_constraint;
|
||||||
|
ber_type_decoder_f SABP_RepetitionNumber1_decode_ber;
|
||||||
|
der_type_encoder_f SABP_RepetitionNumber1_encode_der;
|
||||||
|
xer_type_decoder_f SABP_RepetitionNumber1_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_RepetitionNumber1_encode_xer;
|
||||||
|
per_type_decoder_f SABP_RepetitionNumber1_decode_uper;
|
||||||
|
per_type_encoder_f SABP_RepetitionNumber1_encode_uper;
|
||||||
|
per_type_decoder_f SABP_RepetitionNumber1_decode_aper;
|
||||||
|
per_type_encoder_f SABP_RepetitionNumber1_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_RepetitionNumber1_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Reset_Complete_H_
|
||||||
|
#define _SABP_Reset_Complete_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Reset-Complete */
|
||||||
|
typedef struct SABP_Reset_Complete {
|
||||||
|
struct reset_Complete_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} reset_Complete_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Reset_Complete_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Reset_Complete;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Reset_Complete_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Reset_Failure_H_
|
||||||
|
#define _SABP_Reset_Failure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Reset-Failure */
|
||||||
|
typedef struct SABP_Reset_Failure {
|
||||||
|
struct reset_Failure_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} reset_Failure_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Reset_Failure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Reset_Failure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Reset_Failure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Reset_H_
|
||||||
|
#define _SABP_Reset_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Reset */
|
||||||
|
typedef struct SABP_Reset {
|
||||||
|
struct reset_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} reset_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Reset_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Reset;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Reset_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Restart_H_
|
||||||
|
#define _SABP_Restart_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Restart */
|
||||||
|
typedef struct SABP_Restart {
|
||||||
|
struct restart_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} restart_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Restart_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Restart;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Restart_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_SABP_PDU_H_
|
||||||
|
#define _SABP_SABP_PDU_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_InitiatingMessage.h>
|
||||||
|
#include <osmocom/sabp/SABP_SuccessfulOutcome.h>
|
||||||
|
#include <osmocom/sabp/SABP_UnsuccessfulOutcome.h>
|
||||||
|
#include <constr_CHOICE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_SABP_PDU_PR {
|
||||||
|
SABP_SABP_PDU_PR_NOTHING, /* No components present */
|
||||||
|
SABP_SABP_PDU_PR_initiatingMessage,
|
||||||
|
SABP_SABP_PDU_PR_successfulOutcome,
|
||||||
|
SABP_SABP_PDU_PR_unsuccessfulOutcome,
|
||||||
|
/* Extensions may appear below */
|
||||||
|
|
||||||
|
} SABP_SABP_PDU_PR;
|
||||||
|
|
||||||
|
/* SABP_SABP-PDU */
|
||||||
|
typedef struct SABP_SABP_PDU {
|
||||||
|
SABP_SABP_PDU_PR present;
|
||||||
|
union SABP_SABP_PDU_u {
|
||||||
|
SABP_InitiatingMessage_t initiatingMessage;
|
||||||
|
SABP_SuccessfulOutcome_t successfulOutcome;
|
||||||
|
SABP_UnsuccessfulOutcome_t unsuccessfulOutcome;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
} choice;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_SABP_PDU_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_SABP_PDU;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_SABP_PDU_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Serial_Number_H_
|
||||||
|
#define _SABP_Serial_Number_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <BIT_STRING.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Serial-Number */
|
||||||
|
typedef BIT_STRING_t SABP_Serial_Number_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Serial_Number;
|
||||||
|
asn_struct_free_f SABP_Serial_Number_free;
|
||||||
|
asn_struct_print_f SABP_Serial_Number_print;
|
||||||
|
asn_constr_check_f SABP_Serial_Number_constraint;
|
||||||
|
ber_type_decoder_f SABP_Serial_Number_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Serial_Number_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Serial_Number_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Serial_Number_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Serial_Number_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Serial_Number_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Serial_Number_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Serial_Number_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Serial_Number_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Service_Area_Identifier_H_
|
||||||
|
#define _SABP_Service_Area_Identifier_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <OCTET_STRING.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Service-Area-Identifier */
|
||||||
|
typedef struct SABP_Service_Area_Identifier {
|
||||||
|
OCTET_STRING_t pLMNidentity;
|
||||||
|
OCTET_STRING_t lac;
|
||||||
|
OCTET_STRING_t sac;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Service_Area_Identifier_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Service_Area_Identifier;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Service_Area_Identifier_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Service_Areas_List_H_
|
||||||
|
#define _SABP_Service_Areas_List_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_Service-Area-Identifier.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Service-Areas-List */
|
||||||
|
typedef struct SABP_Service_Areas_List {
|
||||||
|
A_SEQUENCE_OF(SABP_Service_Area_Identifier_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Service_Areas_List_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Service_Areas_List;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Service_Areas_List_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_SuccessfulOutcome_H_
|
||||||
|
#define _SABP_SuccessfulOutcome_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_ProcedureCode.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <ANY.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_SuccessfulOutcome */
|
||||||
|
typedef struct SABP_SuccessfulOutcome {
|
||||||
|
SABP_ProcedureCode_t procedureCode;
|
||||||
|
SABP_Criticality_t criticality;
|
||||||
|
ANY_t value;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_SuccessfulOutcome_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_SuccessfulOutcome;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_SuccessfulOutcome_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_TriggeringMessage_H_
|
||||||
|
#define _SABP_TriggeringMessage_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_TriggeringMessage {
|
||||||
|
SABP_TriggeringMessage_initiating_message = 0,
|
||||||
|
SABP_TriggeringMessage_successful_outcome = 1,
|
||||||
|
SABP_TriggeringMessage_unsuccessful_outcome = 2,
|
||||||
|
SABP_TriggeringMessage_outcome = 3
|
||||||
|
} e_SABP_TriggeringMessage;
|
||||||
|
|
||||||
|
/* SABP_TriggeringMessage */
|
||||||
|
typedef long SABP_TriggeringMessage_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_TriggeringMessage;
|
||||||
|
asn_struct_free_f SABP_TriggeringMessage_free;
|
||||||
|
asn_struct_print_f SABP_TriggeringMessage_print;
|
||||||
|
asn_constr_check_f SABP_TriggeringMessage_constraint;
|
||||||
|
ber_type_decoder_f SABP_TriggeringMessage_decode_ber;
|
||||||
|
der_type_encoder_f SABP_TriggeringMessage_encode_der;
|
||||||
|
xer_type_decoder_f SABP_TriggeringMessage_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_TriggeringMessage_encode_xer;
|
||||||
|
per_type_decoder_f SABP_TriggeringMessage_decode_uper;
|
||||||
|
per_type_encoder_f SABP_TriggeringMessage_encode_uper;
|
||||||
|
per_type_decoder_f SABP_TriggeringMessage_decode_aper;
|
||||||
|
per_type_encoder_f SABP_TriggeringMessage_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_TriggeringMessage_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_TypeOfError_H_
|
||||||
|
#define _SABP_TypeOfError_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <NativeEnumerated.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Dependencies */
|
||||||
|
typedef enum SABP_TypeOfError {
|
||||||
|
SABP_TypeOfError_not_understood = 0,
|
||||||
|
SABP_TypeOfError_missing = 1
|
||||||
|
/*
|
||||||
|
* Enumeration is extensible
|
||||||
|
*/
|
||||||
|
} e_SABP_TypeOfError;
|
||||||
|
|
||||||
|
/* SABP_TypeOfError */
|
||||||
|
typedef long SABP_TypeOfError_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_TypeOfError;
|
||||||
|
asn_struct_free_f SABP_TypeOfError_free;
|
||||||
|
asn_struct_print_f SABP_TypeOfError_print;
|
||||||
|
asn_constr_check_f SABP_TypeOfError_constraint;
|
||||||
|
ber_type_decoder_f SABP_TypeOfError_decode_ber;
|
||||||
|
der_type_encoder_f SABP_TypeOfError_encode_der;
|
||||||
|
xer_type_decoder_f SABP_TypeOfError_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_TypeOfError_encode_xer;
|
||||||
|
per_type_decoder_f SABP_TypeOfError_decode_uper;
|
||||||
|
per_type_encoder_f SABP_TypeOfError_encode_uper;
|
||||||
|
per_type_decoder_f SABP_TypeOfError_decode_aper;
|
||||||
|
per_type_encoder_f SABP_TypeOfError_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_TypeOfError_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_UnsuccessfulOutcome_H_
|
||||||
|
#define _SABP_UnsuccessfulOutcome_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_ProcedureCode.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <ANY.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_UnsuccessfulOutcome */
|
||||||
|
typedef struct SABP_UnsuccessfulOutcome {
|
||||||
|
SABP_ProcedureCode_t procedureCode;
|
||||||
|
SABP_Criticality_t criticality;
|
||||||
|
ANY_t value;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_UnsuccessfulOutcome_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_UnsuccessfulOutcome;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_UnsuccessfulOutcome_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Warning_Type_H_
|
||||||
|
#define _SABP_Warning_Type_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <OCTET_STRING.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Warning-Type */
|
||||||
|
typedef OCTET_STRING_t SABP_Warning_Type_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Warning_Type;
|
||||||
|
asn_struct_free_f SABP_Warning_Type_free;
|
||||||
|
asn_struct_print_f SABP_Warning_Type_print;
|
||||||
|
asn_constr_check_f SABP_Warning_Type_constraint;
|
||||||
|
ber_type_decoder_f SABP_Warning_Type_decode_ber;
|
||||||
|
der_type_encoder_f SABP_Warning_Type_encode_der;
|
||||||
|
xer_type_decoder_f SABP_Warning_Type_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_Warning_Type_encode_xer;
|
||||||
|
per_type_decoder_f SABP_Warning_Type_decode_uper;
|
||||||
|
per_type_encoder_f SABP_Warning_Type_encode_uper;
|
||||||
|
per_type_decoder_f SABP_Warning_Type_decode_aper;
|
||||||
|
per_type_encoder_f SABP_Warning_Type_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Warning_Type_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_WarningSecurityInfo_H_
|
||||||
|
#define _SABP_WarningSecurityInfo_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <OCTET_STRING.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_WarningSecurityInfo */
|
||||||
|
typedef OCTET_STRING_t SABP_WarningSecurityInfo_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_WarningSecurityInfo;
|
||||||
|
asn_struct_free_f SABP_WarningSecurityInfo_free;
|
||||||
|
asn_struct_print_f SABP_WarningSecurityInfo_print;
|
||||||
|
asn_constr_check_f SABP_WarningSecurityInfo_constraint;
|
||||||
|
ber_type_decoder_f SABP_WarningSecurityInfo_decode_ber;
|
||||||
|
der_type_encoder_f SABP_WarningSecurityInfo_encode_der;
|
||||||
|
xer_type_decoder_f SABP_WarningSecurityInfo_decode_xer;
|
||||||
|
xer_type_encoder_f SABP_WarningSecurityInfo_encode_xer;
|
||||||
|
per_type_decoder_f SABP_WarningSecurityInfo_decode_uper;
|
||||||
|
per_type_encoder_f SABP_WarningSecurityInfo_encode_uper;
|
||||||
|
per_type_decoder_f SABP_WarningSecurityInfo_decode_aper;
|
||||||
|
per_type_encoder_f SABP_WarningSecurityInfo_encode_aper;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_WarningSecurityInfo_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Write_Replace_Complete_H_
|
||||||
|
#define _SABP_Write_Replace_Complete_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Write-Replace-Complete */
|
||||||
|
typedef struct SABP_Write_Replace_Complete {
|
||||||
|
struct write_Replace_Complete_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} write_Replace_Complete_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Write_Replace_Complete_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Write_Replace_Complete;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Write_Replace_Complete_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Write_Replace_Failure_H_
|
||||||
|
#define _SABP_Write_Replace_Failure_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Write-Replace-Failure */
|
||||||
|
typedef struct SABP_Write_Replace_Failure {
|
||||||
|
struct write_Replace_Failure_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} write_Replace_Failure_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Write_Replace_Failure_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Write_Replace_Failure;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Write_Replace_Failure_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SABP_Write_Replace_H_
|
||||||
|
#define _SABP_Write_Replace_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <asn_application.h>
|
||||||
|
|
||||||
|
/* Including external dependencies */
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE_OF.h>
|
||||||
|
#include <constr_SEQUENCE.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SABP_Write-Replace */
|
||||||
|
typedef struct SABP_Write_Replace {
|
||||||
|
struct write_Replace_ies {
|
||||||
|
A_SEQUENCE_OF(SABP_IE_t) list;
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} write_Replace_ies;
|
||||||
|
/*
|
||||||
|
* This type is extensible,
|
||||||
|
* possible extensions are below.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Context for parsing across buffer boundaries */
|
||||||
|
asn_struct_ctx_t _asn_ctx;
|
||||||
|
} SABP_Write_Replace_t;
|
||||||
|
|
||||||
|
/* Implementation */
|
||||||
|
extern asn_TYPE_descriptor_t asn_DEF_SABP_Write_Replace;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _SABP_Write_Replace_H_ */
|
||||||
|
#include <asn_internal.h>
|
|
@ -0,0 +1,104 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <asn1c/asn_application.h>
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Available-Bandwidth.h>
|
||||||
|
#include <osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h>
|
||||||
|
#include <osmocom/sabp/SABP_Broadcast-Message-Content.h>
|
||||||
|
#include <osmocom/sabp/SABP_Category.h>
|
||||||
|
#include <osmocom/sabp/SABP_Cause.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality-Diagnostics.h>
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
#include <osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h>
|
||||||
|
#include <osmocom/sabp/SABP_Data-Coding-Scheme.h>
|
||||||
|
#include <osmocom/sabp/SABP_Error-Indication.h>
|
||||||
|
#include <osmocom/sabp/SABP_Failure-List-Item.h>
|
||||||
|
#include <osmocom/sabp/SABP_Failure-List.h>
|
||||||
|
#include <osmocom/sabp/SABP_Failure.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
#include <osmocom/sabp/SABP_InitiatingMessage.h>
|
||||||
|
#include <osmocom/sabp/SABP_Kill-Complete.h>
|
||||||
|
#include <osmocom/sabp/SABP_Kill-Failure.h>
|
||||||
|
#include <osmocom/sabp/SABP_Kill.h>
|
||||||
|
#include <osmocom/sabp/SABP_Load-Query-Complete.h>
|
||||||
|
#include <osmocom/sabp/SABP_Load-Query-Failure.h>
|
||||||
|
#include <osmocom/sabp/SABP_Load-Query.h>
|
||||||
|
#include <osmocom/sabp/SABP_Message-Identifier.h>
|
||||||
|
#include <osmocom/sabp/SABP_Message-Status-Query-Complete.h>
|
||||||
|
#include <osmocom/sabp/SABP_Message-Status-Query-Failure.h>
|
||||||
|
#include <osmocom/sabp/SABP_Message-Status-Query.h>
|
||||||
|
#include <osmocom/sabp/SABP_MessageStructure.h>
|
||||||
|
#include <osmocom/sabp/SABP_New-Serial-Number.h>
|
||||||
|
#include <osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h>
|
||||||
|
#include <osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h>
|
||||||
|
#include <osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List.h>
|
||||||
|
#include <osmocom/sabp/SABP_Number-of-Broadcasts-Requested.h>
|
||||||
|
#include <osmocom/sabp/SABP_Old-Serial-Number.h>
|
||||||
|
#include <osmocom/sabp/SABP_Paging-ETWS-Indicator.h>
|
||||||
|
#include <osmocom/sabp/SABP_Presence.h>
|
||||||
|
#include <osmocom/sabp/SABP_ProcedureCode.h>
|
||||||
|
#include <osmocom/sabp/SABP_ProtocolExtensionID.h>
|
||||||
|
#include <osmocom/sabp/SABP_ProtocolIE-ID.h>
|
||||||
|
#include <osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h>
|
||||||
|
#include <osmocom/sabp/SABP_Radio-Resource-Loading-List.h>
|
||||||
|
#include <osmocom/sabp/SABP_Recovery-Indication.h>
|
||||||
|
#include <osmocom/sabp/SABP_Repetition-Period.h>
|
||||||
|
#include <osmocom/sabp/SABP_RepetitionNumber0.h>
|
||||||
|
#include <osmocom/sabp/SABP_RepetitionNumber1.h>
|
||||||
|
#include <osmocom/sabp/SABP_Reset-Complete.h>
|
||||||
|
#include <osmocom/sabp/SABP_Reset-Failure.h>
|
||||||
|
#include <osmocom/sabp/SABP_Reset.h>
|
||||||
|
#include <osmocom/sabp/SABP_Restart.h>
|
||||||
|
#include <osmocom/sabp/SABP_SABP-PDU.h>
|
||||||
|
#include <osmocom/sabp/SABP_Serial-Number.h>
|
||||||
|
#include <osmocom/sabp/SABP_Service-Area-Identifier.h>
|
||||||
|
#include <osmocom/sabp/SABP_Service-Areas-List.h>
|
||||||
|
#include <osmocom/sabp/SABP_SuccessfulOutcome.h>
|
||||||
|
#include <osmocom/sabp/SABP_TriggeringMessage.h>
|
||||||
|
#include <osmocom/sabp/SABP_TypeOfError.h>
|
||||||
|
#include <osmocom/sabp/SABP_UnsuccessfulOutcome.h>
|
||||||
|
#include <osmocom/sabp/SABP_Warning-Type.h>
|
||||||
|
#include <osmocom/sabp/SABP_WarningSecurityInfo.h>
|
||||||
|
#include <osmocom/sabp/SABP_Write-Replace-Complete.h>
|
||||||
|
#include <osmocom/sabp/SABP_Write-Replace-Failure.h>
|
||||||
|
#include <osmocom/sabp/SABP_Write-Replace.h>
|
||||||
|
|
||||||
|
#if (ASN1C_ENVIRONMENT_VERSION < 924)
|
||||||
|
# error "You are compiling with the wrong version of ASN1C"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <osmocom/core/logging.h>
|
||||||
|
#include <osmocom/core/utils.h>
|
||||||
|
#include <osmocom/sabp/sabp_ies_defs.h>
|
||||||
|
|
||||||
|
#define SABP_DEBUG(x, args ...) DEBUGP(_sabp_DSABP, x, ## args)
|
||||||
|
extern int _sabp_DSABP;
|
||||||
|
|
||||||
|
extern int asn1_xer_print;
|
||||||
|
|
||||||
|
extern const struct value_string sabp_presence_vals[];
|
||||||
|
extern const struct value_string sabp_procedure_code_vals[];
|
||||||
|
extern const struct value_string sabp_cause_vals[];
|
||||||
|
|
||||||
|
struct msgb *sabp_generate_initiating_message(e_SABP_ProcedureCode procedureCode,
|
||||||
|
SABP_Criticality_t criticality,
|
||||||
|
asn_TYPE_descriptor_t *td, void *sptr);
|
||||||
|
|
||||||
|
struct msgb *sabp_generate_successful_outcome(
|
||||||
|
e_SABP_ProcedureCode procedureCode,
|
||||||
|
SABP_Criticality_t criticality,
|
||||||
|
asn_TYPE_descriptor_t * td,
|
||||||
|
void *sptr);
|
||||||
|
|
||||||
|
struct msgb *sabp_generate_unsuccessful_outcome(
|
||||||
|
e_SABP_ProcedureCode procedureCode,
|
||||||
|
SABP_Criticality_t criticality,
|
||||||
|
asn_TYPE_descriptor_t * td,
|
||||||
|
void *sptr);
|
||||||
|
|
||||||
|
SABP_IE_t *sabp_new_ie(SABP_ProtocolIE_ID_t id,
|
||||||
|
SABP_Criticality_t criticality,
|
||||||
|
asn_TYPE_descriptor_t * type, void *sptr);
|
||||||
|
|
||||||
|
void sabp_set_log_area(int log_area);
|
|
@ -0,0 +1,10 @@
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: Osmocom SABP protocol library
|
||||||
|
Description: C Utility Library
|
||||||
|
Version: @VERSION@
|
||||||
|
Libs: -L${libdir} -losmo-sabp
|
||||||
|
Cflags: -I${includedir}/
|
|
@ -7,4 +7,7 @@ rua_encoder.c
|
||||||
ranap_decoder.c
|
ranap_decoder.c
|
||||||
ranap_encoder.c
|
ranap_encoder.c
|
||||||
|
|
||||||
|
sabp_decoder.c
|
||||||
|
sabp_encoder.c
|
||||||
|
|
||||||
hnbgw
|
hnbgw
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
SUBDIRS = hnbap rua ranap tests
|
SUBDIRS = hnbap rua ranap sabp tests
|
||||||
|
|
||||||
# Build {hnbap,rua,ranap}_{encoder,decoder}.c using asn1tostruct
|
# Build {hnbap,rua,ranap}_{encoder,decoder}.c using asn1tostruct
|
||||||
ASN1_ROOT = $(top_srcdir)/asn1
|
ASN1_ROOT = $(top_srcdir)/asn1
|
||||||
ASN1TOSTRUCT = $(ASN1_ROOT)/utils/asn1tostruct.py
|
ASN1TOSTRUCT = $(ASN1_ROOT)/utils/asn1tostruct.py
|
||||||
BUILT_SOURCES = hnbap_decoder.c hnbap_encoder.c rua_decoder.c rua_encoder.c \
|
BUILT_SOURCES = hnbap_decoder.c hnbap_encoder.c rua_decoder.c rua_encoder.c sabp_encoder.c sabp_decoder.c \
|
||||||
gen_hnbap.stamp gen_rua.stamp gen_ranap.stamp
|
gen_hnbap.stamp gen_rua.stamp gen_ranap.stamp gen_sabp.stamp
|
||||||
|
|
||||||
gen_hnbap.stamp: $(ASN1_ROOT)/hnbap/HNBAP-PDU-Contents.asn $(ASN1TOSTRUCT)
|
gen_hnbap.stamp: $(ASN1_ROOT)/hnbap/HNBAP-PDU-Contents.asn $(ASN1TOSTRUCT)
|
||||||
$(ASN1TOSTRUCT) -f $<
|
$(ASN1TOSTRUCT) -f $<
|
||||||
|
@ -42,20 +42,40 @@ gen_ranap.stamp: $(ASN1_ROOT)/ranap/RANAP-PDU-Contents.asn $(ASN1TOSTRUCT)
|
||||||
|
|
||||||
ranap_decoder.c ranap_encoder.c: gen_ranap.stamp
|
ranap_decoder.c ranap_encoder.c: gen_ranap.stamp
|
||||||
|
|
||||||
|
gen_sabp.stamp: $(ASN1_ROOT)/sabp/SABP-PDU-Contents.asn $(ASN1TOSTRUCT)
|
||||||
|
$(ASN1TOSTRUCT) -p SABP_ -f $<
|
||||||
|
# We also need to replace the include in the newly generated .c files:
|
||||||
|
sed -i 's,^#include "sabp_ies_defs.h",#include <osmocom/sabp/sabp_ies_defs.h>,' sabp_encoder.c sabp_decoder.c
|
||||||
|
sed -i 's,^#include "sabp_common.h",#include <osmocom/sabp/sabp_common.h>,' sabp_encoder.c sabp_decoder.c sabp_ies_defs.h
|
||||||
|
mv sabp_ies_defs.h $(top_builddir)/include/osmocom/sabp/
|
||||||
|
# this is ugly ^. sabp_ies_defs.h is generated from asn1tostruct.py here, but
|
||||||
|
# it should live in include/osmocom/sabp/.
|
||||||
|
touch $(top_builddir)/src/$@
|
||||||
|
|
||||||
|
sabp_decoder.c sabp_encoder.c: gen_sabp.stamp
|
||||||
|
|
||||||
|
|
||||||
AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include \
|
AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include \
|
||||||
$(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOCTRL_CFLAGS) $(OSMOGSM_CFLAGS) \
|
$(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOCTRL_CFLAGS) $(OSMOGSM_CFLAGS) \
|
||||||
$(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS)
|
$(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS)
|
||||||
|
|
||||||
# build the shared RANAP library
|
# build the shared RANAP + SABP library
|
||||||
#
|
#
|
||||||
RANAP_LIBVERSION=2:2:0
|
RANAP_LIBVERSION=2:2:0
|
||||||
lib_LTLIBRARIES = libosmo-ranap.la
|
SABP_LIBVERSION=0:0:0
|
||||||
|
lib_LTLIBRARIES = libosmo-ranap.la libosmo-sabp.la
|
||||||
libosmo_ranap_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RANAP_LIBVERSION)
|
libosmo_ranap_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RANAP_LIBVERSION)
|
||||||
libosmo_ranap_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOVTY_LIBS) $(OSMOSIGTRAN_LIBS) \
|
libosmo_ranap_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOVTY_LIBS) $(OSMOSIGTRAN_LIBS) \
|
||||||
$(ASN1C_LIBS) ranap/libosmo-asn1-ranap.la
|
$(ASN1C_LIBS) ranap/libosmo-asn1-ranap.la
|
||||||
libosmo_ranap_la_SOURCES = ranap_common.c ranap_encoder.c ranap_decoder.c ranap_msg_factory.c iu_helpers.c \
|
libosmo_ranap_la_SOURCES = ranap_common.c ranap_encoder.c ranap_decoder.c ranap_msg_factory.c iu_helpers.c \
|
||||||
ranap_common_cn.c iu_client.c iu_client_vty.c
|
ranap_common_cn.c iu_client.c iu_client_vty.c
|
||||||
|
|
||||||
|
libosmo_sabp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(SABP_LIBVERSION)
|
||||||
|
libosmo_sabp_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOVTY_LIBS) $(OSMOSIGTRAN_LIBS) \
|
||||||
|
$(ASN1C_LIBS) sabp/libosmo-asn1-sabp.la
|
||||||
|
libosmo_sabp_la_SOURCES = sabp_common.c sabp_encoder.c sabp_decoder.c
|
||||||
|
|
||||||
|
|
||||||
# build the actual HomeNodeB gateway
|
# build the actual HomeNodeB gateway
|
||||||
#
|
#
|
||||||
bin_PROGRAMS = osmo-hnbgw
|
bin_PROGRAMS = osmo-hnbgw
|
||||||
|
@ -80,6 +100,7 @@ regenerate-from-asn1-source:
|
||||||
$(MAKE) -C hnbap regen
|
$(MAKE) -C hnbap regen
|
||||||
$(MAKE) -C ranap regen
|
$(MAKE) -C ranap regen
|
||||||
$(MAKE) -C rua regen
|
$(MAKE) -C rua regen
|
||||||
|
$(MAKE) -C sabp regen
|
||||||
|
|
||||||
DISTCLEANFILES = \
|
DISTCLEANFILES = \
|
||||||
hnbap_decoder.c \
|
hnbap_decoder.c \
|
||||||
|
@ -88,6 +109,9 @@ DISTCLEANFILES = \
|
||||||
rua_encoder.c \
|
rua_encoder.c \
|
||||||
ranap_decoder.c \
|
ranap_decoder.c \
|
||||||
ranap_encoder.c \
|
ranap_encoder.c \
|
||||||
|
sabp_decoder.c \
|
||||||
|
sabp_encoder.c \
|
||||||
gen_hnbap.stamp \
|
gen_hnbap.stamp \
|
||||||
gen_rua.stamp \
|
gen_rua.stamp \
|
||||||
gen_ranap.stamp
|
gen_ranap.stamp \
|
||||||
|
gen_sabp.stamp
|
||||||
|
|
|
@ -0,0 +1,148 @@
|
||||||
|
ASN_MODULE_SRC= \
|
||||||
|
SABP_InitiatingMessage.c \
|
||||||
|
SABP_SABP-PDU.c \
|
||||||
|
SABP_SuccessfulOutcome.c \
|
||||||
|
SABP_UnsuccessfulOutcome.c \
|
||||||
|
SABP_Criticality.c \
|
||||||
|
SABP_Presence.c \
|
||||||
|
SABP_ProcedureCode.c \
|
||||||
|
SABP_ProtocolExtensionID.c \
|
||||||
|
SABP_ProtocolIE-ID.c \
|
||||||
|
SABP_TriggeringMessage.c \
|
||||||
|
SABP_IE-Extensions.c \
|
||||||
|
SABP_Available-Bandwidth.c \
|
||||||
|
SABP_Broadcast-Message-Content.c \
|
||||||
|
SABP_Broadcast-Message-Content-Validity-Indicator.c \
|
||||||
|
SABP_Category.c \
|
||||||
|
SABP_Cause.c \
|
||||||
|
SABP_Criticality-Diagnostics.c \
|
||||||
|
SABP_CriticalityDiagnostics-IE-List.c \
|
||||||
|
SABP_MessageStructure.c \
|
||||||
|
SABP_Data-Coding-Scheme.c \
|
||||||
|
SABP_Failure-List.c \
|
||||||
|
SABP_Failure-List-Item.c \
|
||||||
|
SABP_Message-Identifier.c \
|
||||||
|
SABP_New-Serial-Number.c \
|
||||||
|
SABP_Number-of-Broadcasts-Completed-List.c \
|
||||||
|
SABP_Number-of-Broadcasts-Completed-List-Item.c \
|
||||||
|
SABP_Number-Of-Broadcasts-Completed-Info.c \
|
||||||
|
SABP_Number-of-Broadcasts-Requested.c \
|
||||||
|
SABP_Old-Serial-Number.c \
|
||||||
|
SABP_Paging-ETWS-Indicator.c \
|
||||||
|
SABP_Radio-Resource-Loading-List.c \
|
||||||
|
SABP_Radio-Resource-Loading-List-Item.c \
|
||||||
|
SABP_Recovery-Indication.c \
|
||||||
|
SABP_RepetitionNumber0.c \
|
||||||
|
SABP_RepetitionNumber1.c \
|
||||||
|
SABP_Repetition-Period.c \
|
||||||
|
SABP_Serial-Number.c \
|
||||||
|
SABP_Service-Area-Identifier.c \
|
||||||
|
SABP_Service-Areas-List.c \
|
||||||
|
SABP_TypeOfError.c \
|
||||||
|
SABP_WarningSecurityInfo.c \
|
||||||
|
SABP_Warning-Type.c \
|
||||||
|
SABP_Write-Replace.c \
|
||||||
|
SABP_Write-Replace-Complete.c \
|
||||||
|
SABP_Write-Replace-Failure.c \
|
||||||
|
SABP_Kill.c \
|
||||||
|
SABP_Kill-Complete.c \
|
||||||
|
SABP_Kill-Failure.c \
|
||||||
|
SABP_Load-Query.c \
|
||||||
|
SABP_Load-Query-Complete.c \
|
||||||
|
SABP_Load-Query-Failure.c \
|
||||||
|
SABP_Message-Status-Query.c \
|
||||||
|
SABP_Message-Status-Query-Complete.c \
|
||||||
|
SABP_Message-Status-Query-Failure.c \
|
||||||
|
SABP_Reset.c \
|
||||||
|
SABP_Reset-Complete.c \
|
||||||
|
SABP_Reset-Failure.c \
|
||||||
|
SABP_Restart.c \
|
||||||
|
SABP_Failure.c \
|
||||||
|
SABP_Error-Indication.c \
|
||||||
|
SABP_IE.c \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
ASN_MODULE_INC= \
|
||||||
|
SABP_InitiatingMessage.h \
|
||||||
|
SABP_SABP-PDU.h \
|
||||||
|
SABP_SuccessfulOutcome.h \
|
||||||
|
SABP_UnsuccessfulOutcome.h \
|
||||||
|
SABP_Criticality.h \
|
||||||
|
SABP_Presence.h \
|
||||||
|
SABP_ProcedureCode.h \
|
||||||
|
SABP_ProtocolExtensionID.h \
|
||||||
|
SABP_ProtocolIE-ID.h \
|
||||||
|
SABP_TriggeringMessage.h \
|
||||||
|
SABP_IE-Extensions.h \
|
||||||
|
SABP_Available-Bandwidth.h \
|
||||||
|
SABP_Broadcast-Message-Content.h \
|
||||||
|
SABP_Broadcast-Message-Content-Validity-Indicator.h \
|
||||||
|
SABP_Category.h \
|
||||||
|
SABP_Cause.h \
|
||||||
|
SABP_Criticality-Diagnostics.h \
|
||||||
|
SABP_CriticalityDiagnostics-IE-List.h \
|
||||||
|
SABP_MessageStructure.h \
|
||||||
|
SABP_Data-Coding-Scheme.h \
|
||||||
|
SABP_Failure-List.h \
|
||||||
|
SABP_Failure-List-Item.h \
|
||||||
|
SABP_Message-Identifier.h \
|
||||||
|
SABP_New-Serial-Number.h \
|
||||||
|
SABP_Number-of-Broadcasts-Completed-List.h \
|
||||||
|
SABP_Number-of-Broadcasts-Completed-List-Item.h \
|
||||||
|
SABP_Number-Of-Broadcasts-Completed-Info.h \
|
||||||
|
SABP_Number-of-Broadcasts-Requested.h \
|
||||||
|
SABP_Old-Serial-Number.h \
|
||||||
|
SABP_Paging-ETWS-Indicator.h \
|
||||||
|
SABP_Radio-Resource-Loading-List.h \
|
||||||
|
SABP_Radio-Resource-Loading-List-Item.h \
|
||||||
|
SABP_Recovery-Indication.h \
|
||||||
|
SABP_RepetitionNumber0.h \
|
||||||
|
SABP_RepetitionNumber1.h \
|
||||||
|
SABP_Repetition-Period.h \
|
||||||
|
SABP_Serial-Number.h \
|
||||||
|
SABP_Service-Area-Identifier.h \
|
||||||
|
SABP_Service-Areas-List.h \
|
||||||
|
SABP_TypeOfError.h \
|
||||||
|
SABP_WarningSecurityInfo.h \
|
||||||
|
SABP_Warning-Type.h \
|
||||||
|
SABP_Write-Replace.h \
|
||||||
|
SABP_Write-Replace-Complete.h \
|
||||||
|
SABP_Write-Replace-Failure.h \
|
||||||
|
SABP_Kill.h \
|
||||||
|
SABP_Kill-Complete.h \
|
||||||
|
SABP_Kill-Failure.h \
|
||||||
|
SABP_Load-Query.h \
|
||||||
|
SABP_Load-Query-Complete.h \
|
||||||
|
SABP_Load-Query-Failure.h \
|
||||||
|
SABP_Message-Status-Query.h \
|
||||||
|
SABP_Message-Status-Query-Complete.h \
|
||||||
|
SABP_Message-Status-Query-Failure.h \
|
||||||
|
SABP_Reset.h \
|
||||||
|
SABP_Reset-Complete.h \
|
||||||
|
SABP_Reset-Failure.h \
|
||||||
|
SABP_Restart.h \
|
||||||
|
SABP_Failure.h \
|
||||||
|
SABP_Error-Indication.h \
|
||||||
|
SABP_IE.h \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
AM_CFLAGS = -I$(top_srcdir)/include $(ASN1C_CFLAGS) $(OSMOCORE_CFLAGS)
|
||||||
|
|
||||||
|
noinst_LTLIBRARIES=libosmo-asn1-sabp.la
|
||||||
|
libosmo_asn1_sabp_la_SOURCES=$(ASN_MODULE_SRC)
|
||||||
|
libosmo_asn1_sabp_la_LIBADD=$(ASN1C_LDADD)
|
||||||
|
|
||||||
|
regen: regenerate-from-asn1-source
|
||||||
|
|
||||||
|
regenerate-from-asn1-source:
|
||||||
|
ASN1C_PREFIX="SABP_" asn1c -gen-PER $(top_srcdir)/asn1/sabp/SABP-CommonDataTypes.asn $(top_srcdir)/asn1/sabp/SABP-Constants.asn $(top_srcdir)/asn1/sabp/SABP-IEs.asn $(top_srcdir)/asn1/sabp/SABP-PDU.asn
|
||||||
|
# remove the local copy of the runtime code
|
||||||
|
@rm ANY.* INTEGER.* NativeEnumerated.* NativeInteger.* asn_* OCTET_STRING.* converter-sample.c per_* xer_* constr* der_* ber_* BIT_STRING.*
|
||||||
|
# change include style to `#include <dir/foo.h>'
|
||||||
|
sed -i 's/Member/MemberA/' SABP_MessageStructure.[ch]
|
||||||
|
sed -i 's/Member/MemberB/' SABP_Criticality-Diagnostics.[ch]
|
||||||
|
# add missing includes
|
||||||
|
sed -i '/#include "SABP_Serial-Number.h"/a #include <constr_CHOICE.h>' SABP_Old-Serial-Number.h SABP_New-Serial-Number.h
|
||||||
|
# change include style to `#include <dir/foo.h>'
|
||||||
|
$(top_srcdir)/move-asn1-header-files.sh osmocom/sabp $(ASN_MODULE_INC)
|
||||||
|
|
|
@ -0,0 +1,165 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Available-Bandwidth.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Available_Bandwidth_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 <= 20480l)) {
|
||||||
|
/* 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
|
||||||
|
SABP_Available_Bandwidth_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
|
||||||
|
SABP_Available_Bandwidth_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Available_Bandwidth_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Available_Bandwidth_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) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Available_Bandwidth_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) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Available_Bandwidth_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) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Available_Bandwidth_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) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Available_Bandwidth_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) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Available_Bandwidth_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Available_Bandwidth_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Available_Bandwidth_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Available_Bandwidth_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) {
|
||||||
|
SABP_Available_Bandwidth_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_SABP_Available_Bandwidth_constr_1 GCC_NOTUSED = {
|
||||||
|
{ APC_CONSTRAINED, 15, 15, 0l, 20480l } /* (0..20480) */,
|
||||||
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||||
|
0, 0 /* No PER value map */
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Available_Bandwidth_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Available_Bandwidth = {
|
||||||
|
"SABP_Available-Bandwidth",
|
||||||
|
"SABP_Available-Bandwidth",
|
||||||
|
SABP_Available_Bandwidth_free,
|
||||||
|
SABP_Available_Bandwidth_print,
|
||||||
|
SABP_Available_Bandwidth_constraint,
|
||||||
|
SABP_Available_Bandwidth_decode_ber,
|
||||||
|
SABP_Available_Bandwidth_encode_der,
|
||||||
|
SABP_Available_Bandwidth_decode_xer,
|
||||||
|
SABP_Available_Bandwidth_encode_xer,
|
||||||
|
SABP_Available_Bandwidth_decode_uper,
|
||||||
|
SABP_Available_Bandwidth_encode_uper,
|
||||||
|
SABP_Available_Bandwidth_decode_aper,
|
||||||
|
SABP_Available_Bandwidth_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Available_Bandwidth_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Available_Bandwidth_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Available_Bandwidth_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Available_Bandwidth_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Available_Bandwidth_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Available_Bandwidth_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Available_Bandwidth_constr_1,
|
||||||
|
0, 0, /* No members */
|
||||||
|
0 /* No specifics */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,165 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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) {
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_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_SABP_Broadcast_Message_Content_Validity_Indicator_constr_1 GCC_NOTUSED = {
|
||||||
|
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
|
||||||
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||||
|
0, 0 /* No PER value map */
|
||||||
|
};
|
||||||
|
static const asn_INTEGER_enum_map_t asn_MAP_SABP_Broadcast_Message_Content_Validity_Indicator_value2enum_1[] = {
|
||||||
|
{ 0, 35, "broadcast-Message-Content-not-valid" }
|
||||||
|
/* This list is extensible */
|
||||||
|
};
|
||||||
|
static const unsigned int asn_MAP_SABP_Broadcast_Message_Content_Validity_Indicator_enum2value_1[] = {
|
||||||
|
0 /* broadcast-Message-Content-not-valid(0) */
|
||||||
|
/* This list is extensible */
|
||||||
|
};
|
||||||
|
static const asn_INTEGER_specifics_t asn_SPC_SABP_Broadcast_Message_Content_Validity_Indicator_specs_1 = {
|
||||||
|
asn_MAP_SABP_Broadcast_Message_Content_Validity_Indicator_value2enum_1, /* "tag" => N; sorted by tag */
|
||||||
|
asn_MAP_SABP_Broadcast_Message_Content_Validity_Indicator_enum2value_1, /* N => "tag"; sorted by N */
|
||||||
|
1, /* Number of elements in the maps */
|
||||||
|
2, /* Extensions before this member */
|
||||||
|
1, /* Strict enumeration */
|
||||||
|
0, /* Native long size */
|
||||||
|
0
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator = {
|
||||||
|
"SABP_Broadcast-Message-Content-Validity-Indicator",
|
||||||
|
"SABP_Broadcast-Message-Content-Validity-Indicator",
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_free,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_print,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_constraint,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_decode_ber,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_encode_der,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_decode_xer,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_encode_xer,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_decode_uper,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_encode_uper,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_decode_aper,
|
||||||
|
SABP_Broadcast_Message_Content_Validity_Indicator_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Broadcast_Message_Content_Validity_Indicator_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Broadcast_Message_Content_Validity_Indicator_constr_1,
|
||||||
|
0, 0, /* Defined elsewhere */
|
||||||
|
&asn_SPC_SABP_Broadcast_Message_Content_Validity_Indicator_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Broadcast-Message-Content.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Broadcast_Message_Content_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 >= 1l && size <= 9968l)) {
|
||||||
|
/* 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
|
||||||
|
SABP_Broadcast_Message_Content_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
|
||||||
|
SABP_Broadcast_Message_Content_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Broadcast_Message_Content_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_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) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_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) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_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) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_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) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_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) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Broadcast_Message_Content_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Broadcast_Message_Content_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) {
|
||||||
|
SABP_Broadcast_Message_Content_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_SABP_Broadcast_Message_Content_constr_1 GCC_NOTUSED = {
|
||||||
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||||
|
{ APC_CONSTRAINED, 14, 14, 1l, 9968l } /* (SIZE(1..9968)) */,
|
||||||
|
0, 0 /* No PER value map */
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Broadcast_Message_Content_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Broadcast_Message_Content = {
|
||||||
|
"SABP_Broadcast-Message-Content",
|
||||||
|
"SABP_Broadcast-Message-Content",
|
||||||
|
SABP_Broadcast_Message_Content_free,
|
||||||
|
SABP_Broadcast_Message_Content_print,
|
||||||
|
SABP_Broadcast_Message_Content_constraint,
|
||||||
|
SABP_Broadcast_Message_Content_decode_ber,
|
||||||
|
SABP_Broadcast_Message_Content_encode_der,
|
||||||
|
SABP_Broadcast_Message_Content_decode_xer,
|
||||||
|
SABP_Broadcast_Message_Content_encode_xer,
|
||||||
|
SABP_Broadcast_Message_Content_decode_uper,
|
||||||
|
SABP_Broadcast_Message_Content_encode_uper,
|
||||||
|
SABP_Broadcast_Message_Content_decode_aper,
|
||||||
|
SABP_Broadcast_Message_Content_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Broadcast_Message_Content_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Broadcast_Message_Content_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Broadcast_Message_Content_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Broadcast_Message_Content_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Broadcast_Message_Content_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Broadcast_Message_Content_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Broadcast_Message_Content_constr_1,
|
||||||
|
0, 0, /* No members */
|
||||||
|
0 /* No specifics */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Category.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Category_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
|
||||||
|
SABP_Category_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
|
||||||
|
SABP_Category_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Category_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Category_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) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Category_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) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Category_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) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Category_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) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Category_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) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Category_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Category_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Category_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Category_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) {
|
||||||
|
SABP_Category_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_SABP_Category_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_SABP_Category_value2enum_1[] = {
|
||||||
|
{ 0, 13, "high-priority" },
|
||||||
|
{ 1, 19, "background-priority" },
|
||||||
|
{ 2, 15, "normal-priority" },
|
||||||
|
{ 3, 16, "default-priority" }
|
||||||
|
/* This list is extensible */
|
||||||
|
};
|
||||||
|
static const unsigned int asn_MAP_SABP_Category_enum2value_1[] = {
|
||||||
|
1, /* background-priority(1) */
|
||||||
|
3, /* default-priority(3) */
|
||||||
|
0, /* high-priority(0) */
|
||||||
|
2 /* normal-priority(2) */
|
||||||
|
/* This list is extensible */
|
||||||
|
};
|
||||||
|
static const asn_INTEGER_specifics_t asn_SPC_SABP_Category_specs_1 = {
|
||||||
|
asn_MAP_SABP_Category_value2enum_1, /* "tag" => N; sorted by tag */
|
||||||
|
asn_MAP_SABP_Category_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_SABP_Category_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Category = {
|
||||||
|
"SABP_Category",
|
||||||
|
"SABP_Category",
|
||||||
|
SABP_Category_free,
|
||||||
|
SABP_Category_print,
|
||||||
|
SABP_Category_constraint,
|
||||||
|
SABP_Category_decode_ber,
|
||||||
|
SABP_Category_encode_der,
|
||||||
|
SABP_Category_decode_xer,
|
||||||
|
SABP_Category_encode_xer,
|
||||||
|
SABP_Category_decode_uper,
|
||||||
|
SABP_Category_encode_uper,
|
||||||
|
SABP_Category_decode_aper,
|
||||||
|
SABP_Category_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Category_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Category_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Category_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Category_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Category_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Category_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Category_constr_1,
|
||||||
|
0, 0, /* Defined elsewhere */
|
||||||
|
&asn_SPC_SABP_Category_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,165 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Cause.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Cause_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
|
||||||
|
SABP_Cause_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
|
||||||
|
SABP_Cause_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Cause_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Cause_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Cause_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_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_SABP_Cause_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_SABP_Cause_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Cause = {
|
||||||
|
"SABP_Cause",
|
||||||
|
"SABP_Cause",
|
||||||
|
SABP_Cause_free,
|
||||||
|
SABP_Cause_print,
|
||||||
|
SABP_Cause_constraint,
|
||||||
|
SABP_Cause_decode_ber,
|
||||||
|
SABP_Cause_encode_der,
|
||||||
|
SABP_Cause_decode_xer,
|
||||||
|
SABP_Cause_encode_xer,
|
||||||
|
SABP_Cause_decode_uper,
|
||||||
|
SABP_Cause_encode_uper,
|
||||||
|
SABP_Cause_decode_aper,
|
||||||
|
SABP_Cause_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Cause_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Cause_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Cause_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Cause_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Cause_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Cause_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Cause_constr_1,
|
||||||
|
0, 0, /* Defined elsewhere */
|
||||||
|
0 /* No specifics */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,103 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Criticality-Diagnostics.h>
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Criticality_Diagnostics_1[] = {
|
||||||
|
{ ATF_POINTER, 5, offsetof(struct SABP_Criticality_Diagnostics, procedureCode),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_ProcedureCode,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"procedureCode"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 4, offsetof(struct SABP_Criticality_Diagnostics, triggeringMessage),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_TriggeringMessage,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"triggeringMessage"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 3, offsetof(struct SABP_Criticality_Diagnostics, procedureCriticality),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_Criticality,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"procedureCriticality"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 2, offsetof(struct SABP_Criticality_Diagnostics, iEsCriticalityDiagnostics),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_CriticalityDiagnostics_IE_List,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"iEsCriticalityDiagnostics"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 1, offsetof(struct SABP_Criticality_Diagnostics, iE_Extensions),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_IE_Extensions,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"iE-Extensions"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const int asn_MAP_SABP_Criticality_Diagnostics_oms_1[] = { 0, 1, 2, 3, 4 };
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Criticality_Diagnostics_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Criticality_Diagnostics_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_SABP_Criticality_Diagnostics_specs_1 = {
|
||||||
|
sizeof(struct SABP_Criticality_Diagnostics),
|
||||||
|
offsetof(struct SABP_Criticality_Diagnostics, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Criticality_Diagnostics_tag2el_1,
|
||||||
|
5, /* Count of tags in the map */
|
||||||
|
asn_MAP_SABP_Criticality_Diagnostics_oms_1, /* Optional members */
|
||||||
|
5, 0, /* Root/Additions */
|
||||||
|
4, /* Start extensions */
|
||||||
|
6 /* Stop extensions */
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Criticality_Diagnostics = {
|
||||||
|
"SABP_Criticality-Diagnostics",
|
||||||
|
"SABP_Criticality-Diagnostics",
|
||||||
|
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_SABP_Criticality_Diagnostics_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Criticality_Diagnostics_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Criticality_Diagnostics_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Criticality_Diagnostics_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Criticality_Diagnostics_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Criticality_Diagnostics_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Criticality_Diagnostics_1,
|
||||||
|
5, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Criticality_Diagnostics_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,167 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-CommonDataTypes"
|
||||||
|
* found in "../../asn1/sabp/SABP-CommonDataTypes.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Criticality.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_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
|
||||||
|
SABP_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
|
||||||
|
SABP_Criticality_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Criticality_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Criticality_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Criticality_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Criticality_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_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) {
|
||||||
|
SABP_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_SABP_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_SABP_Criticality_value2enum_1[] = {
|
||||||
|
{ 0, 6, "reject" },
|
||||||
|
{ 1, 6, "ignore" },
|
||||||
|
{ 2, 6, "notify" }
|
||||||
|
};
|
||||||
|
static const unsigned int asn_MAP_SABP_Criticality_enum2value_1[] = {
|
||||||
|
1, /* ignore(1) */
|
||||||
|
2, /* notify(2) */
|
||||||
|
0 /* reject(0) */
|
||||||
|
};
|
||||||
|
static const asn_INTEGER_specifics_t asn_SPC_SABP_Criticality_specs_1 = {
|
||||||
|
asn_MAP_SABP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */
|
||||||
|
asn_MAP_SABP_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_SABP_Criticality_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Criticality = {
|
||||||
|
"SABP_Criticality",
|
||||||
|
"SABP_Criticality",
|
||||||
|
SABP_Criticality_free,
|
||||||
|
SABP_Criticality_print,
|
||||||
|
SABP_Criticality_constraint,
|
||||||
|
SABP_Criticality_decode_ber,
|
||||||
|
SABP_Criticality_encode_der,
|
||||||
|
SABP_Criticality_decode_xer,
|
||||||
|
SABP_Criticality_encode_xer,
|
||||||
|
SABP_Criticality_decode_uper,
|
||||||
|
SABP_Criticality_encode_uper,
|
||||||
|
SABP_Criticality_decode_aper,
|
||||||
|
SABP_Criticality_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Criticality_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Criticality_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Criticality_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Criticality_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Criticality_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Criticality_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Criticality_constr_1,
|
||||||
|
0, 0, /* Defined elsewhere */
|
||||||
|
&asn_SPC_SABP_Criticality_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h>
|
||||||
|
|
||||||
|
static asn_per_constraints_t asn_PER_type_SABP_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_SABP_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_SABP_ProtocolIE_ID,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"iE-ID"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 2, offsetof(struct Member, repetitionNumber),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_RepetitionNumber0,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"repetitionNumber"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_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[] = { 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 }, /* repetitionNumber */
|
||||||
|
{ (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 */
|
||||||
|
2, 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_SABP_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_SABP_CriticalityDiagnostics_IE_List_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_SABP_CriticalityDiagnostics_IE_List_specs_1 = {
|
||||||
|
sizeof(struct SABP_CriticalityDiagnostics_IE_List),
|
||||||
|
offsetof(struct SABP_CriticalityDiagnostics_IE_List, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_CriticalityDiagnostics_IE_List = {
|
||||||
|
"SABP_CriticalityDiagnostics-IE-List",
|
||||||
|
"SABP_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_SABP_CriticalityDiagnostics_IE_List_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_CriticalityDiagnostics_IE_List_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_CriticalityDiagnostics_IE_List_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_CriticalityDiagnostics_IE_List_constr_1,
|
||||||
|
asn_MBR_SABP_CriticalityDiagnostics_IE_List_1,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_SABP_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Data-Coding-Scheme.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Data_Coding_Scheme_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 == 8l)) {
|
||||||
|
/* 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
|
||||||
|
SABP_Data_Coding_Scheme_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
|
||||||
|
SABP_Data_Coding_Scheme_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Data_Coding_Scheme_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_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) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_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) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_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) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_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) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_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) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Data_Coding_Scheme_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Data_Coding_Scheme_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) {
|
||||||
|
SABP_Data_Coding_Scheme_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_SABP_Data_Coding_Scheme_constr_1 GCC_NOTUSED = {
|
||||||
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||||
|
{ APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
|
||||||
|
0, 0 /* No PER value map */
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Data_Coding_Scheme_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Data_Coding_Scheme = {
|
||||||
|
"SABP_Data-Coding-Scheme",
|
||||||
|
"SABP_Data-Coding-Scheme",
|
||||||
|
SABP_Data_Coding_Scheme_free,
|
||||||
|
SABP_Data_Coding_Scheme_print,
|
||||||
|
SABP_Data_Coding_Scheme_constraint,
|
||||||
|
SABP_Data_Coding_Scheme_decode_ber,
|
||||||
|
SABP_Data_Coding_Scheme_encode_der,
|
||||||
|
SABP_Data_Coding_Scheme_decode_xer,
|
||||||
|
SABP_Data_Coding_Scheme_encode_xer,
|
||||||
|
SABP_Data_Coding_Scheme_decode_uper,
|
||||||
|
SABP_Data_Coding_Scheme_encode_uper,
|
||||||
|
SABP_Data_Coding_Scheme_decode_aper,
|
||||||
|
SABP_Data_Coding_Scheme_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Data_Coding_Scheme_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Data_Coding_Scheme_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Data_Coding_Scheme_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Data_Coding_Scheme_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Data_Coding_Scheme_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Data_Coding_Scheme_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Data_Coding_Scheme_constr_1,
|
||||||
|
0, 0, /* No members */
|
||||||
|
0 /* No specifics */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Error-Indication.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_error_Indication_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_error_Indication_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_error_Indication_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_error_Indication_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_error_Indication_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_error_Indication_ies_specs_2 = {
|
||||||
|
sizeof(struct error_Indication_ies),
|
||||||
|
offsetof(struct error_Indication_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_error_Indication_ies_2 = {
|
||||||
|
"error-Indication-ies",
|
||||||
|
"error-Indication-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_error_Indication_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_error_Indication_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_error_Indication_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_error_Indication_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_error_Indication_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_error_Indication_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_error_Indication_ies_constr_2,
|
||||||
|
asn_MBR_error_Indication_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_error_Indication_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Error_Indication_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Error_Indication, error_Indication_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_error_Indication_ies_2,
|
||||||
|
memb_error_Indication_ies_constraint_1,
|
||||||
|
&asn_PER_memb_error_Indication_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"error-Indication-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Error_Indication_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Error_Indication_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* error-Indication-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Error_Indication_specs_1 = {
|
||||||
|
sizeof(struct SABP_Error_Indication),
|
||||||
|
offsetof(struct SABP_Error_Indication, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Error_Indication_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_SABP_Error_Indication = {
|
||||||
|
"SABP_Error-Indication",
|
||||||
|
"SABP_Error-Indication",
|
||||||
|
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_SABP_Error_Indication_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Error_Indication_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Error_Indication_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Error_Indication_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Error_Indication_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Error_Indication_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Error_Indication_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Error_Indication_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Failure-List-Item.h>
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Failure_List_Item_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Failure_List_Item, service_area_identifier),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_Service_Area_Identifier,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"service-area-identifier"
|
||||||
|
},
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Failure_List_Item, cause),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_Cause,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"cause"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 1, offsetof(struct SABP_Failure_List_Item, iE_Extensions),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_IE_Extensions,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"iE-Extensions"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const int asn_MAP_SABP_Failure_List_Item_oms_1[] = { 2 };
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Failure_List_Item_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Failure_List_Item_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* service-area-identifier */
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cause */
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Failure_List_Item_specs_1 = {
|
||||||
|
sizeof(struct SABP_Failure_List_Item),
|
||||||
|
offsetof(struct SABP_Failure_List_Item, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Failure_List_Item_tag2el_1,
|
||||||
|
3, /* Count of tags in the map */
|
||||||
|
asn_MAP_SABP_Failure_List_Item_oms_1, /* Optional members */
|
||||||
|
1, 0, /* Root/Additions */
|
||||||
|
2, /* Start extensions */
|
||||||
|
4 /* Stop extensions */
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Failure_List_Item = {
|
||||||
|
"SABP_Failure-List-Item",
|
||||||
|
"SABP_Failure-List-Item",
|
||||||
|
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_SABP_Failure_List_Item_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Failure_List_Item_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Failure_List_Item_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Failure_List_Item_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Failure_List_Item_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Failure_List_Item_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Failure_List_Item_1,
|
||||||
|
3, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Failure_List_Item_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Failure-List.h>
|
||||||
|
|
||||||
|
static asn_per_constraints_t asn_PER_type_SABP_Failure_List_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_SABP_Failure_List_1[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_Failure_List_Item,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Failure_List_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_SABP_Failure_List_specs_1 = {
|
||||||
|
sizeof(struct SABP_Failure_List),
|
||||||
|
offsetof(struct SABP_Failure_List, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Failure_List = {
|
||||||
|
"SABP_Failure-List",
|
||||||
|
"SABP_Failure-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_SABP_Failure_List_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Failure_List_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Failure_List_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Failure_List_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Failure_List_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Failure_List_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Failure_List_constr_1,
|
||||||
|
asn_MBR_SABP_Failure_List_1,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_SABP_Failure_List_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Failure.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_failure_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_failure_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_failure_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_failure_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_failure_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_failure_ies_specs_2 = {
|
||||||
|
sizeof(struct failure_ies),
|
||||||
|
offsetof(struct failure_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_failure_ies_2 = {
|
||||||
|
"failure-ies",
|
||||||
|
"failure-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_failure_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_failure_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_failure_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_failure_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_failure_ies_constr_2,
|
||||||
|
asn_MBR_failure_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_failure_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Failure_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Failure, failure_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_failure_ies_2,
|
||||||
|
memb_failure_ies_constraint_1,
|
||||||
|
&asn_PER_memb_failure_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"failure-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Failure_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Failure_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* failure-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Failure_specs_1 = {
|
||||||
|
sizeof(struct SABP_Failure),
|
||||||
|
offsetof(struct SABP_Failure, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Failure_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_SABP_Failure = {
|
||||||
|
"SABP_Failure",
|
||||||
|
"SABP_Failure",
|
||||||
|
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_SABP_Failure_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Failure_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Failure_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Failure_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Failure_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Failure_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_IE-Extensions.h>
|
||||||
|
|
||||||
|
static asn_per_constraints_t asn_PER_type_SABP_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_SABP_IE_Extensions_1[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_IE_Extensions_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_SABP_IE_Extensions_specs_1 = {
|
||||||
|
sizeof(struct SABP_IE_Extensions),
|
||||||
|
offsetof(struct SABP_IE_Extensions, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_IE_Extensions = {
|
||||||
|
"SABP_IE-Extensions",
|
||||||
|
"SABP_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_SABP_IE_Extensions_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_IE_Extensions_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_IE_Extensions_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_IE_Extensions_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_IE_Extensions_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_IE_Extensions_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_IE_Extensions_constr_1,
|
||||||
|
asn_MBR_SABP_IE_Extensions_1,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_SABP_IE_Extensions_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_IE.h>
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_IE_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_IE, id),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_ProtocolIE_ID,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"id"
|
||||||
|
},
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_IE, criticality),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_Criticality,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"criticality"
|
||||||
|
},
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_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_SABP_IE_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_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_SABP_IE_specs_1 = {
|
||||||
|
sizeof(struct SABP_IE),
|
||||||
|
offsetof(struct SABP_IE, _asn_ctx),
|
||||||
|
asn_MAP_SABP_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_SABP_IE = {
|
||||||
|
"SABP_IE",
|
||||||
|
"SABP_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_SABP_IE_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_IE_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_IE_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_IE_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_IE_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_IE_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_IE_1,
|
||||||
|
3, /* Elements count */
|
||||||
|
&asn_SPC_SABP_IE_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_InitiatingMessage.h>
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_InitiatingMessage_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_InitiatingMessage, procedureCode),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_ProcedureCode,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"procedureCode"
|
||||||
|
},
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_InitiatingMessage, criticality),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_Criticality,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"criticality"
|
||||||
|
},
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_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_SABP_InitiatingMessage_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_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_SABP_InitiatingMessage_specs_1 = {
|
||||||
|
sizeof(struct SABP_InitiatingMessage),
|
||||||
|
offsetof(struct SABP_InitiatingMessage, _asn_ctx),
|
||||||
|
asn_MAP_SABP_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_SABP_InitiatingMessage = {
|
||||||
|
"SABP_InitiatingMessage",
|
||||||
|
"SABP_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_SABP_InitiatingMessage_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_InitiatingMessage_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_InitiatingMessage_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_InitiatingMessage_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_InitiatingMessage_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_InitiatingMessage_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_InitiatingMessage_1,
|
||||||
|
3, /* Elements count */
|
||||||
|
&asn_SPC_SABP_InitiatingMessage_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Kill-Complete.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_kill_Complete_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_kill_Complete_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_kill_Complete_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_kill_Complete_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_kill_Complete_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_kill_Complete_ies_specs_2 = {
|
||||||
|
sizeof(struct kill_Complete_ies),
|
||||||
|
offsetof(struct kill_Complete_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_kill_Complete_ies_2 = {
|
||||||
|
"kill-Complete-ies",
|
||||||
|
"kill-Complete-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_kill_Complete_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_kill_Complete_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_kill_Complete_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_kill_Complete_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_kill_Complete_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_kill_Complete_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_kill_Complete_ies_constr_2,
|
||||||
|
asn_MBR_kill_Complete_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_kill_Complete_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Kill_Complete_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Kill_Complete, kill_Complete_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_kill_Complete_ies_2,
|
||||||
|
memb_kill_Complete_ies_constraint_1,
|
||||||
|
&asn_PER_memb_kill_Complete_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"kill-Complete-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Kill_Complete_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Kill_Complete_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* kill-Complete-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Kill_Complete_specs_1 = {
|
||||||
|
sizeof(struct SABP_Kill_Complete),
|
||||||
|
offsetof(struct SABP_Kill_Complete, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Kill_Complete_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_SABP_Kill_Complete = {
|
||||||
|
"SABP_Kill-Complete",
|
||||||
|
"SABP_Kill-Complete",
|
||||||
|
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_SABP_Kill_Complete_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Kill_Complete_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Kill_Complete_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Kill_Complete_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Kill_Complete_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Kill_Complete_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Kill_Complete_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Kill_Complete_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Kill-Failure.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_kill_Failure_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_kill_Failure_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_kill_Failure_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_kill_Failure_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_kill_Failure_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_kill_Failure_ies_specs_2 = {
|
||||||
|
sizeof(struct kill_Failure_ies),
|
||||||
|
offsetof(struct kill_Failure_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_kill_Failure_ies_2 = {
|
||||||
|
"kill-Failure-ies",
|
||||||
|
"kill-Failure-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_kill_Failure_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_kill_Failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_kill_Failure_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_kill_Failure_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_kill_Failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_kill_Failure_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_kill_Failure_ies_constr_2,
|
||||||
|
asn_MBR_kill_Failure_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_kill_Failure_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Kill_Failure_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Kill_Failure, kill_Failure_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_kill_Failure_ies_2,
|
||||||
|
memb_kill_Failure_ies_constraint_1,
|
||||||
|
&asn_PER_memb_kill_Failure_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"kill-Failure-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Kill_Failure_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Kill_Failure_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* kill-Failure-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Kill_Failure_specs_1 = {
|
||||||
|
sizeof(struct SABP_Kill_Failure),
|
||||||
|
offsetof(struct SABP_Kill_Failure, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Kill_Failure_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_SABP_Kill_Failure = {
|
||||||
|
"SABP_Kill-Failure",
|
||||||
|
"SABP_Kill-Failure",
|
||||||
|
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_SABP_Kill_Failure_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Kill_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Kill_Failure_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Kill_Failure_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Kill_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Kill_Failure_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Kill_Failure_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Kill_Failure_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Kill.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_kill_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_kill_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_kill_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_kill_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_kill_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_kill_ies_specs_2 = {
|
||||||
|
sizeof(struct kill_ies),
|
||||||
|
offsetof(struct kill_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_kill_ies_2 = {
|
||||||
|
"kill-ies",
|
||||||
|
"kill-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_kill_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_kill_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_kill_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_kill_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_kill_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_kill_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_kill_ies_constr_2,
|
||||||
|
asn_MBR_kill_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_kill_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Kill_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Kill, kill_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_kill_ies_2,
|
||||||
|
memb_kill_ies_constraint_1,
|
||||||
|
&asn_PER_memb_kill_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"kill-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Kill_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Kill_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* kill-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Kill_specs_1 = {
|
||||||
|
sizeof(struct SABP_Kill),
|
||||||
|
offsetof(struct SABP_Kill, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Kill_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_SABP_Kill = {
|
||||||
|
"SABP_Kill",
|
||||||
|
"SABP_Kill",
|
||||||
|
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_SABP_Kill_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Kill_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Kill_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Kill_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Kill_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Kill_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Kill_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Kill_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Load-Query-Complete.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_load_Query_Complete_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_load_Query_Complete_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_load_Query_Complete_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_load_Query_Complete_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_load_Query_Complete_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_load_Query_Complete_ies_specs_2 = {
|
||||||
|
sizeof(struct load_Query_Complete_ies),
|
||||||
|
offsetof(struct load_Query_Complete_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_load_Query_Complete_ies_2 = {
|
||||||
|
"load-Query-Complete-ies",
|
||||||
|
"load-Query-Complete-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_load_Query_Complete_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_load_Query_Complete_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_load_Query_Complete_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_load_Query_Complete_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_load_Query_Complete_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_load_Query_Complete_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_load_Query_Complete_ies_constr_2,
|
||||||
|
asn_MBR_load_Query_Complete_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_load_Query_Complete_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Load_Query_Complete_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Load_Query_Complete, load_Query_Complete_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_load_Query_Complete_ies_2,
|
||||||
|
memb_load_Query_Complete_ies_constraint_1,
|
||||||
|
&asn_PER_memb_load_Query_Complete_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"load-Query-Complete-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Load_Query_Complete_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Load_Query_Complete_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* load-Query-Complete-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Load_Query_Complete_specs_1 = {
|
||||||
|
sizeof(struct SABP_Load_Query_Complete),
|
||||||
|
offsetof(struct SABP_Load_Query_Complete, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Load_Query_Complete_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_SABP_Load_Query_Complete = {
|
||||||
|
"SABP_Load-Query-Complete",
|
||||||
|
"SABP_Load-Query-Complete",
|
||||||
|
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_SABP_Load_Query_Complete_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Load_Query_Complete_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Load_Query_Complete_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Load_Query_Complete_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Load_Query_Complete_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Load_Query_Complete_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Load_Query_Complete_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Load_Query_Complete_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Load-Query-Failure.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_load_Query_Failure_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_load_Query_Failure_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_load_Query_Failure_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_load_Query_Failure_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_load_Query_Failure_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_load_Query_Failure_ies_specs_2 = {
|
||||||
|
sizeof(struct load_Query_Failure_ies),
|
||||||
|
offsetof(struct load_Query_Failure_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_load_Query_Failure_ies_2 = {
|
||||||
|
"load-Query-Failure-ies",
|
||||||
|
"load-Query-Failure-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_load_Query_Failure_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_load_Query_Failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_load_Query_Failure_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_load_Query_Failure_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_load_Query_Failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_load_Query_Failure_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_load_Query_Failure_ies_constr_2,
|
||||||
|
asn_MBR_load_Query_Failure_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_load_Query_Failure_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Load_Query_Failure_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Load_Query_Failure, load_Query_Failure_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_load_Query_Failure_ies_2,
|
||||||
|
memb_load_Query_Failure_ies_constraint_1,
|
||||||
|
&asn_PER_memb_load_Query_Failure_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"load-Query-Failure-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Load_Query_Failure_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Load_Query_Failure_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* load-Query-Failure-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Load_Query_Failure_specs_1 = {
|
||||||
|
sizeof(struct SABP_Load_Query_Failure),
|
||||||
|
offsetof(struct SABP_Load_Query_Failure, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Load_Query_Failure_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_SABP_Load_Query_Failure = {
|
||||||
|
"SABP_Load-Query-Failure",
|
||||||
|
"SABP_Load-Query-Failure",
|
||||||
|
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_SABP_Load_Query_Failure_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Load_Query_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Load_Query_Failure_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Load_Query_Failure_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Load_Query_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Load_Query_Failure_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Load_Query_Failure_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Load_Query_Failure_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Load-Query.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_load_Query_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_load_Query_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_load_Query_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_load_Query_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_load_Query_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_load_Query_ies_specs_2 = {
|
||||||
|
sizeof(struct load_Query_ies),
|
||||||
|
offsetof(struct load_Query_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_load_Query_ies_2 = {
|
||||||
|
"load-Query-ies",
|
||||||
|
"load-Query-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_load_Query_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_load_Query_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_load_Query_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_load_Query_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_load_Query_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_load_Query_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_load_Query_ies_constr_2,
|
||||||
|
asn_MBR_load_Query_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_load_Query_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Load_Query_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Load_Query, load_Query_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_load_Query_ies_2,
|
||||||
|
memb_load_Query_ies_constraint_1,
|
||||||
|
&asn_PER_memb_load_Query_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"load-Query-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Load_Query_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Load_Query_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* load-Query-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Load_Query_specs_1 = {
|
||||||
|
sizeof(struct SABP_Load_Query),
|
||||||
|
offsetof(struct SABP_Load_Query, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Load_Query_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_SABP_Load_Query = {
|
||||||
|
"SABP_Load-Query",
|
||||||
|
"SABP_Load-Query",
|
||||||
|
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_SABP_Load_Query_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Load_Query_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Load_Query_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Load_Query_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Load_Query_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Load_Query_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Load_Query_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Load_Query_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Message-Identifier.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Message_Identifier_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 == 16l)) {
|
||||||
|
/* 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
|
||||||
|
SABP_Message_Identifier_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
|
||||||
|
SABP_Message_Identifier_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Message_Identifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Message_Identifier_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) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Message_Identifier_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) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Message_Identifier_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) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Message_Identifier_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) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Message_Identifier_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) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Message_Identifier_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Message_Identifier_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Message_Identifier_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Message_Identifier_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) {
|
||||||
|
SABP_Message_Identifier_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_SABP_Message_Identifier_constr_1 GCC_NOTUSED = {
|
||||||
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||||
|
{ APC_CONSTRAINED, 0, 0, 16l, 16l } /* (SIZE(16..16)) */,
|
||||||
|
0, 0 /* No PER value map */
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Message_Identifier_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Message_Identifier = {
|
||||||
|
"SABP_Message-Identifier",
|
||||||
|
"SABP_Message-Identifier",
|
||||||
|
SABP_Message_Identifier_free,
|
||||||
|
SABP_Message_Identifier_print,
|
||||||
|
SABP_Message_Identifier_constraint,
|
||||||
|
SABP_Message_Identifier_decode_ber,
|
||||||
|
SABP_Message_Identifier_encode_der,
|
||||||
|
SABP_Message_Identifier_decode_xer,
|
||||||
|
SABP_Message_Identifier_encode_xer,
|
||||||
|
SABP_Message_Identifier_decode_uper,
|
||||||
|
SABP_Message_Identifier_encode_uper,
|
||||||
|
SABP_Message_Identifier_decode_aper,
|
||||||
|
SABP_Message_Identifier_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Message_Identifier_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Message_Identifier_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Identifier_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Message_Identifier_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Message_Identifier_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Identifier_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Message_Identifier_constr_1,
|
||||||
|
0, 0, /* No members */
|
||||||
|
0 /* No specifics */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Message-Status-Query-Complete.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_message_Status_Query_Complete_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_message_Status_Query_Complete_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_message_Status_Query_Complete_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_message_Status_Query_Complete_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_message_Status_Query_Complete_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_message_Status_Query_Complete_ies_specs_2 = {
|
||||||
|
sizeof(struct message_Status_Query_Complete_ies),
|
||||||
|
offsetof(struct message_Status_Query_Complete_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_message_Status_Query_Complete_ies_2 = {
|
||||||
|
"message-Status-Query-Complete-ies",
|
||||||
|
"message-Status-Query-Complete-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_message_Status_Query_Complete_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_message_Status_Query_Complete_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_message_Status_Query_Complete_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_message_Status_Query_Complete_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_message_Status_Query_Complete_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_message_Status_Query_Complete_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_message_Status_Query_Complete_ies_constr_2,
|
||||||
|
asn_MBR_message_Status_Query_Complete_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_message_Status_Query_Complete_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Message_Status_Query_Complete_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Message_Status_Query_Complete, message_Status_Query_Complete_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_message_Status_Query_Complete_ies_2,
|
||||||
|
memb_message_Status_Query_Complete_ies_constraint_1,
|
||||||
|
&asn_PER_memb_message_Status_Query_Complete_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"message-Status-Query-Complete-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Message_Status_Query_Complete_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Message_Status_Query_Complete_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* message-Status-Query-Complete-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Message_Status_Query_Complete_specs_1 = {
|
||||||
|
sizeof(struct SABP_Message_Status_Query_Complete),
|
||||||
|
offsetof(struct SABP_Message_Status_Query_Complete, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Message_Status_Query_Complete_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_SABP_Message_Status_Query_Complete = {
|
||||||
|
"SABP_Message-Status-Query-Complete",
|
||||||
|
"SABP_Message-Status-Query-Complete",
|
||||||
|
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_SABP_Message_Status_Query_Complete_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Message_Status_Query_Complete_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Status_Query_Complete_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Message_Status_Query_Complete_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Message_Status_Query_Complete_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Status_Query_Complete_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Message_Status_Query_Complete_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Message_Status_Query_Complete_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Message-Status-Query-Failure.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_message_Status_Query_Failure_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_message_Status_Query_Failure_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_message_Status_Query_Failure_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_message_Status_Query_Failure_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_message_Status_Query_Failure_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_message_Status_Query_Failure_ies_specs_2 = {
|
||||||
|
sizeof(struct message_Status_Query_Failure_ies),
|
||||||
|
offsetof(struct message_Status_Query_Failure_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_message_Status_Query_Failure_ies_2 = {
|
||||||
|
"message-Status-Query-Failure-ies",
|
||||||
|
"message-Status-Query-Failure-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_message_Status_Query_Failure_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_message_Status_Query_Failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_message_Status_Query_Failure_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_message_Status_Query_Failure_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_message_Status_Query_Failure_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_message_Status_Query_Failure_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_message_Status_Query_Failure_ies_constr_2,
|
||||||
|
asn_MBR_message_Status_Query_Failure_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_message_Status_Query_Failure_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Message_Status_Query_Failure_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Message_Status_Query_Failure, message_Status_Query_Failure_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_message_Status_Query_Failure_ies_2,
|
||||||
|
memb_message_Status_Query_Failure_ies_constraint_1,
|
||||||
|
&asn_PER_memb_message_Status_Query_Failure_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"message-Status-Query-Failure-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Message_Status_Query_Failure_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Message_Status_Query_Failure_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* message-Status-Query-Failure-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Message_Status_Query_Failure_specs_1 = {
|
||||||
|
sizeof(struct SABP_Message_Status_Query_Failure),
|
||||||
|
offsetof(struct SABP_Message_Status_Query_Failure, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Message_Status_Query_Failure_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_SABP_Message_Status_Query_Failure = {
|
||||||
|
"SABP_Message-Status-Query-Failure",
|
||||||
|
"SABP_Message-Status-Query-Failure",
|
||||||
|
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_SABP_Message_Status_Query_Failure_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Message_Status_Query_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Status_Query_Failure_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Message_Status_Query_Failure_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Message_Status_Query_Failure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Status_Query_Failure_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Message_Status_Query_Failure_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Message_Status_Query_Failure_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-PDU"
|
||||||
|
* found in "../../asn1/sabp/SABP-PDU.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Message-Status-Query.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
memb_message_Status_Query_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_message_Status_Query_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_message_Status_Query_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_message_Status_Query_ies_2[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
-1 /* Ambiguous tag (CHOICE?) */,
|
||||||
|
0,
|
||||||
|
&asn_DEF_SABP_IE,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_message_Status_Query_ies_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_message_Status_Query_ies_specs_2 = {
|
||||||
|
sizeof(struct message_Status_Query_ies),
|
||||||
|
offsetof(struct message_Status_Query_ies, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_message_Status_Query_ies_2 = {
|
||||||
|
"message-Status-Query-ies",
|
||||||
|
"message-Status-Query-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_message_Status_Query_ies_tags_2,
|
||||||
|
sizeof(asn_DEF_message_Status_Query_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_message_Status_Query_ies_tags_2[0]) - 1, /* 1 */
|
||||||
|
asn_DEF_message_Status_Query_ies_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_message_Status_Query_ies_tags_2)
|
||||||
|
/sizeof(asn_DEF_message_Status_Query_ies_tags_2[0]), /* 2 */
|
||||||
|
&asn_PER_type_message_Status_Query_ies_constr_2,
|
||||||
|
asn_MBR_message_Status_Query_ies_2,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_message_Status_Query_ies_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_Message_Status_Query_1[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct SABP_Message_Status_Query, message_Status_Query_ies),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_message_Status_Query_ies_2,
|
||||||
|
memb_message_Status_Query_ies_constraint_1,
|
||||||
|
&asn_PER_memb_message_Status_Query_ies_constr_2,
|
||||||
|
0,
|
||||||
|
"message-Status-Query-ies"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_Message_Status_Query_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_SABP_Message_Status_Query_tag2el_1[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* message-Status-Query-ies */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_SABP_Message_Status_Query_specs_1 = {
|
||||||
|
sizeof(struct SABP_Message_Status_Query),
|
||||||
|
offsetof(struct SABP_Message_Status_Query, _asn_ctx),
|
||||||
|
asn_MAP_SABP_Message_Status_Query_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_SABP_Message_Status_Query = {
|
||||||
|
"SABP_Message-Status-Query",
|
||||||
|
"SABP_Message-Status-Query",
|
||||||
|
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_SABP_Message_Status_Query_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Message_Status_Query_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Status_Query_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Message_Status_Query_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Message_Status_Query_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Message_Status_Query_tags_1[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_SABP_Message_Status_Query_1,
|
||||||
|
1, /* Elements count */
|
||||||
|
&asn_SPC_SABP_Message_Status_Query_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_MessageStructure.h>
|
||||||
|
|
||||||
|
static asn_per_constraints_t asn_PER_type_SABP_MessageStructure_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_MemberA_2[] = {
|
||||||
|
{ ATF_NOFLAGS, 0, offsetof(struct MemberA, iE_ID),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_ProtocolIE_ID,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"iE-ID"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 2, offsetof(struct MemberA, repetitionNumber),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_RepetitionNumber1,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"repetitionNumber"
|
||||||
|
},
|
||||||
|
{ ATF_POINTER, 1, offsetof(struct MemberA, iE_Extensions),
|
||||||
|
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||||
|
-1, /* IMPLICIT tag at current level */
|
||||||
|
&asn_DEF_SABP_IE_Extensions,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
"iE-Extensions"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const int asn_MAP_MemberA_oms_2[] = { 1, 2 };
|
||||||
|
static const ber_tlv_tag_t asn_DEF_MemberA_tags_2[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static const asn_TYPE_tag2member_t asn_MAP_MemberA_tag2el_2[] = {
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iE-ID */
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* repetitionNumber */
|
||||||
|
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
|
||||||
|
};
|
||||||
|
static asn_SEQUENCE_specifics_t asn_SPC_MemberA_specs_2 = {
|
||||||
|
sizeof(struct MemberA),
|
||||||
|
offsetof(struct MemberA, _asn_ctx),
|
||||||
|
asn_MAP_MemberA_tag2el_2,
|
||||||
|
3, /* Count of tags in the map */
|
||||||
|
asn_MAP_MemberA_oms_2, /* Optional members */
|
||||||
|
2, 0, /* Root/Additions */
|
||||||
|
2, /* Start extensions */
|
||||||
|
4 /* Stop extensions */
|
||||||
|
};
|
||||||
|
static /* Use -fall-defs-global to expose */
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_MemberA_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_MemberA_tags_2,
|
||||||
|
sizeof(asn_DEF_MemberA_tags_2)
|
||||||
|
/sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
|
||||||
|
asn_DEF_MemberA_tags_2, /* Same as above */
|
||||||
|
sizeof(asn_DEF_MemberA_tags_2)
|
||||||
|
/sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
asn_MBR_MemberA_2,
|
||||||
|
3, /* Elements count */
|
||||||
|
&asn_SPC_MemberA_specs_2 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
||||||
|
static asn_TYPE_member_t asn_MBR_SABP_MessageStructure_1[] = {
|
||||||
|
{ ATF_POINTER, 0, 0,
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
|
||||||
|
0,
|
||||||
|
&asn_DEF_MemberA_2,
|
||||||
|
0, /* Defer constraints checking to the member type */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0,
|
||||||
|
""
|
||||||
|
},
|
||||||
|
};
|
||||||
|
static const ber_tlv_tag_t asn_DEF_SABP_MessageStructure_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||||
|
};
|
||||||
|
static asn_SET_OF_specifics_t asn_SPC_SABP_MessageStructure_specs_1 = {
|
||||||
|
sizeof(struct SABP_MessageStructure),
|
||||||
|
offsetof(struct SABP_MessageStructure, _asn_ctx),
|
||||||
|
0, /* XER encoding is XMLDelimitedItemList */
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_MessageStructure = {
|
||||||
|
"SABP_MessageStructure",
|
||||||
|
"SABP_MessageStructure",
|
||||||
|
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_SABP_MessageStructure_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_MessageStructure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_MessageStructure_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_MessageStructure_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_MessageStructure_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_MessageStructure_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_MessageStructure_constr_1,
|
||||||
|
asn_MBR_SABP_MessageStructure_1,
|
||||||
|
1, /* Single element */
|
||||||
|
&asn_SPC_SABP_MessageStructure_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,157 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_New-Serial-Number.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_New_Serial_Number_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||||
|
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||||
|
|
||||||
|
if(!sptr) {
|
||||||
|
_ASN_CTFAIL(app_key, td, sptr,
|
||||||
|
"%s: value not given (%s:%d)",
|
||||||
|
td->name, __FILE__, __LINE__);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(1 /* No applicable constraints whatsoever */) {
|
||||||
|
/* Nothing is here. See below */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Replace with underlying type checker */
|
||||||
|
td->check_constraints = asn_DEF_SABP_Serial_Number.check_constraints;
|
||||||
|
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This type is implemented using SABP_Serial_Number,
|
||||||
|
* so here we adjust the DEF accordingly.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
|
||||||
|
td->free_struct = asn_DEF_SABP_Serial_Number.free_struct;
|
||||||
|
td->print_struct = asn_DEF_SABP_Serial_Number.print_struct;
|
||||||
|
td->check_constraints = asn_DEF_SABP_Serial_Number.check_constraints;
|
||||||
|
td->ber_decoder = asn_DEF_SABP_Serial_Number.ber_decoder;
|
||||||
|
td->der_encoder = asn_DEF_SABP_Serial_Number.der_encoder;
|
||||||
|
td->xer_decoder = asn_DEF_SABP_Serial_Number.xer_decoder;
|
||||||
|
td->xer_encoder = asn_DEF_SABP_Serial_Number.xer_encoder;
|
||||||
|
td->uper_decoder = asn_DEF_SABP_Serial_Number.uper_decoder;
|
||||||
|
td->uper_encoder = asn_DEF_SABP_Serial_Number.uper_encoder;
|
||||||
|
td->aper_decoder = asn_DEF_SABP_Serial_Number.aper_decoder;
|
||||||
|
td->aper_encoder = asn_DEF_SABP_Serial_Number.aper_encoder;
|
||||||
|
/* The next four lines are here because of -fknown-extern-type */
|
||||||
|
td->tags = asn_DEF_SABP_Serial_Number.tags;
|
||||||
|
td->tags_count = asn_DEF_SABP_Serial_Number.tags_count;
|
||||||
|
td->all_tags = asn_DEF_SABP_Serial_Number.all_tags;
|
||||||
|
td->all_tags_count = asn_DEF_SABP_Serial_Number.all_tags_count;
|
||||||
|
/* End of these lines */
|
||||||
|
if(!td->per_constraints)
|
||||||
|
td->per_constraints = asn_DEF_SABP_Serial_Number.per_constraints;
|
||||||
|
td->elements = asn_DEF_SABP_Serial_Number.elements;
|
||||||
|
td->elements_count = asn_DEF_SABP_Serial_Number.elements_count;
|
||||||
|
td->specifics = asn_DEF_SABP_Serial_Number.specifics;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SABP_New_Serial_Number_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_New_Serial_Number_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_New_Serial_Number_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) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_New_Serial_Number_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) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_New_Serial_Number_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) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_New_Serial_Number_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) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_New_Serial_Number_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) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_New_Serial_Number_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_New_Serial_Number_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_New_Serial_Number_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) {
|
||||||
|
SABP_New_Serial_Number_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_New_Serial_Number = {
|
||||||
|
"SABP_New-Serial-Number",
|
||||||
|
"SABP_New-Serial-Number",
|
||||||
|
SABP_New_Serial_Number_free,
|
||||||
|
SABP_New_Serial_Number_print,
|
||||||
|
SABP_New_Serial_Number_constraint,
|
||||||
|
SABP_New_Serial_Number_decode_ber,
|
||||||
|
SABP_New_Serial_Number_encode_der,
|
||||||
|
SABP_New_Serial_Number_decode_xer,
|
||||||
|
SABP_New_Serial_Number_encode_xer,
|
||||||
|
SABP_New_Serial_Number_decode_uper,
|
||||||
|
SABP_New_Serial_Number_encode_uper,
|
||||||
|
SABP_New_Serial_Number_decode_aper,
|
||||||
|
SABP_New_Serial_Number_encode_aper,
|
||||||
|
CHOICE_outmost_tag,
|
||||||
|
0, /* No effective tags (pointer) */
|
||||||
|
0, /* No effective tags (count) */
|
||||||
|
0, /* No tags (pointer) */
|
||||||
|
0, /* No tags (count) */
|
||||||
|
0, /* No PER visible constraints */
|
||||||
|
0, 0, /* No members */
|
||||||
|
0 /* No specifics */
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,167 @@
|
||||||
|
/*
|
||||||
|
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||||
|
* From ASN.1 module "SABP-IEs"
|
||||||
|
* found in "../../asn1/sabp/SABP-IEs.asn"
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_free(asn_TYPE_descriptor_t *td,
|
||||||
|
void *struct_ptr, int contents_only) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
td->free_struct(td, struct_ptr, contents_only);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
|
||||||
|
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_encode_uper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->uper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_enc_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_encode_aper(asn_TYPE_descriptor_t *td,
|
||||||
|
asn_per_constraints_t *constraints,
|
||||||
|
void *structure, asn_per_outp_t *per_out) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_1_inherit_TYPE_descriptor(td);
|
||||||
|
return td->aper_encoder(td, constraints, structure, per_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_dec_rval_t
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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) {
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_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_SABP_Number_Of_Broadcasts_Completed_Info_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_SABP_Number_Of_Broadcasts_Completed_Info_value2enum_1[] = {
|
||||||
|
{ 0, 8, "overflow" },
|
||||||
|
{ 1, 7, "unknown" }
|
||||||
|
/* This list is extensible */
|
||||||
|
};
|
||||||
|
static const unsigned int asn_MAP_SABP_Number_Of_Broadcasts_Completed_Info_enum2value_1[] = {
|
||||||
|
0, /* overflow(0) */
|
||||||
|
1 /* unknown(1) */
|
||||||
|
/* This list is extensible */
|
||||||
|
};
|
||||||
|
static const asn_INTEGER_specifics_t asn_SPC_SABP_Number_Of_Broadcasts_Completed_Info_specs_1 = {
|
||||||
|
asn_MAP_SABP_Number_Of_Broadcasts_Completed_Info_value2enum_1, /* "tag" => N; sorted by tag */
|
||||||
|
asn_MAP_SABP_Number_Of_Broadcasts_Completed_Info_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_SABP_Number_Of_Broadcasts_Completed_Info_tags_1[] = {
|
||||||
|
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||||
|
};
|
||||||
|
asn_TYPE_descriptor_t asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info = {
|
||||||
|
"SABP_Number-Of-Broadcasts-Completed-Info",
|
||||||
|
"SABP_Number-Of-Broadcasts-Completed-Info",
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_free,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_print,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_constraint,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_decode_ber,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_encode_der,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_decode_xer,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_encode_xer,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_decode_uper,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_encode_uper,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_decode_aper,
|
||||||
|
SABP_Number_Of_Broadcasts_Completed_Info_encode_aper,
|
||||||
|
0, /* Use generic outmost tag fetcher */
|
||||||
|
asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info_tags_1,
|
||||||
|
sizeof(asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info_tags_1[0]), /* 1 */
|
||||||
|
asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info_tags_1, /* Same as above */
|
||||||
|
sizeof(asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info_tags_1)
|
||||||
|
/sizeof(asn_DEF_SABP_Number_Of_Broadcasts_Completed_Info_tags_1[0]), /* 1 */
|
||||||
|
&asn_PER_type_SABP_Number_Of_Broadcasts_Completed_Info_constr_1,
|
||||||
|
0, 0, /* Defined elsewhere */
|
||||||
|
&asn_SPC_SABP_Number_Of_Broadcasts_Completed_Info_specs_1 /* Additional specs */
|
||||||
|
};
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue