/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "X2AP-IEs"
 * 	found in "X2AP-15-4-0.asn1"
 * 	`asn1c -D ./asn1_n1 -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
 */

#ifndef	_CyclicPrefixUL_H_
#define	_CyclicPrefixUL_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum CyclicPrefixUL {
	CyclicPrefixUL_normal	= 0,
	CyclicPrefixUL_extended	= 1
	/*
	 * Enumeration is extensible
	 */
} e_CyclicPrefixUL;

/* CyclicPrefixUL */
typedef long	 CyclicPrefixUL_t;

/* Implementation */
extern asn_per_constraints_t asn_PER_type_CyclicPrefixUL_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_CyclicPrefixUL;
extern const asn_INTEGER_specifics_t asn_SPC_CyclicPrefixUL_specs_1;
asn_struct_free_f CyclicPrefixUL_free;
asn_struct_print_f CyclicPrefixUL_print;
asn_constr_check_f CyclicPrefixUL_constraint;
ber_type_decoder_f CyclicPrefixUL_decode_ber;
der_type_encoder_f CyclicPrefixUL_encode_der;
xer_type_decoder_f CyclicPrefixUL_decode_xer;
xer_type_encoder_f CyclicPrefixUL_encode_xer;
oer_type_decoder_f CyclicPrefixUL_decode_oer;
oer_type_encoder_f CyclicPrefixUL_encode_oer;
per_type_decoder_f CyclicPrefixUL_decode_uper;
per_type_encoder_f CyclicPrefixUL_encode_uper;
per_type_decoder_f CyclicPrefixUL_decode_aper;
per_type_encoder_f CyclicPrefixUL_encode_aper;

#ifdef __cplusplus
}
#endif

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