module NGAP_Types {

	import from NGAP_IEs language "ASN.1:2002" all;
	import from NGAP_PDU_Descriptions language "ASN.1:2002" all;

	external function enc_NGAP_PDU(in NGAP_PDU pdu) return octetstring;
	external function dec_NGAP_PDU(in octetstring stream) return NGAP_PDU;

	external function enc_NGAP_PDUSessionResourceSetupRequestTransfer(NGAP_IEs.PDUSessionResourceSetupRequestTransfer p) return octetstring;
	external function dec_NGAP_PDUSessionResourceSetupRequestTransfer(in octetstring pdu) return NGAP_IEs.PDUSessionResourceSetupRequestTransfer;

	external function enc_NGAP_PDUSessionResourceSetupResponseTransfer(NGAP_IEs.PDUSessionResourceSetupResponseTransfer p) return octetstring;
	external function dec_NGAP_PDUSessionResourceSetupResponseTransfer(in octetstring pdu) return NGAP_IEs.PDUSessionResourceSetupResponseTransfer;

	external function enc_NGAP_PDUSessionResourceModifyRequestTransfer(NGAP_IEs.PDUSessionResourceModifyRequestTransfer p) return octetstring;
	external function dec_NGAP_PDUSessionResourceModifyRequestTransfer(in octetstring pdu) return NGAP_IEs.PDUSessionResourceModifyRequestTransfer;

	external function enc_NGAP_PDUSessionResourceModifyResponseTransfer(NGAP_IEs.PDUSessionResourceModifyResponseTransfer p) return octetstring;
	external function dec_NGAP_PDUSessionResourceModifyResponseTransfer(in octetstring pdu) return NGAP_IEs.PDUSessionResourceModifyResponseTransfer;

	external function enc_NGAP_PDUSessionResourceModifyIndicationTransfer(NGAP_IEs.PDUSessionResourceModifyIndicationTransfer p) return octetstring;
	external function dec_NGAP_PDUSessionResourceModifyIndicationTransfer(in octetstring pdu) return NGAP_IEs.PDUSessionResourceModifyIndicationTransfer;

	external function enc_NGAP_UEContextSuspendRequestTransfer(NGAP_IEs.UEContextSuspendRequestTransfer p) return octetstring;
	external function dec_NGAP_UEContextSuspendRequestTransfer(in octetstring pdu) return NGAP_IEs.UEContextSuspendRequestTransfer;

	external function enc_NGAP_PathSwitchRequestTransfer(NGAP_IEs.PathSwitchRequestTransfer p) return octetstring;
	external function dec_NGAP_PathSwitchRequestTransfer(in octetstring pdu) return NGAP_IEs.PathSwitchRequestTransfer;

	external function enc_NGAP_HandoverRequiredTransfer(NGAP_IEs.HandoverRequiredTransfer p) return octetstring;
	external function dec_NGAP_HandoverRequiredTransfer(in octetstring pdu) return NGAP_IEs.HandoverRequiredTransfer;

	external function enc_NGAP_HandoverRequestAcknowledgeTransfer(NGAP_IEs.HandoverRequestAcknowledgeTransfer p) return octetstring;
	external function dec_NGAP_HandoverRequestAcknowledgeTransfer(in octetstring pdu) return NGAP_IEs.HandoverRequestAcknowledgeTransfer;

	external function enc_NGAP_SecondaryRATDataUsageReportTransfer(NGAP_IEs.SecondaryRATDataUsageReportTransfer p) return octetstring;
	external function dec_NGAP_SecondaryRATDataUsageReportTransfer(in octetstring pdu) return NGAP_IEs.SecondaryRATDataUsageReportTransfer;
}
