/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "X2AP-CommonDataTypes"
 * 	found in "Spec/e2_and_x2-combined-and-minimized.asn1"
 * 	`asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
 */

#ifndef	_ProtocolIE_ID_H_
#define	_ProtocolIE_ID_H_


#include "asn_application.h"

/* Including external dependencies */
#include "NativeInteger.h"

#ifdef __cplusplus
extern "C" {
#endif

/* ProtocolIE-ID */
typedef long	 ProtocolIE_ID_t;

/* Implementation */
#define ProtocolIE_ID_id_RANfunction_Item	((ProtocolIE_ID_t)60001)
#define ProtocolIE_ID_id_RANfunctionDefinition	((ProtocolIE_ID_t)60002)
#define ProtocolIE_ID_id_RANfunctionID	((ProtocolIE_ID_t)60003)
#define ProtocolIE_ID_id_RANfunctionID_Item	((ProtocolIE_ID_t)60004)
#define ProtocolIE_ID_id_RANfunctionIEcause_Item	((ProtocolIE_ID_t)60005)
#define ProtocolIE_ID_id_RANfunctionsAccepted	((ProtocolIE_ID_t)60006)
#define ProtocolIE_ID_id_RANfunctionsAdded	((ProtocolIE_ID_t)60007)
#define ProtocolIE_ID_id_RANfunctionsDeleted	((ProtocolIE_ID_t)60008)
#define ProtocolIE_ID_id_RANfunctionsModified	((ProtocolIE_ID_t)60009)
#define ProtocolIE_ID_id_RANfunctionsRejected	((ProtocolIE_ID_t)60010)
#define ProtocolIE_ID_id_RICaction_ToBeSetup_Item	((ProtocolIE_ID_t)60011)
#define ProtocolIE_ID_id_RICactions_Admitted	((ProtocolIE_ID_t)60012)
#define ProtocolIE_ID_id_RICaction_Admitted_Item	((ProtocolIE_ID_t)60013)
#define ProtocolIE_ID_id_RICactions_NotAdmitted	((ProtocolIE_ID_t)60014)
#define ProtocolIE_ID_id_RICaction_NotAdmitted_Item	((ProtocolIE_ID_t)60015)
#define ProtocolIE_ID_id_RICactionDefinition	((ProtocolIE_ID_t)60016)
#define ProtocolIE_ID_id_RICactionID	((ProtocolIE_ID_t)60017)
#define ProtocolIE_ID_id_RICactionType	((ProtocolIE_ID_t)60018)
#define ProtocolIE_ID_id_RICcallProcessID	((ProtocolIE_ID_t)60019)
#define ProtocolIE_ID_id_RICcause	((ProtocolIE_ID_t)60020)
#define ProtocolIE_ID_id_RICcontrolAckRequest	((ProtocolIE_ID_t)60021)
#define ProtocolIE_ID_id_RICcontrolHeader	((ProtocolIE_ID_t)60022)
#define ProtocolIE_ID_id_RICcontrolMessage	((ProtocolIE_ID_t)60023)
#define ProtocolIE_ID_id_RICcontrolStatus	((ProtocolIE_ID_t)60024)
#define ProtocolIE_ID_id_RICeventTriggerDefinition	((ProtocolIE_ID_t)60025)
#define ProtocolIE_ID_id_RICindicationHeader	((ProtocolIE_ID_t)60026)
#define ProtocolIE_ID_id_RICindicationMessage	((ProtocolIE_ID_t)60027)
#define ProtocolIE_ID_id_RICindicationSN	((ProtocolIE_ID_t)60028)
#define ProtocolIE_ID_id_RICindicationType	((ProtocolIE_ID_t)60029)
#define ProtocolIE_ID_id_RICrequestID	((ProtocolIE_ID_t)60030)
#define ProtocolIE_ID_id_RICrequestorID	((ProtocolIE_ID_t)60031)
#define ProtocolIE_ID_id_RICrequestSequenceNumber	((ProtocolIE_ID_t)60032)
#define ProtocolIE_ID_id_RICsubscription	((ProtocolIE_ID_t)60033)
#define ProtocolIE_ID_id_RICsubsequentAction	((ProtocolIE_ID_t)60034)
#define ProtocolIE_ID_id_RICsubsequentActionType	((ProtocolIE_ID_t)60035)
#define ProtocolIE_ID_id_RICtimeToWait	((ProtocolIE_ID_t)60036)
extern asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID;
asn_struct_free_f ProtocolIE_ID_free;
asn_struct_print_f ProtocolIE_ID_print;
asn_constr_check_f ProtocolIE_ID_constraint;
ber_type_decoder_f ProtocolIE_ID_decode_ber;
der_type_encoder_f ProtocolIE_ID_encode_der;
xer_type_decoder_f ProtocolIE_ID_decode_xer;
xer_type_encoder_f ProtocolIE_ID_encode_xer;
per_type_decoder_f ProtocolIE_ID_decode_uper;
per_type_encoder_f ProtocolIE_ID_encode_uper;
per_type_decoder_f ProtocolIE_ID_decode_aper;
per_type_encoder_f ProtocolIE_ID_encode_aper;
#define ProtocolIE_ID_id_Cause	((ProtocolIE_ID_t)5)
#define ProtocolIE_ID_id_CellInformation	((ProtocolIE_ID_t)6)
#define ProtocolIE_ID_id_CellInformation_Item	((ProtocolIE_ID_t)7)
#define ProtocolIE_ID_id_New_eNB_UE_X2AP_ID	((ProtocolIE_ID_t)9)
#define ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID	((ProtocolIE_ID_t)10)
#define ProtocolIE_ID_id_CriticalityDiagnostics	((ProtocolIE_ID_t)17)
#define ProtocolIE_ID_id_ServedCells	((ProtocolIE_ID_t)20)
#define ProtocolIE_ID_id_GlobalENB_ID	((ProtocolIE_ID_t)21)
#define ProtocolIE_ID_id_TimeToWait	((ProtocolIE_ID_t)22)
#define ProtocolIE_ID_id_GUGroupIDList	((ProtocolIE_ID_t)24)
#define ProtocolIE_ID_id_ServedCellsToAdd	((ProtocolIE_ID_t)25)
#define ProtocolIE_ID_id_ServedCellsToModify	((ProtocolIE_ID_t)26)
#define ProtocolIE_ID_id_ServedCellsToDelete	((ProtocolIE_ID_t)27)
#define ProtocolIE_ID_id_Registration_Request	((ProtocolIE_ID_t)28)
#define ProtocolIE_ID_id_CellToReport	((ProtocolIE_ID_t)29)
#define ProtocolIE_ID_id_ReportingPeriodicity	((ProtocolIE_ID_t)30)
#define ProtocolIE_ID_id_CellToReport_Item	((ProtocolIE_ID_t)31)
#define ProtocolIE_ID_id_CellMeasurementResult	((ProtocolIE_ID_t)32)
#define ProtocolIE_ID_id_CellMeasurementResult_Item	((ProtocolIE_ID_t)33)
#define ProtocolIE_ID_id_GUGroupIDToAddList	((ProtocolIE_ID_t)34)
#define ProtocolIE_ID_id_GUGroupIDToDeleteList	((ProtocolIE_ID_t)35)
#define ProtocolIE_ID_id_ReportCharacteristics	((ProtocolIE_ID_t)38)
#define ProtocolIE_ID_id_ENB1_Measurement_ID	((ProtocolIE_ID_t)39)
#define ProtocolIE_ID_id_ENB2_Measurement_ID	((ProtocolIE_ID_t)40)
#define ProtocolIE_ID_id_Number_of_Antennaports	((ProtocolIE_ID_t)41)
#define ProtocolIE_ID_id_CompositeAvailableCapacityGroup	((ProtocolIE_ID_t)42)
#define ProtocolIE_ID_id_PRACH_Configuration	((ProtocolIE_ID_t)55)
#define ProtocolIE_ID_id_MBSFN_Subframe_Info	((ProtocolIE_ID_t)56)
#define ProtocolIE_ID_id_DeactivationIndication	((ProtocolIE_ID_t)59)
#define ProtocolIE_ID_id_ABSInformation	((ProtocolIE_ID_t)61)
#define ProtocolIE_ID_id_InvokeIndication	((ProtocolIE_ID_t)62)
#define ProtocolIE_ID_id_ABS_Status	((ProtocolIE_ID_t)63)
#define ProtocolIE_ID_id_PartialSuccessIndicator	((ProtocolIE_ID_t)64)
#define ProtocolIE_ID_id_MeasurementInitiationResult_List	((ProtocolIE_ID_t)65)
#define ProtocolIE_ID_id_MeasurementInitiationResult_Item	((ProtocolIE_ID_t)66)
#define ProtocolIE_ID_id_MeasurementFailureCause_Item	((ProtocolIE_ID_t)67)
#define ProtocolIE_ID_id_CompleteFailureCauseInformation_List	((ProtocolIE_ID_t)68)
#define ProtocolIE_ID_id_CompleteFailureCauseInformation_Item	((ProtocolIE_ID_t)69)
#define ProtocolIE_ID_id_CSG_Id	((ProtocolIE_ID_t)70)
#define ProtocolIE_ID_id_NeighbourTAC	((ProtocolIE_ID_t)76)
#define ProtocolIE_ID_id_MBMS_Service_Area_List	((ProtocolIE_ID_t)79)
#define ProtocolIE_ID_id_MultibandInfoList	((ProtocolIE_ID_t)84)
#define ProtocolIE_ID_id_eARFCNExtension	((ProtocolIE_ID_t)94)
#define ProtocolIE_ID_id_UL_EARFCNExtension	((ProtocolIE_ID_t)95)
#define ProtocolIE_ID_id_DL_EARFCNExtension	((ProtocolIE_ID_t)96)
#define ProtocolIE_ID_id_AdditionalSpecialSubframe_Info	((ProtocolIE_ID_t)97)
#define ProtocolIE_ID_id_IntendedULDLConfiguration	((ProtocolIE_ID_t)99)
#define ProtocolIE_ID_id_ExtendedULInterferenceOverloadInfo	((ProtocolIE_ID_t)100)
#define ProtocolIE_ID_id_DynamicDLTransmissionInformation	((ProtocolIE_ID_t)106)
#define ProtocolIE_ID_id_CoMPInformation	((ProtocolIE_ID_t)108)
#define ProtocolIE_ID_id_ReportingPeriodicityRSRPMR	((ProtocolIE_ID_t)109)
#define ProtocolIE_ID_id_RSRPMRList	((ProtocolIE_ID_t)110)
#define ProtocolIE_ID_id_MeNB_UE_X2AP_ID	((ProtocolIE_ID_t)111)
#define ProtocolIE_ID_id_SeNB_UE_X2AP_ID	((ProtocolIE_ID_t)112)
#define ProtocolIE_ID_id_ResponseInformationSeNBReconfComp	((ProtocolIE_ID_t)123)
#define ProtocolIE_ID_id_CoverageModificationList	((ProtocolIE_ID_t)143)
#define ProtocolIE_ID_id_ReportingPeriodicityCSIR	((ProtocolIE_ID_t)145)
#define ProtocolIE_ID_id_CSIReportList	((ProtocolIE_ID_t)146)
#define ProtocolIE_ID_id_UEID	((ProtocolIE_ID_t)147)
#define ProtocolIE_ID_id_enhancedRNTP	((ProtocolIE_ID_t)148)
#define ProtocolIE_ID_id_New_eNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)155)
#define ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)156)
#define ProtocolIE_ID_id_MeNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)157)
#define ProtocolIE_ID_id_SeNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)158)
#define ProtocolIE_ID_id_LHN_ID	((ProtocolIE_ID_t)159)
#define ProtocolIE_ID_id_FreqBandIndicatorPriority	((ProtocolIE_ID_t)160)
#define ProtocolIE_ID_id_CellReportingIndicator	((ProtocolIE_ID_t)170)
#define ProtocolIE_ID_id_OffsetOfNbiotChannelNumberToDL_EARFCN	((ProtocolIE_ID_t)177)
#define ProtocolIE_ID_id_OffsetOfNbiotChannelNumberToUL_EARFCN	((ProtocolIE_ID_t)178)
#define ProtocolIE_ID_id_AdditionalSpecialSubframeExtension_Info	((ProtocolIE_ID_t)179)
#define ProtocolIE_ID_id_BandwidthReducedSI	((ProtocolIE_ID_t)180)
#define ProtocolIE_ID_id_DL_scheduling_PDCCH_CCE_usage	((ProtocolIE_ID_t)193)
#define ProtocolIE_ID_id_UL_scheduling_PDCCH_CCE_usage	((ProtocolIE_ID_t)194)
#define ProtocolIE_ID_id_SgNB_UE_X2AP_ID	((ProtocolIE_ID_t)207)
#define ProtocolIE_ID_id_ResponseInformationSgNBReconfComp	((ProtocolIE_ID_t)214)
#define ProtocolIE_ID_id_InitiatingNodeType_EndcX2Setup	((ProtocolIE_ID_t)244)
#define ProtocolIE_ID_id_InitiatingNodeType_EndcConfigUpdate	((ProtocolIE_ID_t)245)
#define ProtocolIE_ID_id_RespondingNodeType_EndcX2Setup	((ProtocolIE_ID_t)246)
#define ProtocolIE_ID_id_RespondingNodeType_EndcConfigUpdate	((ProtocolIE_ID_t)247)
#define ProtocolIE_ID_id_ServedEUTRAcellsENDCX2ManagementList	((ProtocolIE_ID_t)250)
#define ProtocolIE_ID_id_CellAssistanceInformation	((ProtocolIE_ID_t)251)
#define ProtocolIE_ID_id_Globalen_gNB_ID	((ProtocolIE_ID_t)252)
#define ProtocolIE_ID_id_ServedNRcellsENDCX2ManagementList	((ProtocolIE_ID_t)253)
#define ProtocolIE_ID_id_ServedEUTRAcellsToModifyListENDCConfUpd	((ProtocolIE_ID_t)259)
#define ProtocolIE_ID_id_ServedEUTRAcellsToDeleteListENDCConfUpd	((ProtocolIE_ID_t)260)
#define ProtocolIE_ID_id_ServedNRcellsToModifyListENDCConfUpd	((ProtocolIE_ID_t)261)
#define ProtocolIE_ID_id_ServedNRcellsToDeleteListENDCConfUpd	((ProtocolIE_ID_t)262)
#define ProtocolIE_ID_id_Old_SgNB_UE_X2AP_ID	((ProtocolIE_ID_t)264)
#define ProtocolIE_ID_id_NRS_NSSS_PowerOffset	((ProtocolIE_ID_t)282)
#define ProtocolIE_ID_id_NSSS_NumOccasionDifferentPrecoder	((ProtocolIE_ID_t)283)
#define ProtocolIE_ID_id_ProtectedEUTRAResourceIndication	((ProtocolIE_ID_t)284)
#define ProtocolIE_ID_id_GNBOverloadInformation	((ProtocolIE_ID_t)310)

#ifdef __cplusplus
}
#endif

#endif	/* _ProtocolIE_ID_H_ */
#include "asn_internal.h"
