/*
 * Generated by asn1c-v1.4-43-gb7926896-2026-05-03 (https://github.com/mouse07410/asn1c)
 * From ASN.1 module "NGAP-PDU-Descriptions"
 * 	found in "../support/ngap-r19.2.0/38413-j20.asn"
 * 	`asn1c -pdu=all -fprefix=NGAP_ -fcompound-names -findirect-choice -fno-include-deps -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR -no-gen-OER -no-gen-UPER`
 */

#ifndef	_NGAP_SuccessfulOutcome_H_
#define	_NGAP_SuccessfulOutcome_H_


#include <asn_application.h>

/* Including external dependencies */
#include "NGAP_ProcedureCode.h"
#include "NGAP_Criticality.h"
#include <ANY.h>
#include <asn_ioc.h>
#include "NGAP_AMFConfigurationUpdate.h"
#include "NGAP_AMFConfigurationUpdateAcknowledge.h"
#include "NGAP_AMFConfigurationUpdateFailure.h"
#include <NativeInteger.h>
#include <NativeEnumerated.h>
#include "NGAP_BroadcastSessionModificationRequest.h"
#include "NGAP_BroadcastSessionModificationResponse.h"
#include "NGAP_BroadcastSessionModificationFailure.h"
#include "NGAP_BroadcastSessionReleaseRequest.h"
#include "NGAP_BroadcastSessionReleaseResponse.h"
#include "NGAP_BroadcastSessionSetupRequest.h"
#include "NGAP_BroadcastSessionSetupResponse.h"
#include "NGAP_BroadcastSessionSetupFailure.h"
#include "NGAP_BroadcastSessionTransportRequest.h"
#include "NGAP_BroadcastSessionTransportResponse.h"
#include "NGAP_BroadcastSessionTransportFailure.h"
#include "NGAP_DistributionSetupRequest.h"
#include "NGAP_DistributionSetupResponse.h"
#include "NGAP_DistributionSetupFailure.h"
#include "NGAP_DistributionReleaseRequest.h"
#include "NGAP_DistributionReleaseResponse.h"
#include "NGAP_HandoverCancel.h"
#include "NGAP_HandoverCancelAcknowledge.h"
#include "NGAP_HandoverRequired.h"
#include "NGAP_HandoverCommand.h"
#include "NGAP_HandoverPreparationFailure.h"
#include "NGAP_HandoverRequest.h"
#include "NGAP_HandoverRequestAcknowledge.h"
#include "NGAP_HandoverFailure.h"
#include "NGAP_InitialContextSetupRequest.h"
#include "NGAP_InitialContextSetupResponse.h"
#include "NGAP_InitialContextSetupFailure.h"
#include "NGAP_MTCommunicationHandlingRequest.h"
#include "NGAP_MTCommunicationHandlingResponse.h"
#include "NGAP_MTCommunicationHandlingFailure.h"
#include "NGAP_MulticastSessionActivationRequest.h"
#include "NGAP_MulticastSessionActivationResponse.h"
#include "NGAP_MulticastSessionActivationFailure.h"
#include "NGAP_MulticastSessionDeactivationRequest.h"
#include "NGAP_MulticastSessionDeactivationResponse.h"
#include "NGAP_MulticastSessionUpdateRequest.h"
#include "NGAP_MulticastSessionUpdateResponse.h"
#include "NGAP_MulticastSessionUpdateFailure.h"
#include "NGAP_NGReset.h"
#include "NGAP_NGResetAcknowledge.h"
#include "NGAP_NGSetupRequest.h"
#include "NGAP_NGSetupResponse.h"
#include "NGAP_NGSetupFailure.h"
#include "NGAP_PathSwitchRequest.h"
#include "NGAP_PathSwitchRequestAcknowledge.h"
#include "NGAP_PathSwitchRequestFailure.h"
#include "NGAP_PDUSessionResourceModifyRequest.h"
#include "NGAP_PDUSessionResourceModifyResponse.h"
#include "NGAP_PDUSessionResourceModifyIndication.h"
#include "NGAP_PDUSessionResourceModifyConfirm.h"
#include "NGAP_PDUSessionResourceReleaseCommand.h"
#include "NGAP_PDUSessionResourceReleaseResponse.h"
#include "NGAP_PDUSessionResourceSetupRequest.h"
#include "NGAP_PDUSessionResourceSetupResponse.h"
#include "NGAP_PWSCancelRequest.h"
#include "NGAP_PWSCancelResponse.h"
#include "NGAP_RANConfigurationUpdate.h"
#include "NGAP_RANConfigurationUpdateAcknowledge.h"
#include "NGAP_RANConfigurationUpdateFailure.h"
#include "NGAP_TimingSynchronisationStatusRequest.h"
#include "NGAP_TimingSynchronisationStatusResponse.h"
#include "NGAP_TimingSynchronisationStatusFailure.h"
#include "NGAP_UEContextModificationRequest.h"
#include "NGAP_UEContextModificationResponse.h"
#include "NGAP_UEContextModificationFailure.h"
#include "NGAP_UEContextReleaseCommand.h"
#include "NGAP_UEContextReleaseComplete.h"
#include "NGAP_UEContextResumeRequest.h"
#include "NGAP_UEContextResumeResponse.h"
#include "NGAP_UEContextResumeFailure.h"
#include "NGAP_UEContextSuspendRequest.h"
#include "NGAP_UEContextSuspendResponse.h"
#include "NGAP_UEContextSuspendFailure.h"
#include "NGAP_UERadioCapabilityCheckRequest.h"
#include "NGAP_UERadioCapabilityCheckResponse.h"
#include "NGAP_UERadioCapabilityIDMappingRequest.h"
#include "NGAP_UERadioCapabilityIDMappingResponse.h"
#include "NGAP_WriteReplaceWarningRequest.h"
#include "NGAP_WriteReplaceWarningResponse.h"
#include "NGAP_NGRemovalRequest.h"
#include "NGAP_NGRemovalResponse.h"
#include "NGAP_NGRemovalFailure.h"
#include "NGAP_InventoryRequest.h"
#include "NGAP_InventoryResponse.h"
#include "NGAP_InventoryFailure.h"
#include "NGAP_CommandRequest.h"
#include "NGAP_CommandResponse.h"
#include "NGAP_CommandFailure.h"
#include "NGAP_AIOTSessionReleaseCommand.h"
#include "NGAP_AIOTSessionReleaseComplete.h"
#include "NGAP_AMFCPRelocationIndication.h"
#include "NGAP_AMFStatusIndication.h"
#include "NGAP_BroadcastSessionReleaseRequired.h"
#include "NGAP_CellTrafficTrace.h"
#include "NGAP_ConnectionEstablishmentIndication.h"
#include "NGAP_DeactivateTrace.h"
#include "NGAP_DownlinkNASTransport.h"
#include "NGAP_DownlinkNonUEAssociatedNRPPaTransport.h"
#include "NGAP_DownlinkRANConfigurationTransfer.h"
#include "NGAP_DownlinkRANEarlyStatusTransfer.h"
#include "NGAP_DownlinkRANStatusTransfer.h"
#include "NGAP_DownlinkRIMInformationTransfer.h"
#include "NGAP_DownlinkUEAssociatedNRPPaTransport.h"
#include "NGAP_ErrorIndication.h"
#include "NGAP_HandoverNotify.h"
#include "NGAP_HandoverSuccess.h"
#include "NGAP_InitialUEMessage.h"
#include "NGAP_LocationReport.h"
#include "NGAP_LocationReportingControl.h"
#include "NGAP_LocationReportingFailureIndication.h"
#include "NGAP_MulticastGroupPaging.h"
#include "NGAP_NASNonDeliveryIndication.h"
#include "NGAP_OverloadStart.h"
#include "NGAP_OverloadStop.h"
#include "NGAP_Paging.h"
#include "NGAP_PDUSessionResourceNotify.h"
#include "NGAP_PrivateMessage.h"
#include "NGAP_PWSFailureIndication.h"
#include "NGAP_PWSRestartIndication.h"
#include "NGAP_RANCPRelocationIndication.h"
#include "NGAP_RANPagingRequest.h"
#include "NGAP_RerouteNASRequest.h"
#include "NGAP_RetrieveUEInformation.h"
#include "NGAP_RRCInactiveTransitionReport.h"
#include "NGAP_SecondaryRATDataUsageReport.h"
#include "NGAP_TimingSynchronisationStatusReport.h"
#include "NGAP_TraceFailureIndication.h"
#include "NGAP_TraceStart.h"
#include "NGAP_UEContextReleaseRequest.h"
#include "NGAP_UEInformationTransfer.h"
#include "NGAP_UERadioCapabilityInfoIndication.h"
#include "NGAP_UETNLABindingReleaseRequest.h"
#include "NGAP_UplinkNASTransport.h"
#include "NGAP_UplinkNonUEAssociatedNRPPaTransport.h"
#include "NGAP_UplinkRANConfigurationTransfer.h"
#include "NGAP_UplinkRANEarlyStatusTransfer.h"
#include "NGAP_UplinkRANStatusTransfer.h"
#include "NGAP_UplinkRIMInformationTransfer.h"
#include "NGAP_UplinkUEAssociatedNRPPaTransport.h"
#include "NGAP_InventoryReport.h"
#include "NGAP_AIOTSessionReleaseRequest.h"
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum NGAP_SuccessfulOutcome__value_PR {
	NGAP_SuccessfulOutcome__value_PR_NOTHING,	/* No components present */
	NGAP_SuccessfulOutcome__value_PR_AMFConfigurationUpdateAcknowledge,
	NGAP_SuccessfulOutcome__value_PR_BroadcastSessionModificationResponse,
	NGAP_SuccessfulOutcome__value_PR_BroadcastSessionReleaseResponse,
	NGAP_SuccessfulOutcome__value_PR_BroadcastSessionSetupResponse,
	NGAP_SuccessfulOutcome__value_PR_BroadcastSessionTransportResponse,
	NGAP_SuccessfulOutcome__value_PR_DistributionSetupResponse,
	NGAP_SuccessfulOutcome__value_PR_DistributionReleaseResponse,
	NGAP_SuccessfulOutcome__value_PR_HandoverCancelAcknowledge,
	NGAP_SuccessfulOutcome__value_PR_HandoverCommand,
	NGAP_SuccessfulOutcome__value_PR_HandoverRequestAcknowledge,
	NGAP_SuccessfulOutcome__value_PR_InitialContextSetupResponse,
	NGAP_SuccessfulOutcome__value_PR_MTCommunicationHandlingResponse,
	NGAP_SuccessfulOutcome__value_PR_MulticastSessionActivationResponse,
	NGAP_SuccessfulOutcome__value_PR_MulticastSessionDeactivationResponse,
	NGAP_SuccessfulOutcome__value_PR_MulticastSessionUpdateResponse,
	NGAP_SuccessfulOutcome__value_PR_NGResetAcknowledge,
	NGAP_SuccessfulOutcome__value_PR_NGSetupResponse,
	NGAP_SuccessfulOutcome__value_PR_PathSwitchRequestAcknowledge,
	NGAP_SuccessfulOutcome__value_PR_PDUSessionResourceModifyResponse,
	NGAP_SuccessfulOutcome__value_PR_PDUSessionResourceModifyConfirm,
	NGAP_SuccessfulOutcome__value_PR_PDUSessionResourceReleaseResponse,
	NGAP_SuccessfulOutcome__value_PR_PDUSessionResourceSetupResponse,
	NGAP_SuccessfulOutcome__value_PR_PWSCancelResponse,
	NGAP_SuccessfulOutcome__value_PR_RANConfigurationUpdateAcknowledge,
	NGAP_SuccessfulOutcome__value_PR_TimingSynchronisationStatusResponse,
	NGAP_SuccessfulOutcome__value_PR_UEContextModificationResponse,
	NGAP_SuccessfulOutcome__value_PR_UEContextReleaseComplete,
	NGAP_SuccessfulOutcome__value_PR_UEContextResumeResponse,
	NGAP_SuccessfulOutcome__value_PR_UEContextSuspendResponse,
	NGAP_SuccessfulOutcome__value_PR_UERadioCapabilityCheckResponse,
	NGAP_SuccessfulOutcome__value_PR_UERadioCapabilityIDMappingResponse,
	NGAP_SuccessfulOutcome__value_PR_WriteReplaceWarningResponse,
	NGAP_SuccessfulOutcome__value_PR_NGRemovalResponse,
	NGAP_SuccessfulOutcome__value_PR_InventoryResponse,
	NGAP_SuccessfulOutcome__value_PR_CommandResponse,
	NGAP_SuccessfulOutcome__value_PR_AIOTSessionReleaseComplete
} NGAP_SuccessfulOutcome__value_PR;

