/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "NGAP-PDU-Descriptions"
 * 	found in "NGAP-PDU-Descriptions.asn"
 * 	`asn1c -pdu=all -fcompound-names -findirect-choice -fno-include-deps -no-gen-OER -gen-PER -no-gen-example -D ngap`
 */

#ifndef	_ASN_NGAP_InitiatingMessage_H_
#define	_ASN_NGAP_InitiatingMessage_H_


#include <asn_application.h>

/* Including external dependencies */
#include "ASN_NGAP_ProcedureCode.h"
#include "ASN_NGAP_Criticality.h"
#include <ANY.h>
#include <asn_ioc.h>
#include "ASN_NGAP_AMFConfigurationUpdate.h"
#include "ASN_NGAP_AMFConfigurationUpdateAcknowledge.h"
#include "ASN_NGAP_AMFConfigurationUpdateFailure.h"
#include "ASN_NGAP_BroadcastSessionModificationRequest.h"
#include "ASN_NGAP_BroadcastSessionModificationResponse.h"
#include "ASN_NGAP_BroadcastSessionModificationFailure.h"
#include "ASN_NGAP_BroadcastSessionReleaseRequest.h"
#include "ASN_NGAP_BroadcastSessionReleaseResponse.h"
#include "ASN_NGAP_BroadcastSessionSetupRequest.h"
#include "ASN_NGAP_BroadcastSessionSetupResponse.h"
#include "ASN_NGAP_BroadcastSessionSetupFailure.h"
#include "ASN_NGAP_DistributionSetupRequest.h"
#include "ASN_NGAP_DistributionSetupResponse.h"
#include "ASN_NGAP_DistributionSetupFailure.h"
#include "ASN_NGAP_DistributionReleaseRequest.h"
#include "ASN_NGAP_DistributionReleaseResponse.h"
#include "ASN_NGAP_HandoverCancel.h"
#include "ASN_NGAP_HandoverCancelAcknowledge.h"
#include "ASN_NGAP_HandoverRequired.h"
#include "ASN_NGAP_HandoverCommand.h"
#include "ASN_NGAP_HandoverPreparationFailure.h"
#include "ASN_NGAP_HandoverRequest.h"
#include "ASN_NGAP_HandoverRequestAcknowledge.h"
#include "ASN_NGAP_HandoverFailure.h"
#include "ASN_NGAP_InitialContextSetupRequest.h"
#include "ASN_NGAP_InitialContextSetupResponse.h"
#include "ASN_NGAP_InitialContextSetupFailure.h"
#include "ASN_NGAP_MulticastSessionActivationRequest.h"
#include "ASN_NGAP_MulticastSessionActivationResponse.h"
#include "ASN_NGAP_MulticastSessionActivationFailure.h"
#include "ASN_NGAP_MulticastSessionDeactivationRequest.h"
#include "ASN_NGAP_MulticastSessionDeactivationResponse.h"
#include "ASN_NGAP_MulticastSessionUpdateRequest.h"
#include "ASN_NGAP_MulticastSessionUpdateResponse.h"
#include "ASN_NGAP_MulticastSessionUpdateFailure.h"
#include "ASN_NGAP_NGReset.h"
#include "ASN_NGAP_NGResetAcknowledge.h"
#include "ASN_NGAP_NGSetupRequest.h"
#include "ASN_NGAP_NGSetupResponse.h"
#include "ASN_NGAP_NGSetupFailure.h"
#include "ASN_NGAP_PathSwitchRequest.h"
#include "ASN_NGAP_PathSwitchRequestAcknowledge.h"
#include "ASN_NGAP_PathSwitchRequestFailure.h"
#include "ASN_NGAP_PDUSessionResourceModifyRequest.h"
#include "ASN_NGAP_PDUSessionResourceModifyResponse.h"
#include "ASN_NGAP_PDUSessionResourceModifyIndication.h"
#include "ASN_NGAP_PDUSessionResourceModifyConfirm.h"
#include "ASN_NGAP_PDUSessionResourceReleaseCommand.h"
#include "ASN_NGAP_PDUSessionResourceReleaseResponse.h"
#include "ASN_NGAP_PDUSessionResourceSetupRequest.h"
#include "ASN_NGAP_PDUSessionResourceSetupResponse.h"
#include "ASN_NGAP_PWSCancelRequest.h"
#include "ASN_NGAP_PWSCancelResponse.h"
#include "ASN_NGAP_RANConfigurationUpdate.h"
#include "ASN_NGAP_RANConfigurationUpdateAcknowledge.h"
#include "ASN_NGAP_RANConfigurationUpdateFailure.h"
#include "ASN_NGAP_UEContextModificationRequest.h"
#include "ASN_NGAP_UEContextModificationResponse.h"
#include "ASN_NGAP_UEContextModificationFailure.h"
#include "ASN_NGAP_UEContextReleaseCommand.h"
#include "ASN_NGAP_UEContextReleaseComplete.h"
#include "ASN_NGAP_UEContextResumeRequest.h"
#include "ASN_NGAP_UEContextResumeResponse.h"
#include "ASN_NGAP_UEContextResumeFailure.h"
#include "ASN_NGAP_UEContextSuspendRequest.h"
#include "ASN_NGAP_UEContextSuspendResponse.h"
#include "ASN_NGAP_UEContextSuspendFailure.h"
#include "ASN_NGAP_UERadioCapabilityCheckRequest.h"
#include "ASN_NGAP_UERadioCapabilityCheckResponse.h"
#include "ASN_NGAP_UERadioCapabilityIDMappingRequest.h"
#include "ASN_NGAP_UERadioCapabilityIDMappingResponse.h"
#include "ASN_NGAP_WriteReplaceWarningRequest.h"
#include "ASN_NGAP_WriteReplaceWarningResponse.h"
#include "ASN_NGAP_AMFCPRelocationIndication.h"
#include "ASN_NGAP_AMFStatusIndication.h"
#include "ASN_NGAP_BroadcastSessionReleaseRequired.h"
#include "ASN_NGAP_CellTrafficTrace.h"
#include "ASN_NGAP_ConnectionEstablishmentIndication.h"
#include "ASN_NGAP_DeactivateTrace.h"
#include "ASN_NGAP_DownlinkNASTransport.h"
#include "ASN_NGAP_DownlinkNonUEAssociatedNRPPaTransport.h"
#include "ASN_NGAP_DownlinkRANConfigurationTransfer.h"
#include "ASN_NGAP_DownlinkRANEarlyStatusTransfer.h"
#include "ASN_NGAP_DownlinkRANStatusTransfer.h"
#include "ASN_NGAP_DownlinkRIMInformationTransfer.h"
#include "ASN_NGAP_DownlinkUEAssociatedNRPPaTransport.h"
#include "ASN_NGAP_ErrorIndication.h"
#include "ASN_NGAP_HandoverNotify.h"
#include "ASN_NGAP_HandoverSuccess.h"
#include "ASN_NGAP_InitialUEMessage.h"
#include "ASN_NGAP_LocationReport.h"
#include "ASN_NGAP_LocationReportingControl.h"
#include "ASN_NGAP_LocationReportingFailureIndication.h"
#include "ASN_NGAP_MulticastGroupPaging.h"
#include "ASN_NGAP_NASNonDeliveryIndication.h"
#include "ASN_NGAP_OverloadStart.h"
#include "ASN_NGAP_OverloadStop.h"
#include "ASN_NGAP_Paging.h"
#include "ASN_NGAP_PDUSessionResourceNotify.h"
#include "ASN_NGAP_PrivateMessage.h"
#include "ASN_NGAP_PWSFailureIndication.h"
#include "ASN_NGAP_PWSRestartIndication.h"
#include "ASN_NGAP_RANCPRelocationIndication.h"
#include "ASN_NGAP_RerouteNASRequest.h"
#include "ASN_NGAP_RetrieveUEInformation.h"
#include "ASN_NGAP_RRCInactiveTransitionReport.h"
#include "ASN_NGAP_SecondaryRATDataUsageReport.h"
#include "ASN_NGAP_TraceFailureIndication.h"
#include "ASN_NGAP_TraceStart.h"
#include "ASN_NGAP_UEContextReleaseRequest.h"
#include "ASN_NGAP_UEInformationTransfer.h"
#include "ASN_NGAP_UERadioCapabilityInfoIndication.h"
#include "ASN_NGAP_UETNLABindingReleaseRequest.h"
#include "ASN_NGAP_UplinkNASTransport.h"
#include "ASN_NGAP_UplinkNonUEAssociatedNRPPaTransport.h"
#include "ASN_NGAP_UplinkRANConfigurationTransfer.h"
#include "ASN_NGAP_UplinkRANEarlyStatusTransfer.h"
#include "ASN_NGAP_UplinkRANStatusTransfer.h"
#include "ASN_NGAP_UplinkRIMInformationTransfer.h"
#include "ASN_NGAP_UplinkUEAssociatedNRPPaTransport.h"
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum ASN_NGAP_InitiatingMessage__value_PR {
	ASN_NGAP_InitiatingMessage__value_PR_NOTHING,	/* No components present */
	ASN_NGAP_InitiatingMessage__value_PR_AMFConfigurationUpdate,
	ASN_NGAP_InitiatingMessage__value_PR_BroadcastSessionModificationRequest,
	ASN_NGAP_InitiatingMessage__value_PR_BroadcastSessionReleaseRequest,
	ASN_NGAP_InitiatingMessage__value_PR_BroadcastSessionSetupRequest,
	ASN_NGAP_InitiatingMessage__value_PR_DistributionSetupRequest,
	ASN_NGAP_InitiatingMessage__value_PR_DistributionReleaseRequest,
	ASN_NGAP_InitiatingMessage__value_PR_HandoverCancel,
	ASN_NGAP_InitiatingMessage__value_PR_HandoverRequired,
	ASN_NGAP_InitiatingMessage__value_PR_HandoverRequest,
	ASN_NGAP_InitiatingMessage__value_PR_InitialContextSetupRequest,
	ASN_NGAP_InitiatingMessage__value_PR_MulticastSessionActivationRequest,
	ASN_NGAP_InitiatingMessage__value_PR_MulticastSessionDeactivationRequest,
	ASN_NGAP_InitiatingMessage__value_PR_MulticastSessionUpdateRequest,
	ASN_NGAP_InitiatingMessage__value_PR_NGReset,
	ASN_NGAP_InitiatingMessage__value_PR_NGSetupRequest,
	ASN_NGAP_InitiatingMessage__value_PR_PathSwitchRequest,
	ASN_NGAP_InitiatingMessage__value_PR_PDUSessionResourceModifyRequest,
	ASN_NGAP_InitiatingMessage__value_PR_PDUSessionResourceModifyIndication,
	ASN_NGAP_InitiatingMessage__value_PR_PDUSessionResourceReleaseCommand,
	ASN_NGAP_InitiatingMessage__value_PR_PDUSessionResourceSetupRequest,
	ASN_NGAP_InitiatingMessage__value_PR_PWSCancelRequest,
	ASN_NGAP_InitiatingMessage__value_PR_RANConfigurationUpdate,
	ASN_NGAP_InitiatingMessage__value_PR_UEContextModificationRequest,
	ASN_NGAP_InitiatingMessage__value_PR_UEContextReleaseCommand,
	ASN_NGAP_InitiatingMessage__value_PR_UEContextResumeRequest,
	ASN_NGAP_InitiatingMessage__value_PR_UEContextSuspendRequest,
	ASN_NGAP_InitiatingMessage__value_PR_UERadioCapabilityCheckRequest,
	ASN_NGAP_InitiatingMessage__value_PR_UERadioCapabilityIDMappingRequest,
	ASN_NGAP_InitiatingMessage__value_PR_WriteReplaceWarningRequest,
	ASN_NGAP_InitiatingMessage__value_PR_AMFCPRelocationIndication,
	ASN_NGAP_InitiatingMessage__value_PR_AMFStatusIndication,
	ASN_NGAP_InitiatingMessage__value_PR_BroadcastSessionReleaseRequired,
	ASN_NGAP_InitiatingMessage__value_PR_CellTrafficTrace,
	ASN_NGAP_InitiatingMessage__value_PR_ConnectionEstablishmentIndication,
	ASN_NGAP_InitiatingMessage__value_PR_DeactivateTrace,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkNASTransport,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkNonUEAssociatedNRPPaTransport,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkRANConfigurationTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkRANEarlyStatusTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkRANStatusTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkRIMInformationTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_DownlinkUEAssociatedNRPPaTransport,
	ASN_NGAP_InitiatingMessage__value_PR_ErrorIndication,
	ASN_NGAP_InitiatingMessage__value_PR_HandoverNotify,
	ASN_NGAP_InitiatingMessage__value_PR_HandoverSuccess,
	ASN_NGAP_InitiatingMessage__value_PR_InitialUEMessage,
	ASN_NGAP_InitiatingMessage__value_PR_LocationReport,
	ASN_NGAP_InitiatingMessage__value_PR_LocationReportingControl,
	ASN_NGAP_InitiatingMessage__value_PR_LocationReportingFailureIndication,
	ASN_NGAP_InitiatingMessage__value_PR_MulticastGroupPaging,
	ASN_NGAP_InitiatingMessage__value_PR_NASNonDeliveryIndication,
	ASN_NGAP_InitiatingMessage__value_PR_OverloadStart,
	ASN_NGAP_InitiatingMessage__value_PR_OverloadStop,
	ASN_NGAP_InitiatingMessage__value_PR_Paging,
	ASN_NGAP_InitiatingMessage__value_PR_PDUSessionResourceNotify,
	ASN_NGAP_InitiatingMessage__value_PR_PrivateMessage,
	ASN_NGAP_InitiatingMessage__value_PR_PWSFailureIndication,
	ASN_NGAP_InitiatingMessage__value_PR_PWSRestartIndication,
	ASN_NGAP_InitiatingMessage__value_PR_RANCPRelocationIndication,
	ASN_NGAP_InitiatingMessage__value_PR_RerouteNASRequest,
	ASN_NGAP_InitiatingMessage__value_PR_RetrieveUEInformation,
	ASN_NGAP_InitiatingMessage__value_PR_RRCInactiveTransitionReport,
	ASN_NGAP_InitiatingMessage__value_PR_SecondaryRATDataUsageReport,
	ASN_NGAP_InitiatingMessage__value_PR_TraceFailureIndication,
	ASN_NGAP_InitiatingMessage__value_PR_TraceStart,
	ASN_NGAP_InitiatingMessage__value_PR_UEContextReleaseRequest,
	ASN_NGAP_InitiatingMessage__value_PR_UEInformationTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_UERadioCapabilityInfoIndication,
	ASN_NGAP_InitiatingMessage__value_PR_UETNLABindingReleaseRequest,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkNASTransport,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkNonUEAssociatedNRPPaTransport,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkRANConfigurationTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkRANEarlyStatusTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkRANStatusTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkRIMInformationTransfer,
	ASN_NGAP_InitiatingMessage__value_PR_UplinkUEAssociatedNRPPaTransport
} ASN_NGAP_InitiatingMessage__value_PR;

