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

#ifndef	_RANAP_ClientType_H_
#define	_RANAP_ClientType_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum RANAP_ClientType {
	RANAP_ClientType_emergency_Services	= 0,
	RANAP_ClientType_value_Added_Services	= 1,
	RANAP_ClientType_pLMN_Operator_Services	= 2,
	RANAP_ClientType_lawful_Intercept_Services	= 3,
	RANAP_ClientType_pLMN_Operator_Broadcast_Services	= 4,
	RANAP_ClientType_pLMN_Operator_O_et_M	= 5,
	RANAP_ClientType_pLMN_Operator_Anonymous_Statistics	= 6,
	RANAP_ClientType_pLMN_Operator_Target_MS_Service_Support	= 7
	/*
	 * Enumeration is extensible
	 */
} e_RANAP_ClientType;

/* RANAP_ClientType */
typedef long	 RANAP_ClientType_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RANAP_ClientType;
asn_struct_free_f RANAP_ClientType_free;
asn_struct_print_f RANAP_ClientType_print;
asn_constr_check_f RANAP_ClientType_constraint;
ber_type_decoder_f RANAP_ClientType_decode_ber;
der_type_encoder_f RANAP_ClientType_encode_der;
xer_type_decoder_f RANAP_ClientType_decode_xer;
xer_type_encoder_f RANAP_ClientType_encode_xer;
per_type_decoder_f RANAP_ClientType_decode_uper;
per_type_encoder_f RANAP_ClientType_encode_uper;
per_type_decoder_f RANAP_ClientType_decode_aper;
per_type_encoder_f RANAP_ClientType_encode_aper;

#ifdef __cplusplus
}
#endif

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