/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "S1AP-IEs"
 * 	found in "./asn1c/S1AP-IEs.asn"
 * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
 */

#ifndef	_MDTMode_Extension_H_
#define	_MDTMode_Extension_H_


#include <asn_application.h>

/* Including external dependencies */
#include "ProtocolIE-SingleContainer.h"

#ifdef __cplusplus
extern "C" {
#endif

/* MDTMode-Extension */
typedef ProtocolIE_SingleContainer_132P4_t	 MDTMode_Extension_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_MDTMode_Extension;
asn_struct_free_f MDTMode_Extension_free;
asn_struct_print_f MDTMode_Extension_print;
asn_constr_check_f MDTMode_Extension_constraint;
ber_type_decoder_f MDTMode_Extension_decode_ber;
der_type_encoder_f MDTMode_Extension_encode_der;
xer_type_decoder_f MDTMode_Extension_decode_xer;
xer_type_encoder_f MDTMode_Extension_encode_xer;
oer_type_decoder_f MDTMode_Extension_decode_oer;
oer_type_encoder_f MDTMode_Extension_encode_oer;
per_type_decoder_f MDTMode_Extension_decode_uper;
per_type_encoder_f MDTMode_Extension_encode_uper;
per_type_decoder_f MDTMode_Extension_decode_aper;
per_type_encoder_f MDTMode_Extension_encode_aper;

#ifdef __cplusplus
}
#endif

#endif	/* _MDTMode_Extension_H_ */
#include <asn_internal.h>