/* ASN_NGAP_InitiatingMessage */
typedef struct ASN_NGAP_InitiatingMessage {
	ASN_NGAP_ProcedureCode_t	 procedureCode;
	ASN_NGAP_Criticality_t	 criticality;
	struct ASN_NGAP_InitiatingMessage__value {
		ASN_NGAP_InitiatingMessage__value_PR present;
		union ASN_NGAP_InitiatingMessage__ASN_NGAP_value_u {
			ASN_NGAP_AMFConfigurationUpdate_t	 AMFConfigurationUpdate;
			ASN_NGAP_BroadcastSessionModificationRequest_t	 BroadcastSessionModificationRequest;
			ASN_NGAP_BroadcastSessionReleaseRequest_t	 BroadcastSessionReleaseRequest;
			ASN_NGAP_BroadcastSessionSetupRequest_t	 BroadcastSessionSetupRequest;
			ASN_NGAP_DistributionSetupRequest_t	 DistributionSetupRequest;
			ASN_NGAP_DistributionReleaseRequest_t	 DistributionReleaseRequest;
			ASN_NGAP_HandoverCancel_t	 HandoverCancel;
			ASN_NGAP_HandoverRequired_t	 HandoverRequired;
			ASN_NGAP_HandoverRequest_t	 HandoverRequest;
			ASN_NGAP_InitialContextSetupRequest_t	 InitialContextSetupRequest;
			ASN_NGAP_MulticastSessionActivationRequest_t	 MulticastSessionActivationRequest;
			ASN_NGAP_MulticastSessionDeactivationRequest_t	 MulticastSessionDeactivationRequest;
			ASN_NGAP_MulticastSessionUpdateRequest_t	 MulticastSessionUpdateRequest;
			ASN_NGAP_NGReset_t	 NGReset;
			ASN_NGAP_NGSetupRequest_t	 NGSetupRequest;
			ASN_NGAP_PathSwitchRequest_t	 PathSwitchRequest;
			ASN_NGAP_PDUSessionResourceModifyRequest_t	 PDUSessionResourceModifyRequest;
			ASN_NGAP_PDUSessionResourceModifyIndication_t	 PDUSessionResourceModifyIndication;
			ASN_NGAP_PDUSessionResourceReleaseCommand_t	 PDUSessionResourceReleaseCommand;
			ASN_NGAP_PDUSessionResourceSetupRequest_t	 PDUSessionResourceSetupRequest;
			ASN_NGAP_PWSCancelRequest_t	 PWSCancelRequest;
			ASN_NGAP_RANConfigurationUpdate_t	 RANConfigurationUpdate;
			ASN_NGAP_UEContextModificationRequest_t	 UEContextModificationRequest;
			ASN_NGAP_UEContextReleaseCommand_t	 UEContextReleaseCommand;
			ASN_NGAP_UEContextResumeRequest_t	 UEContextResumeRequest;
			ASN_NGAP_UEContextSuspendRequest_t	 UEContextSuspendRequest;
			ASN_NGAP_UERadioCapabilityCheckRequest_t	 UERadioCapabilityCheckRequest;
			ASN_NGAP_UERadioCapabilityIDMappingRequest_t	 UERadioCapabilityIDMappingRequest;
			ASN_NGAP_WriteReplaceWarningRequest_t	 WriteReplaceWarningRequest;
			ASN_NGAP_AMFCPRelocationIndication_t	 AMFCPRelocationIndication;
			ASN_NGAP_AMFStatusIndication_t	 AMFStatusIndication;
			ASN_NGAP_BroadcastSessionReleaseRequired_t	 BroadcastSessionReleaseRequired;
			ASN_NGAP_CellTrafficTrace_t	 CellTrafficTrace;
			ASN_NGAP_ConnectionEstablishmentIndication_t	 ConnectionEstablishmentIndication;
			ASN_NGAP_DeactivateTrace_t	 DeactivateTrace;
			ASN_NGAP_DownlinkNASTransport_t	 DownlinkNASTransport;
			ASN_NGAP_DownlinkNonUEAssociatedNRPPaTransport_t	 DownlinkNonUEAssociatedNRPPaTransport;
			ASN_NGAP_DownlinkRANConfigurationTransfer_t	 DownlinkRANConfigurationTransfer;
			ASN_NGAP_DownlinkRANEarlyStatusTransfer_t	 DownlinkRANEarlyStatusTransfer;
			ASN_NGAP_DownlinkRANStatusTransfer_t	 DownlinkRANStatusTransfer;
			ASN_NGAP_DownlinkRIMInformationTransfer_t	 DownlinkRIMInformationTransfer;
			ASN_NGAP_DownlinkUEAssociatedNRPPaTransport_t	 DownlinkUEAssociatedNRPPaTransport;
			ASN_NGAP_ErrorIndication_t	 ErrorIndication;
			ASN_NGAP_HandoverNotify_t	 HandoverNotify;
			ASN_NGAP_HandoverSuccess_t	 HandoverSuccess;
			ASN_NGAP_InitialUEMessage_t	 InitialUEMessage;
			ASN_NGAP_LocationReport_t	 LocationReport;
			ASN_NGAP_LocationReportingControl_t	 LocationReportingControl;
			ASN_NGAP_LocationReportingFailureIndication_t	 LocationReportingFailureIndication;
			ASN_NGAP_MulticastGroupPaging_t	 MulticastGroupPaging;
			ASN_NGAP_NASNonDeliveryIndication_t	 NASNonDeliveryIndication;
			ASN_NGAP_OverloadStart_t	 OverloadStart;
			ASN_NGAP_OverloadStop_t	 OverloadStop;
			ASN_NGAP_Paging_t	 Paging;
			ASN_NGAP_PDUSessionResourceNotify_t	 PDUSessionResourceNotify;
			ASN_NGAP_PrivateMessage_t	 PrivateMessage;
			ASN_NGAP_PWSFailureIndication_t	 PWSFailureIndication;
			ASN_NGAP_PWSRestartIndication_t	 PWSRestartIndication;
			ASN_NGAP_RANCPRelocationIndication_t	 RANCPRelocationIndication;
			ASN_NGAP_RerouteNASRequest_t	 RerouteNASRequest;
			ASN_NGAP_RetrieveUEInformation_t	 RetrieveUEInformation;
			ASN_NGAP_RRCInactiveTransitionReport_t	 RRCInactiveTransitionReport;
			ASN_NGAP_SecondaryRATDataUsageReport_t	 SecondaryRATDataUsageReport;
			ASN_NGAP_TraceFailureIndication_t	 TraceFailureIndication;
			ASN_NGAP_TraceStart_t	 TraceStart;
			ASN_NGAP_UEContextReleaseRequest_t	 UEContextReleaseRequest;
			ASN_NGAP_UEInformationTransfer_t	 UEInformationTransfer;
			ASN_NGAP_UERadioCapabilityInfoIndication_t	 UERadioCapabilityInfoIndication;
			ASN_NGAP_UETNLABindingReleaseRequest_t	 UETNLABindingReleaseRequest;
			ASN_NGAP_UplinkNASTransport_t	 UplinkNASTransport;
			ASN_NGAP_UplinkNonUEAssociatedNRPPaTransport_t	 UplinkNonUEAssociatedNRPPaTransport;
			ASN_NGAP_UplinkRANConfigurationTransfer_t	 UplinkRANConfigurationTransfer;
			ASN_NGAP_UplinkRANEarlyStatusTransfer_t	 UplinkRANEarlyStatusTransfer;
			ASN_NGAP_UplinkRANStatusTransfer_t	 UplinkRANStatusTransfer;
			ASN_NGAP_UplinkRIMInformationTransfer_t	 UplinkRIMInformationTransfer;
			ASN_NGAP_UplinkUEAssociatedNRPPaTransport_t	 UplinkUEAssociatedNRPPaTransport;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ASN_NGAP_InitiatingMessage_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ASN_NGAP_InitiatingMessage;
extern asn_SEQUENCE_specifics_t asn_SPC_ASN_NGAP_InitiatingMessage_specs_1;
extern asn_TYPE_member_t asn_MBR_ASN_NGAP_InitiatingMessage_1[3];

#ifdef __cplusplus
}
#endif

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