/* Forward declarations */
struct NGAP_AMFConfigurationUpdateAcknowledge;
struct NGAP_BroadcastSessionModificationResponse;
struct NGAP_BroadcastSessionReleaseResponse;
struct NGAP_BroadcastSessionSetupResponse;
struct NGAP_BroadcastSessionTransportResponse;
struct NGAP_DistributionSetupResponse;
struct NGAP_DistributionReleaseResponse;
struct NGAP_HandoverCancelAcknowledge;
struct NGAP_HandoverCommand;
struct NGAP_HandoverRequestAcknowledge;
struct NGAP_InitialContextSetupResponse;
struct NGAP_MTCommunicationHandlingResponse;
struct NGAP_MulticastSessionActivationResponse;
struct NGAP_MulticastSessionDeactivationResponse;
struct NGAP_MulticastSessionUpdateResponse;
struct NGAP_NGResetAcknowledge;
struct NGAP_NGSetupResponse;
struct NGAP_PathSwitchRequestAcknowledge;
struct NGAP_PDUSessionResourceModifyResponse;
struct NGAP_PDUSessionResourceModifyConfirm;
struct NGAP_PDUSessionResourceReleaseResponse;
struct NGAP_PDUSessionResourceSetupResponse;
struct NGAP_PWSCancelResponse;
struct NGAP_RANConfigurationUpdateAcknowledge;
struct NGAP_TimingSynchronisationStatusResponse;
struct NGAP_UEContextModificationResponse;
struct NGAP_UEContextReleaseComplete;
struct NGAP_UEContextResumeResponse;
struct NGAP_UEContextSuspendResponse;
struct NGAP_UERadioCapabilityCheckResponse;
struct NGAP_UERadioCapabilityIDMappingResponse;
struct NGAP_WriteReplaceWarningResponse;
struct NGAP_NGRemovalResponse;
struct NGAP_InventoryResponse;
struct NGAP_CommandResponse;
struct NGAP_AIOTSessionReleaseComplete;

