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

#ifndef	_RUA_Criticality_H_
#define	_RUA_Criticality_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum RUA_Criticality {
	RUA_Criticality_reject	= 0,
	RUA_Criticality_ignore	= 1,
	RUA_Criticality_notify	= 2
} e_RUA_Criticality;

/* RUA_Criticality */
typedef long	 RUA_Criticality_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Criticality;
asn_struct_free_f RUA_Criticality_free;
asn_struct_print_f RUA_Criticality_print;
asn_constr_check_f RUA_Criticality_constraint;
ber_type_decoder_f RUA_Criticality_decode_ber;
der_type_encoder_f RUA_Criticality_encode_der;
xer_type_decoder_f RUA_Criticality_decode_xer;
xer_type_encoder_f RUA_Criticality_encode_xer;
per_type_decoder_f RUA_Criticality_decode_uper;
per_type_encoder_f RUA_Criticality_encode_uper;
per_type_decoder_f RUA_Criticality_decode_aper;
per_type_encoder_f RUA_Criticality_encode_aper;

#ifdef __cplusplus
}
#endif

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