/*
 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
 * From ASN.1 module "HNBAP-IEs"
 * 	found in "../../asn1/hnbap/HNBAP-IEs.asn"
 * 	`asn1c -gen-PER`
 */

#ifndef	_CELL_FACHMobilitySupport_H_
#define	_CELL_FACHMobilitySupport_H_


#include <asn_application.h>

/* Including external dependencies */
#include <NativeEnumerated.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum CELL_FACHMobilitySupport {
	CELL_FACHMobilitySupport_supported	= 0
	/*
	 * Enumeration is extensible
	 */
} e_CELL_FACHMobilitySupport;

/* CELL-FACHMobilitySupport */
typedef long	 CELL_FACHMobilitySupport_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CELL_FACHMobilitySupport;
asn_struct_free_f CELL_FACHMobilitySupport_free;
asn_struct_print_f CELL_FACHMobilitySupport_print;
asn_constr_check_f CELL_FACHMobilitySupport_constraint;
ber_type_decoder_f CELL_FACHMobilitySupport_decode_ber;
der_type_encoder_f CELL_FACHMobilitySupport_encode_der;
xer_type_decoder_f CELL_FACHMobilitySupport_decode_xer;
xer_type_encoder_f CELL_FACHMobilitySupport_encode_xer;
per_type_decoder_f CELL_FACHMobilitySupport_decode_uper;
per_type_encoder_f CELL_FACHMobilitySupport_encode_uper;
per_type_decoder_f CELL_FACHMobilitySupport_decode_aper;
per_type_encoder_f CELL_FACHMobilitySupport_encode_aper;

#ifdef __cplusplus
}
#endif

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