/* Forward definitions */
typedef struct NGAP_SuccessfulOutcome__value {
	NGAP_SuccessfulOutcome__value_PR present;
	union NGAP_SuccessfulOutcome__NGAP_value_u {
		struct NGAP_AMFConfigurationUpdateAcknowledge	*AMFConfigurationUpdateAcknowledge;
		struct NGAP_BroadcastSessionModificationResponse	*BroadcastSessionModificationResponse;
		struct NGAP_BroadcastSessionReleaseResponse	*BroadcastSessionReleaseResponse;
		struct NGAP_BroadcastSessionSetupResponse	*BroadcastSessionSetupResponse;
		struct NGAP_BroadcastSessionTransportResponse	*BroadcastSessionTransportResponse;
		struct NGAP_DistributionSetupResponse	*DistributionSetupResponse;
		struct NGAP_DistributionReleaseResponse	*DistributionReleaseResponse;
		struct NGAP_HandoverCancelAcknowledge	*HandoverCancelAcknowledge;
		struct NGAP_HandoverCommand	*HandoverCommand;
		struct NGAP_HandoverRequestAcknowledge	*HandoverRequestAcknowledge;
		struct NGAP_InitialContextSetupResponse	*InitialContextSetupResponse;
		struct NGAP_MTCommunicationHandlingResponse	*MTCommunicationHandlingResponse;
		struct NGAP_MulticastSessionActivationResponse	*MulticastSessionActivationResponse;
		struct NGAP_MulticastSessionDeactivationResponse	*MulticastSessionDeactivationResponse;
		struct NGAP_MulticastSessionUpdateResponse	*MulticastSessionUpdateResponse;
		struct NGAP_NGResetAcknowledge	*NGResetAcknowledge;
		struct NGAP_NGSetupResponse	*NGSetupResponse;
		struct NGAP_PathSwitchRequestAcknowledge	*PathSwitchRequestAcknowledge;
		struct NGAP_PDUSessionResourceModifyResponse	*PDUSessionResourceModifyResponse;
		struct NGAP_PDUSessionResourceModifyConfirm	*PDUSessionResourceModifyConfirm;
		struct NGAP_PDUSessionResourceReleaseResponse	*PDUSessionResourceReleaseResponse;
		struct NGAP_PDUSessionResourceSetupResponse	*PDUSessionResourceSetupResponse;
		struct NGAP_PWSCancelResponse	*PWSCancelResponse;
		struct NGAP_RANConfigurationUpdateAcknowledge	*RANConfigurationUpdateAcknowledge;
		struct NGAP_TimingSynchronisationStatusResponse	*TimingSynchronisationStatusResponse;
		struct NGAP_UEContextModificationResponse	*UEContextModificationResponse;
		struct NGAP_UEContextReleaseComplete	*UEContextReleaseComplete;
		struct NGAP_UEContextResumeResponse	*UEContextResumeResponse;
		struct NGAP_UEContextSuspendResponse	*UEContextSuspendResponse;
		struct NGAP_UERadioCapabilityCheckResponse	*UERadioCapabilityCheckResponse;
		struct NGAP_UERadioCapabilityIDMappingResponse	*UERadioCapabilityIDMappingResponse;
		struct NGAP_WriteReplaceWarningResponse	*WriteReplaceWarningResponse;
		struct NGAP_NGRemovalResponse	*NGRemovalResponse;
		struct NGAP_InventoryResponse	*InventoryResponse;
		struct NGAP_CommandResponse	*CommandResponse;
		struct NGAP_AIOTSessionReleaseComplete	*AIOTSessionReleaseComplete;
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} NGAP_SuccessfulOutcome__value;

/* NGAP_SuccessfulOutcome */
typedef struct NGAP_SuccessfulOutcome {
	NGAP_ProcedureCode_t	 procedureCode;
	NGAP_Criticality_t	 criticality;
	NGAP_SuccessfulOutcome__value value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} NGAP_SuccessfulOutcome_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_NGAP_SuccessfulOutcome;
extern asn_SEQUENCE_specifics_t asn_SPC_NGAP_SuccessfulOutcome_specs_1;
extern asn_TYPE_member_t asn_MBR_NGAP_SuccessfulOutcome_1[3];

#ifdef __cplusplus
}
#endif

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