/*
 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
 * From ASN.1 module "RUA-IEs"
 * 	found in "../../asn1/rua/RUA-IEs.asn"
 */

#ifndef	_RUA_CauseMisc_H_
#define	_RUA_CauseMisc_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum RUA_CauseMisc {
	RUA_CauseMisc_processing_overload	= 0,
	RUA_CauseMisc_hardware_failure	= 1,
	RUA_CauseMisc_o_and_m_intervention	= 2,
	RUA_CauseMisc_unspecified	= 3
	/*
	 * Enumeration is extensible
	 */
} e_RUA_CauseMisc;

/* RUA_CauseMisc */
typedef long	 RUA_CauseMisc_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_CauseMisc;
asn_struct_free_f RUA_CauseMisc_free;
asn_struct_print_f RUA_CauseMisc_print;
asn_constr_check_f RUA_CauseMisc_constraint;
ber_type_decoder_f RUA_CauseMisc_decode_ber;
der_type_encoder_f RUA_CauseMisc_encode_der;
xer_type_decoder_f RUA_CauseMisc_decode_xer;
xer_type_encoder_f RUA_CauseMisc_encode_xer;
per_type_decoder_f RUA_CauseMisc_decode_uper;
per_type_encoder_f RUA_CauseMisc_encode_uper;
per_type_decoder_f RUA_CauseMisc_decode_aper;
per_type_encoder_f RUA_CauseMisc_encode_aper;

#ifdef __cplusplus
}
#endif

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